Chapter 5. Register Transfer Level (RTL) Design High Level State Machine (HLSM) Memory Chapters 5

Similar documents
Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Menu. word size # of words byte = 8 bits

Storage Elements & Sequential Circuits

Chapter 5 Internal Memory

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

Computer Organization. 8th Edition. Chapter 5 Internal Memory

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

The pin details are given below: V cc, GND = +5V and Ground A 11 -A 0 = address lines. Fig.2.19 Intel 2716 Read Only Memory

Semiconductor Memories: RAMs and ROMs

Computer Structure. Unit 2: Memory and programmable devices

MEMORY AND PROGRAMMABLE LOGIC

Model EXAM Question Bank

Memory and Programmable Logic

Read-only memory Implementing logic with ROM Programmable logic devices Implementing logic with PLDs Static hazards

Memory and Programmable Logic

ECSE-2610 Computer Components & Operations (COCO)

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

UNIT V (PROGRAMMABLE LOGIC DEVICES)

Memory and Programmable Logic

RTL Design (2) Memory Components (RAMs & ROMs)

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

Lecture 13: Memory and Programmable Logic

: : (91-44) (Office) (91-44) (Residence)

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

EECS150 - Digital Design Lecture 16 Memory 1

Introduction to Digital Logic Missouri S&T University CPE 2210 Hardware Implementations

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

CENG 4480 L09 Memory 3

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Design with Microprocessors

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Digital Design, Kyung Hee Univ. Chapter 7. Memory and Programmable Logic

TSEA22, DIGITALTEKNIK LECTURE 7

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422)

EECS150 - Digital Design Lecture 16 - Memory

CS 320 February 2, 2018 Ch 5 Memory

Altera FLEX 8000 Block Diagram

Least Common Multiple (LCM)

Memory classification:- Topics covered:- types,organization and working

Injntu.com Injntu.com Injntu.com R16

Computer Organization and Assembly Language (CS-506)

Introduction to SRAM. Jasur Hanbaba

Introduction read-only memory random access memory

System Unit. By: Khadeeja Farkash

Read and Write Cycles

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

(ii) Simplify and implement the following SOP function using NOR gates:

PROGRAMMABLE LOGIC DEVICES

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

Microcomputer Architecture and Programming

CSE 271 Introduction to Digital Systems Supplementary Reading Datapath and Control for Basic Algorithmic Statements

CSEE 3827: Fundamentals of Computer Systems. Storage

AMD actual programming and testing on a system board. We will take a simple design example and go through the various stages of this design process.

Presentation 4: Programmable Combinational Devices

Digital Design: An Embedded Systems Approach Using VHDL

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Chapter 7. Storage Components

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

Lecture-7 Characteristics of Memory: In the broad sense, a microcomputer memory system can be logically divided into three groups: 1) Processor

Design with Microprocessors

Concept of Memory. The memory of computer is broadly categories into two categories:

Module 5a: Introduction To Memory System (MAIN MEMORY)

II/IV B.Tech (Regular/Supplementary) DEGREE EXAMINATION. Answer ONE question from each unit.

Main Memory (RAM) Organisation

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Computing Layers

Computer Memory Basic Concepts. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Memories. Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu.

Address connections Data connections Selection connections

Memory. Outline. ECEN454 Digital Integrated Circuit Design. Memory Arrays. SRAM Architecture DRAM. Serial Access Memories ROM

Introduction to general architectures of 8 and 16 bit micro-processor and micro-controllers

ELCT 912: Advanced Embedded Systems

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

R07. Code No: V0423. II B. Tech II Semester, Supplementary Examinations, April

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

Register Transfer Level (RTL) Design

Lecture 13: SRAM. Slides courtesy of Deming Chen. Slides based on the initial set from David Harris. 4th Ed.

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Logical Design of Digital Systems

CMPT 250: Weeks (Nov 7 to Nov 19) 1. CENTRAL PROCESSING UNIT DESIGN (Continued) 2. CONTROLLER DESIGN FOR THE µmips MACHINE

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

P-2 Digital Design & Applications

Lecture 11 SRAM Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Final Exam Review. b) Using only algebra, prove or disprove the following:

Control and Datapath 8

Chapter 5. Internal Memory. Yonsei University

SECTION-A

10 2 ADDRESS DECODING:

Transcription:

Chapter 5 Register Transfer Level (RTL) Design High Level State Machine (HLSM) Memory Chapters 5

High Level Sequential Behavior FSM can be used to capture sequential behavior using bit inputs HLSM can be used to capture more complex logic involving multi-bit variables

