11/17/2007DSD,USIT,GGSIPU1 RTL Systems References: 1.Introduction to Digital System by Milos Ercegovac,Tomas Lang, Jaime H. Moreno; wiley publisher 2.Digital.

Slides:



Advertisements
Similar presentations
10/1/2014 Memory and I/O subsystem Reference: Introduction to Digital System by Ercegovac, Lang & Moreno, Wiley Publisher.
Advertisements

IAY 0600 Digitaalsüsteemide disain Register Transfer Level Design. FSM Synthesis. Alexander Sudnitson Tallinn University of Technology.
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Sequential Circuits Storage elements
Register Transfer Level
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
© 1998, Peter J. AshendenVHDL Quick Start1 Basic VHDL Concepts Interfaces Behavior Structure Test Benches Analysis, elaboration, simulation Synthesis.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Give qualifications of instructors: DAP
28/10/2007DSD,USIT,GGSIPU1 Latch & Register Inference.
EKT 221 : Digital 2 ASM.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Chapter 7. Register Transfer and Computer Operations
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
CSE 140 Lecture 15 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
Introduction to VHDL (part 2)
Verilog Digital System Design Z. Navabi, 2006
1 Part V: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
CoE3DJ4 Digital Systems Design Register transfers, sequencing and control (from chapters 7 and 8 of Mano and Kime)
Chapter 10 State Machine Design. 2 State Machine Definitions State Machine: A synchronous sequential circuit consisting of a sequential logic section.
Finite State Machines VHDL ET062G & ET063G Lecture 6 Najeem Lawal 2012.
George Mason University ECE 545 – Introduction to VHDL ECE 545 Lecture 5 Finite State Machines.
CprE / ComS 583 Reconfigurable Computing
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
ENG241 Digital Design Week #8 Registers and Counters.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
VHDL Discussion Sequential Sytems. Memory Elements. Registers. Counters IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Controllers ENGIN 341 – Advanced Digital Design University of Massachusetts Boston Department of Engineering Dr. Filip Cuckov.
Register Transfer Languages (RTL)
IAY 0600 Digital Systems Design Register Transfer Level Design (GCD example) Lab. 7 Alexander Sudnitson Tallinn University of Technology.
Introduction to Verilog
Slide 1 3.VHDL/Verilog Description Elements. Slide 2 To create a digital component, we start with…? The component’s interface signals Defined in MODULE.
Sept. 2005EE37E Adv. Digital Electronics Lesson 4 Synchronous Design Architectures: Control Unit Design (part three)
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.

STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
Sequential statements (1) process
Class Exercise 1B.
Registers and Counters
CSE 140 Lecture 14 System Designs
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Chap 7. Register Transfers and Datapaths
IAY 0600 Digital Systems Design
IAY 0600 Digital Systems Design
CSE 140 Lecture 15 System Designs
Computer Architecture and Design Lecture 6
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Computer Organization
CS 140 Lecture 16 Professor CK Cheng 11/21/02.
IAS 0600 Digital Systems Design
Figure 8.1. The general form of a sequential circuit.
Overview Last lecture Digital hardware systems Today
KU College of Engineering Elec 204: Digital Systems Design
Digital Logic Department of CNET Chapter-6
Digital Logic Department of CNET Chapter-6
The Verilog Hardware Description Language
RTL Design Methodology Transition from Pseudocode & Interface
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
(Sequential-Circuit Building Blocks)
Presentation transcript:

11/17/2007DSD,USIT,GGSIPU1 RTL Systems References: 1.Introduction to Digital System by Milos Ercegovac,Tomas Lang, Jaime H. Moreno; wiley publisher 2.Digital Design Principles & Practices by J.F.Wakerly, Pearson Education Press, 2007

11/17/2007DSD,USIT,GGSIPU2 Introduction 1. DATA SUBSYSTEM (datapath) AND CONTROL SUBSYSTEM 2. THE STATE OF DATA SUBSYSTEM: – CONTENTS OF A SET OF REGISTERS 3. THE FUNCTION OF THE SYSTEM PERFORMED AS A SEQUENCE OF REGISTER TRANSFERS (in one or more clock cycles) 4. A REGISTER TRANSFER: – A TRANSFORMATION PERFORMED ON A DATA WHILE THE DATA

11/17/2007DSD,USIT,GGSIPU3 Introduction(cont..) THE SEQUENCE OF REGISTER TRANSFERS CONTROLLED BY THE CONTROL SUBSYSTEM (a sequential system) TRANSFERRED FROM ONE REGISTER TO ANOTHER

