0% found this document useful (0 votes)
11 views17 pages

Register Transfer Level Overview in Digital Design

This document discusses register transfer level (RTL) design. RTL represents transfers between clocked system registers and is a modular way to design systems using blocks. It describes the flow of computation through registers and operations between them. Algorithmic state machines are an alternative way to represent state machines as a series of state boxes, decision boxes, and conditional boxes. Verilog can be used to represent RTL designs through conditional assignment statements and always blocks.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views17 pages

Register Transfer Level Overview in Digital Design

This document discusses register transfer level (RTL) design. RTL represents transfers between clocked system registers and is a modular way to design systems using blocks. It describes the flow of computation through registers and operations between them. Algorithmic state machines are an alternative way to represent state machines as a series of state boxes, decision boxes, and conditional boxes. Verilog can be used to represent RTL designs through conditional assignment statements and always blocks.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

CS 151

Digital Systems Design


Lecture 37

Register Transfer Level


Overvie
w
° System design must be modular
• Easier to represent designs with system-level blocks

° Register transfer level represents transfers between


clocked system registers
• Shifts, arithmetic, logic, etc.

° Algorithmic state machine


• Alternate approach to representing state machines

° Status signals from datapath used for control path


° Algorithmic state machine chart shows flow of
computation
System-level Design
° Difficult to represent a design with just one state
machine
° A series of control and data paths used to build
computer systems
° Helps simplify design and allow for design changes

Processor
Main Keyboard
Memory

Disk
Registers and Data Operations
° Activity and performance in computers defined on
register-to-register paths
° Digital system at register transfer level specified by
three components
• The set of registers in the system
• Operations to be performed on registers
• Control that is applied to registers and sequence of operations

Function
Representation of Register Transfer
Flow
° Arrow indicates transfer from one register to another
• R2 ← R1

° Conditional statements can help in selection


• If (T1 = 1) then R2 ← R1

° Clock signal is not generally included in register


transfer level statement
• Sequential behavior is implied

° Multiple choices also possible


• If (T1 = 1) then (R2 ← R1, R2 ← R2)

How could these statements be implemented in hardware?


Other representative RTL
operations
° Addition
• R1 ← R1 + R2

° Increment
• R3 ← R3 + 1

° Shift right
• R4 ← R4

° Clear
• R5 ← 0

° Transfer doesn't change value of data begin moved

How could these statements be implemented in hardware?


Algorithmic State Machines
(ASM)
° Flowchart specifies a sequence of procedural steps and
decision steps for a state machine
° Translates word description into a series of operations with
conditions for execution
° Allows for detailed description of control and datapath
Algorithmic State Machines – State
Box
° ASM describes operation of a
sequential circuit
° ASM contains three basic
elements
• State box
• Decision box
• Condition box

° State box indicates an FSM


state
• Box also indicates operation to be
performed

° Binary code and state name


also included
Decision Box
° Describes the impact of input on control system
° Contains two exit paths which indicate result of
condition
° More complicated conditions possible
° Implemented in hardware with a magnitude
comparator
Conditional
Box
° Indicates assignments following a decision box
° Generally indicates data transfer
ASM Block
° Paths exist between state boxes
° Each state box equivalent to one state
ASM Block

° Equivalent to State Diagram


Concept of the State
Machine
Example: Odd Parity Checker
Assert output whenever input bit stream has odd # of 1's

Reset Present State Input Next State Output


Even 0 Even 0
0 Even 1 Odd 0
Even
Odd 0 Odd 1
[0]
Odd 1 Even 1
1 1 Symbolic State Transition Table
Odd
[1] Present State Input Next State Output
0 0 0 0 0
0 1 1 0
1 0 1 1
State 1 1 0 1
Diagram
Encoded State Transition Table

° Note: Present state and output are the same value


° Moore machine
ASM for Odd Parity
Checker
Example: Odd Parity Checker
Assert output whenever input bit stream has odd # of 1's

Reset
Even 0
Even 0
[0] Out ← 0

1 1
0
Odd
[1] In = 1
0
1
State Odd
Diagram 1
Out ← 1 0

In = 1
1
Verilog Representation for
RTL
° Conditional assignment statements
• assign Y = S ? I1 : I0;

° Statement evaluation

always @ (I1 or I2 or S)
if (S) Y = I1;
else Y = I0;

Perform evaluation only when an input changes

always @(posedge clk)


q = d;

Verilog description of a flip flop


Typical Design
Flow
° It all starts with Verilog description
Summary

° Register transfer level provides a simple way to


describe designs
° A series of operations take place between registers
° Algorithmic state machine another way to represent a
state machine
° Direct correspondence between state diagram and
algorithmic state machine
° Possible to implement state machines in Verilog
• Also in VHDL

° Next time: programmable array logic

You might also like