Processors 'Processor' is a generic term for a circuit designed using RTL principles Programmable Processor A generic processor designed to run programs. Custom Processor Specialized design that implements specific functionality Processors can be designed using HLSM

HLSM HLSM extends FSMs with features that make it possible to capture more complex behaviors. Multi-bit data inputs and outputs assume unsigned unless specified Local Storage Arithmetic operations Add, Multiply, etc.

HLSM Conventions HSLMs will follow these conventions All inputs, outputs, and local storage are defined at the top of the HLSM diagram Registered values change on rising clock edges Transition bits are implicitly ANDed with rising clock edge Any output bit not explicitly assigned is 0 Any registered value not explicitly assigned holds its value

HLSM Conventions (continued) Bits are designated by surrounding them with single quotes, integers have no quotes '1' is a bit value, 1 is an integer := assigns a value to a variable, == compares two values. // defines a comment, just as in C or C++

HLSM Example Soda Dispenser Processor Inputs: c (bit), a (8 bits), s (8 bits) Outputs: d (bit) // '1' dispenses soda Local Storage: tot (8 bits c' * (tot < s) Init Wait Add c d :='0' tot :=0 tot := tot + a c' * (tot >= s) Dispsense d := '1'

HLSM Warnings Clocked storage items are not updated in the same clock cycle that their control signals are set. Must wait for rising clock edge Note: The register control bits set up in a state prepare the value on the register inputs to be captured on the next clock cycle!

8-bit Up/Down Counter Design an HLSM for an 8-bit up/down counter What are the inputs? What are the outputs? What is the local storage (if any)? Draw the HLSM

RTL Design Process Capture a HLSM Convert to a Circuit Create a datapath circuit Derive the controller's FSM Design controller circuit Connect the datapath to the controller

Treadmill Speed Controller Design a system to control the speed of the conveyor on a treadmill. Speed is a 4-bit value that is controlled by two buttons. Up button increases speed by one Down button decreases speed by one If both are pushed, no change in speed Speed must initialize to zero upon start up.

Treadmill HLSM Inputs: up (bit), down (bit) Outputs: speed (4 bit reg) Internal Storage: n/a UP Incr/ Speed := Speed + 1 UP DOWN UP DOWN UP' * DOWN Init/ Speed := 0 wait (UP DOWN) UP * DOWN' UP DOWN UP DOWN DOWN decr/ Speed := Speed - 1

Treadmill Datapath

Treadmill FSM State/RST LOAD ADD UP 1/011 UP DOWN UP DOWN UP' * DOWN 0/100 2/000 (UP DOWN) UP * DOWN' UP DOWN UP DOWN DOWN 3/010

Treadmill Circuit Finish designing the controller from the Treadmill FSM. Connect the controller circuit to the Treadmill Datapath

Types of memory Two major types of memory Volatile When power to the device is removed the contents in memory are lost Non-Volatile Contents in memory remain if power is removed

Volatile memory Usually made form Random Access Memory RAM Simple RAM First In First Out FIFO. Last In First Out LIFO. Dual-port RAM two independent parallel accesses to memory.

Volatile Memory RAM has further subdivisions Static RAM Write data at an address location and the memory doesn't change until the next write at same address. Dynamic RAM Same as Static RAM except memory refresh is required. Data in memory decays over a short time and must be refreshed (write the same value again).

Volatile Memory Static RAM symbol

Static RAM The output is usually a three-state output. Sometimes the Data in and Data out share the same I/O pins. CE controls the output and writing. To write The address and data must be set followed by the CE and R/W' signal set to false. To read The address and CE must be true.

Dynamic RAM Similar to Static RAM More controls for refresh Address is multiplexed between row and column Data in and Data out share the same pins. Cost and package size is a major advantage.

Non-Volatile Memory Read Only Memory Similar to SRAM but no data input or write signal. Programmable ROM Requires special programming devices. Erasable PROM Has a window to erase with UV light Electrically EPROM Can be programmed in circuit. Slow write speed.

Non-Volatile Memory ROM's can be used for implementing logic. Address in, data out. Looks like a huge truth table No logic optimizations Programmable Array Logic PAL Programmable Logic Array PLA Some have a register built-in.

Creating a larger memory Memory can be used to create larger memory. Increase the number of words Increase the number of bits per word

2Kx8 SRAM from 1K x 4 SRAMs

Mixed SRAM and ROM Parts of the address range can be ROM while other parts can be SRAM. Design a 4kx8 mixed ROM and SRAM memory. The least significant 1kx8 is ROM while the most significant 3kx8 is SRAM. Use 1kx8 ROM and SRAM devices and the minimum additional combinational logic.