11/17/2007DSD,USIT,GGSIPU4 Organization of Systems TWO FUNCTIONS: – DATA TRANSFORMATIONS : FUNCTIONAL UNITS (operators) - CONTROL OF DATA TRANSFORMATIONS AND THEIR SEQUENCING : CONTROL UNITS TYPES OF SYSTEMS WITH RESPECT TO FUNCTIONAL UNITS: NONSHARING SYSTEM SHARING SYSTEM UNIMODULE SYSTEM

11/17/2007DSD,USIT,GGSIPU5 CENTRALIZED CONTROL

11/17/2007DSD,USIT,GGSIPU6 DeCENTRALIZED CONTROL

11/17/2007DSD,USIT,GGSIPU7 SemiCENTRALIZED CONTROL

11/17/2007DSD,USIT,GGSIPU8 Structure of a RTL System

11/17/2007DSD,USIT,GGSIPU9 Analysis of a RTL System

11/17/2007DSD,USIT,GGSIPU10 Analysis of a RTL system (cont)

11/17/2007DSD,USIT,GGSIPU11 Design of Data Subsystem 1. Determine the operators (functional units) -Two operations can be assigned to the same functional unit if they form part of diff erent groups 2. Determine the registers required to store operands, results, and intermediate variables -Two variables can be assigned to the same register if they are active in disjoint time intervals

11/17/2007DSD,USIT,GGSIPU12 Design of Data Subsystem (cont) 3. Connect the components by datapaths (wires and multiplexers) as required by the transfers in the sequence 4. DETERMINE THE CONTROL SIGNALS AND CONDITIONS required by the sequence 5. DESCRIBE THE STRUCTURE OF THE DATA SECTION by a logic diagram, a net list, or a VHDL structural description

11/17/2007DSD,USIT,GGSIPU13 Data SubSystem i) STORAGE MODULES ii) FUNCTIONAL MODULES (operators) iii) DATAPATHS (switches and wires) iv) CONTROL POINTS v) CONDITION POINTS

11/17/2007DSD,USIT,GGSIPU14 Storage Modules INDIVIDUAL REGISTERS, with separate connections and controls; ARRAYS OF REGISTERS, sharing connections and controls; REGISTER FILE RANDOM-ACCESS MEMORY (RAM) COMBINATION OF INDIVIDUAL REGISTERS AND ARRAYS OF REGISTERS.

11/17/2007DSD,USIT,GGSIPU15 Register File

11/17/2007DSD,USIT,GGSIPU16 Entity Declaration of Register File ENTITY reg_file IS GENERIC(n: NATURAL:=16; -- word width p: NATURAL:= 8; -- register file size k: NATURAL:= 3); -- bits in address vector PORT (X : IN UNSIGNED(n-1 DOWNTO 0); -- input WA : IN UNSIGNED(k-1 DOWNTO 0); -- write address RAl : IN UNSIGNED(k-1 DOWNTO 0); -- read address (left) RAr : IN UNSIGNED(k-1 DOWNTO 0); -- read address (right) Zl,Zr: OUT UNSIGNED(n-1 DOWNTO 0); -- output (left,right) Wr : IN BIT; -- write control signal clk : IN BIT); -- clock END reg_file;

11/17/2007DSD,USIT,GGSIPU17 Behavioral Description of Register File ARCHITECTURE behavioral OF reg_file IS SUBTYPE WordT IS UNSIGNED(n-1 DOWNTO 0); TYPE StorageT IS ARRAY(0 TO p-1) OF WordT; SIGNAL RF: StorageT; -- reg. file contents BEGIN PROCESS (clk) -- state transition BEGIN IF (clk'EVENT AND clk = '1') AND (Wr = '1') THEN RF(CONV_INTEGER(WA)) <= X; -- write operation END IF; END PROCESS; PROCESS (RAl,RAr,RF) BEGIN -- output function Zl <= RF(CONV_INTEGER(RAl)); Zr <= RF(CONV_INTEGER(RAr)); END PROCESS; END behavioral;

11/17/2007DSD,USIT,GGSIPU18 Description of RAM Design

11/17/2007DSD,USIT,GGSIPU19 Entity Declaration of RAM ENTITY ram IS GENERIC(n: NATURAL:= 16; -- RAM word width p: NATURAL:=256; -- RAM size k: NATURAL:= 8); -- bits in address vector PORT (X : IN UNSIGNED(n-1 DOWNTO 0); -- input bit-vector A : IN UNSIGNED(k-1 DOWNTO 0); -- address bit-vector Z : OUT UNSIGNED(n-1 DOWNTO 0); -- output bit-vector Rd,Wr: IN BIT; -- control signals Clk : IN BIT); -- clock signal END ram;

11/17/2007DSD,USIT,GGSIPU20 RAM Description ARCHITECTURE behavioral OF ram IS SUBTYPE WordT IS UNSIGNED(n-1 DOWNTO 0); TYPE StorageT IS ARRAY(0 TO p-1) OF WordT; SIGNAL Memory: StorageT; -- RAM state BEGIN PROCESS (Clk) -- state transition BEGIN IF (Clk'EVENT AND Clk = '1') AND (Wr = '1') THEN Memory(CONV_INTEGER(A)) <= X; -- write operation END IF; END PROCESS; PROCESS (Rd,Memory) -- output function BEGIN IF (Rd = '1') THEN -- read operation Z <= Memory(CONV_INTEGER(A)); END IF; END PROCESS; END behavioral;

11/17/2007DSD,USIT,GGSIPU21 Functional Modules

11/17/2007DSD,USIT,GGSIPU22 Data Path WIDTH OF DATAPATH PARALLEL OR SERIAL UNIDIRECTIONAL OR BIDIRECTIONAL DEDICATED OR SHARED (bus) DIRECT OR INDIRECT

11/17/2007DSD,USIT,GGSIPU23 Figure 14.5: EXAMPLES OF DATAPATHS: a) unidirectional dedicated datapath (serial); b) bidirectional dedicated datapath (parallel); c) shared datapath (bus).

