Design at the Register Transfer Level

Slides:



Advertisements
Similar presentations
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Advertisements

Combinational Logic.
Register Transfer Level
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Table 7.1 Verilog Operators.
Give qualifications of instructors: DAP
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Asynchronous Sequential Logic
EKT 221 : Digital 2 ASM.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
The Map Method Boolean expressions may be simplified by algebraic means as discussed in Previous lecture However, this procedure of minimization is awkward.
Digital System Design by Verilog University of Maryland ENEE408C.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
Chapter 7. Register Transfer and Computer Operations
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Logic and Computer Design Fundamentals Registers and Counters
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
ELEN 468 Advanced Logic Design
FINITE STATE MACHINES (FSMs) Dr. Konstantinos Tatas.
EE544/AEEE561 – Advanced Digital Systems Design Dr. Konstantinos Tatas
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Digital Computer Design Fundamental
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
1 Chapter 5 Synchronous Sequential Logic 5-1 Sequential Circuits Every digital system is likely to have combinational circuits, most systems encountered.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
ECE 2372 Modern Digital System Design
CoE3DJ4 Digital Systems Design Register transfers, sequencing and control (from chapters 7 and 8 of Mano and Kime)
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Chap 5. Registers and Counters. Chap Definition of Register and Counter l a clocked sequential circuit o consist of a group of flip-flops & combinational.
Register Transfer Level & Design with ASM
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
George Mason University Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code ECE 448 Lecture 6.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
DLD Lecture 26 Finite State Machine Design Procedure.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Chap 5. Registers and Counters
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Processor Organization and Architecture Module III.
1 강의노트 09 Logic Design with ASM Charts: Based on Digital Systems Design Using VHDL, Chapter 5, by Charles H. Roth, Jr.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
Design at the Register Transfer Level Algorithmic State Machines 07.
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
Adapted from Krste Asanovic
Figure 8.1. The general form of a sequential circuit.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Chap 7. Register Transfers and Datapaths
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Table 8.1 Verilog 2001 HDL Operators
Chapter 5 Synchronous Sequential Logic 5-1 Sequential Circuits
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
The Verilog Hardware Description Language
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
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.
Chapter5: Synchronous Sequential Logic – Part 3
Presentation transcript:

Design at the Register Transfer Level Chapter 8

8-1 Introduction A digital system is a sequential logic system constructed with flip-flops and gates. To specify a large digital system with a state table is very difficult . Modular subsystems Registers, decoders, multiplexers, arithmetic elements and control logic. They are interconnected with datapaths and control signals.

8-2 Register Transfer Level (RTL) Notation A digital system is represented at the register transfer level (RTL) when it is specified by the following three components: The set of registers in the system. The operations that are performed on the data stored in the registers. The control that supervises the sequence of operations in the system.

The statement R2← R1 denotes a transfer of the contents of register R1 into register R2. A conditional statement governing a register transfer operation is symbolized with an if-then statement such as If (T1 =1)then (R2← R1) where T1 is a control signal generated in the control section.

Other example: R1← R1 + R2 Add contents of R2 to R1 R3← R3 + 1 Increment R3 by 1 R4← shr R4 Shift right R4 R5← 0 Clear R5 to 0

The type of operations most often encountered in digital system: Transfer operations, which transfer data from one register to anther. Arithmetic operations, which perform arithmetic on data in registers. Logic operations, which perform bit manipulation of nonnumeric data in registers. Shift operations, which shift data between registers.

8-3 Register Transfer Level in HDL Example (a) assign S = A + B; //continuous assignment for addition operation (b) always @ (A, B) //level-sensitive cyclic behavior S = A + B; //combinational logic for addition operation (c) always @ (negedge clock) //edge-sensitive cyclic behavior begin RA = RA + RB; //blocking procedural assignment for addition RD = RA; //register transfer operation end (d) always @ (negedge clock) //edge-sensitive cyclic behavior RA < =RA + RB; //nonblocking procedural assignment for addition RD < =RA; //register transfe operation

HDL operators

HDL operators

Example: If A =1010, B =0000,then A has the Boolean value 1, B has Boolean value 0. Results of other operation with these value: A && B =0 //logical AND A | | B =1 //logical OR ! A =0 //logical complement ! B =1 //logical complement (A > B)=1 //is greater than (A == B)=0 //identity (equality)

If A =0xx0, B =0xx0,then A ===B =1, Other example: The relational operators === and ! ==test for bitwise (identity) and inequality in Verilog' s four-valued logical system. Example: If A =0xx0, B =0xx0,then A ===B =1, but A == B would evaluate to x. Other example: If R =11010, then R = R >> 1, the value R is 01101. R = R >>> 1, the value R is 11101. If R =01101, then R = R >>> 1, the value R is 00110.

Loop Statement begin begin clock =1'b0; clock =1'b0; ■ repeat loop ■ forever loop initial initial begin begin clock =1'b0; clock =1'b0; repeat (16) forever #5 clock =~clock; #10 clock =~clock; end end ■ while loop ■ for loop integer count; for (j =0; j < 8; j = j + 1) initial begin begin //procedural statement go here count =0; end while (count < 64) #5 clock = count + 1; end

Logic Synthesis A statement with a conditional operator such as assign Y = S ? In_1 : In_0; translates into a two-to-one-line multiplexer with control input S and data input In_1 and In_0. A cyclic behavior (always ...)may imply a combinational or sequential circuit, depending on whether the event control expression is level sensitive or edge sensitive.

always @ (In_1 or In_0 or S) if (S) Y = In _ 1; else Y = In _ 0; translates into a two-to-one-line multiplexer. An edge-sensitive cyclic behavior (e.g., always @ (posedge clock)) specifies a synchronous (clocked) sequential circuit. Examples of such circuits are registers and counters.

FIGURE 8.1 A simplified flowchart for HDL-based modeling, verification, and synthesis

8.4Algorithmic State Machines (ASMs) The logic design of digital system can be divided into two distinct parts. One is concerned with the design of the digital circuits that perform the data-processing operations. The other is concerned with the design of the control circuits that determine the sequence in which t he various actions are performed.

FIGURE 8.2 Control and datapath interaction

The control logic that generates the singles for sequencing the operations in the data path unit is a finite state machine (FSM). The control sequence and datapath tasks of the digital system are specified by means of a hardware algorithm. It solved the problem with a given piece of equipment. A flowchart that has been developed specifically to define digital hardware algorithm is called an al gorithmic state machine (ASM) chart.

ASM Chart The ASM chart is composed of three basic elements: State box Decision box Conditional box They connected by directed edges indicating the sequential precedence and evolution of the states as the machine operates.

FIGURE 8.3 ASM chart state box FIGURE 8.4 ASM chart decision box

FIGURE 8.5 ASM chart conditional box

ASM block FIGURE 8.6 ASM block

Simplifications FIGURE 8.7 State diagram equivalent to the ASM chart of Fig. 8.6

Timing Considerations The timing for all register and flip-flop in digital system is controlled by a master-clock generator. FIGURE 8.8 Transition between states

ASMD Chart Contrasted between Algorithmic State Machine and Datapath (ASMD) charts & ASM charts. An ASMD chart are does not list register operations within a state box. The edges of an ASMD charts are annotated with register operations that are concurrent with the state transition indicated by the edge. An ASMD chart includes conditional boxes identifying the singles which control the register operation s that annotate the edges of the chart. An ASMD chart associates register operations with state transitions rather than with state.

Designed an ASMD chart have three-step: Form an ASM chart displaying only how the inputs to the controller determine its state transitions. Convert the ASM chart to an ASMD chart by annotating the edges of ASM chart to indicate to the concur rent register operations of the datapath unit. Modify the ASMD chart to identify the control singles that are generated by the controller and the ca use the indicated register operations in the datapath unit.

8.5 Design Example FIGURE 8.9 (a) Block diagram for design example

FIGURE 8.9 (b) ASMD chart for controller state transitions, asynchronous reset (c)ASMD chart for controller state transitions, synchronous reset (d)ASMD chart for a completely specified controller, asynchronous reset

FIGURE 8.10 Datapath and controller for design example

FIGURE 8.11 Register transfer-level description of design example

The D input of flip-flip G1 must be equal to 1 during present state S_1 when both inputs A2 and A3 are equal to 1. This condition is expressed with the D flip-flop input equation DG1 = S_1 A2 A3 Similarly, the next-state column of G0 has four 1' s, and the condition for setting this flip-flop is DG0 = Start S_idle + S_1 To derive the five output function, we can exploit the fact that state 10 is not used, which simplifies the equation for clr_A_F and enables us to obtain the following simplified set of output equations:

set_E = S_1 A2 clr_E = S_1 A2' set_F = S_2 clr_A_F = Start S_idle incr_A = S_1 The logic diagram showing the internal detail of the controller of Fig. 8.10 is drawn in Fig. 8.12.

FIGURE 8.12 logic diagram of the control unit for Fig. 8.10