11/17/2007DSD,USIT,GGSIPU24 Generalized behavioral Description

11/17/2007DSD,USIT,GGSIPU25 Interface between Data and control sub system

11/17/2007DSD,USIT,GGSIPU26 Design of control sub system 1. DETERMINE THE REGISTER- TRANSFER SEQUENCE 2. ASSIGN ONE STATE TO EACH RT- group 3. DETERMINE STATE-TRANSITION AND OUTPUT FUNCTIONS 4. IMPLEMENT THE CORRESPONDING SEQUENTIAL SYSTEM

11/17/2007DSD,USIT,GGSIPU27 CONTROL SUBSYSTEM INPUTS: control inputs to the system and conditions from the data subsystem OUTPUTS: control signals ONE STATE PER STATEMENT IN REGISTER-TRANSFER SEQUENCE TRANSITION FUNCTION CORRESPONDS TO SEQUENCING OUTPUT FOR EACH STATE CORRESPONDS TO CONTROL SIGNALS

11/17/2007DSD,USIT,GGSIPU28 State Assignment UNCONDITIONAL: only one successor to a state CONDITIONAL: several possible successors, depending on the value of a condition

11/17/2007DSD,USIT,GGSIPU29 Moore vs Mealy FSM

11/17/2007DSD,USIT,GGSIPU30 Design of Multiplier (example)

11/17/2007DSD,USIT,GGSIPU31 Entity Declaration of Multiplier

11/17/2007DSD,USIT,GGSIPU32 Control system of Multiplier

11/17/2007DSD,USIT,GGSIPU33 Control Sub-system (description) ENTITY multctrl IS GENERIC(n: NATURAL := 16); -- number of bits PORT (start : IN BIT; -- control input ldX,ldY,ldZ: OUT BIT; -- control signals shY, clrZ : OUT BIT; -- control signals done : OUT BIT; -- control output clk : IN BIT); END multctrl;

11/17/2007DSD,USIT,GGSIPU34 Behavior Description ARCHITECTURE behavioral OF multctrl IS TYPE stateT IS (idle,setup,active); SIGNAL state : stateT:= idle; SIGNAL count : NATURAL RANGE 0 TO n-1; BEGIN PROCESS (clk) -- transition function BEGIN IF (clk'EVENT AND clk = '1') THEN CASE state IS WHEN idle => IF (start = '1') THEN state <= setup; ELSE state <= idle; END IF; WHEN setup => state <= active; count <= 0; WHEN active => IF (count = (n-1)) THEN count <= 0; state <= idle ; ELSE count <= count+1; state <= active; END IF; END CASE; END IF; END PROCESS;

11/17/2007DSD,USIT,GGSIPU35 Behavioral description (cont..) PROCESS (state,count) -- output function VARIABLE controls: BitVector(5 DOWNTO 0); -- code = (ldX,ldY,ldZ,shY,clrZ) BEGIN CASE state IS WHEN idle => controls := "100000"; WHEN setup => controls := "011001"; WHEN active => controls := "000110"; END CASE; done <= controls(5); ldX <= controls(4); ldY <= controls(3); ldZ <= controls(2); shY <= controls(1); clrZ<= controls(0); END PROCESS; END behavioral;