8.6 HDL Description of Design Example Structural The lowest and most detailed level Specified in terms of physical components and their interconnection RTL Imply a certain hardware configuration Specified in terms of the registers, operations performed, and control that sequences the operations. Algorithmic-based behavioral The most abstract Most appropriate for simulating complex to verify design ideas and explore tradeoffs

The manual method of design developed A block diagram (Fig. 8.9(a)) shoeing the interface between the datapath and the controller. An ASMD chart for the system. (Fig. 8.9(d)) The logic equations for the inputs to the flip-flops of the controller. A circuit that implements the controller (Fig. 8.12). In contrast, an RTL model describes the state transitions of the controller and the operations of the datapath as a step towards automatically synthesizing the circuit that implements them.

RTL description

Testing the design description

FIGURE 8.13 Simulation results for design example

Structural Description HDL example 8.4 presents the structural description of the design example. It consists of a nested hierarchy of modules and gates describing: The top-level module, Design_example_STR The modules describing the controller and the datapath The modules describing the flip-flops and counters Gates implementing the logic of controller

The top-level module (see Fig. 8 The top-level module (see Fig. 8.10) encapsulates the entire design by: Instantiating the controller and the datapath modules Declaring the primary (external) input signals Declaring the output signals Declaring the control signals generated by the controller and connected to the datapath unit Declaring the status signals generated by the datapath unit and connected to the controller

8.7 Sequential Binary Multiplier Let us multiply the two binary numbers 10111 and 10011: 23 10111 multiplicand 19 10011 multiplier 10111 00000 437 110110101 product The product obtained from the multiplication of two binary numbers of n bits each can have up to 2n b its.

Register Configuration FIGURE 8.14 (a)Block diagram and (b) datapath of a binary multiplier

ASMD Chart FIGURE 8.15 ASMD for binary multiplier

8.8 Control Logic Design of digital system Register transfer in the datapath unit Control logic of the control unit FIGURE 8.16 Control specifications for binary multiplier

FIGURE 8.16 Control specifications for binary multiplier

Sequence Register and Decoder

FIGURE 8.17 Logic diagram of control for binary multiplier using a sequence register and decoder

FIGURE 8.17 Logic diagram of control for binary multiplier using a sequence register and decoder

Example From the next-state conditions in the state table, we find the next state G1 is equal to 1 when the present state is S_add and is equal to 0 when the present state is S_idle or S_shift. These conditions can be specified by the equation DG1 = T1 where DG1 is D input of flip-flop G1. Similarly, the D input of G0 is DG0 = T0 Start' + T2 Zero'

FIGURE 8.18 Logic diagram for one-host state controller

Example DG0 the input to flip-flop G0, is set to 1 if the machine is in state G0 and Start is not asserted, or if the machine is in state G2 and Zero is asserted. The conditions are specified by the input equation: DG0 = G0 Start` + G2 Zero Using this procedure for the other three flip-flops, we obtain the remaining input equations: DG1 = G0 Start + G2 Zero` DG2 = G1

8.9 HDL Design of Binary Multiplier

Testing the multiplier

FIGURE 8.19 Simulation waveforms for one-hot state controller

Behavioral description of a parallel multiplier

8.10 Design with Multiplexers Replacing the gates with multiplexers results in a regular pattern of three levels of components. The first level consist of multiplexers that determine the next state of the register. The second level contains a register that holds the present binary state. The three level has a decoder that asserts a unique output line for each control state.

FIGURE 8.20 Example of ASM chart with four control input

FIGURE 8.21 Control implementation with multiplexers

Design Example: Count the Number of Ones in a Register A system that is to count the number of 1`s in a word of data.

FIGURE 8.22 Block diagram and ASMD chart for count-of-ones circuit

FIGURE 8.23 Control implementation for count-ones circuit

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

HDL Example 8.8

FIGURE 8.24 Control implementation for count-ones circuit

8.11 Race-Free Design Potential problem: A physical feedback path exists between a datapath unit and control unit whose inputs include status signals fed back from the datapath unit. Blocked propagation assignments execute immediately, and behavioral models simulate with 0 propagation delays, effectively creating immediate changes in the outputs of combinational logic when its inputs change. The order in which a simulator executes multiple blocked assignments to the same variable at a given time step of the simulation is indeterminate.

FIGURE 8.24 Control implementation for count-ones circuit

8.12 Latch-Free Design A feedback-free continuous assignment will synthesize to combinational logic, and the input-output relationship of the logic is automatically sensitive to all of the inputs of the circuit. If a level-sensitive cyclic behavior is used to describe combinational logic, it is essential that the sensitivity list include every variable. If the list is incomplete, the logic described by the behavior will be synthesized with latches at the output logic.