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

RTL Design & ASM in ENGIN112

This lecture discusses register transfer level (RTL) design. RTL represents a digital system using registers, operations between registers, and control signals. It introduces algorithmic state machines (ASM) as an alternate way to represent state machines using state boxes, decision boxes, and conditional boxes. Examples show how a simple odd parity checker can be represented as a state diagram or ASM. Verilog is presented as a hardware description language that can be used to describe RTL designs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views17 pages

RTL Design & ASM in ENGIN112

This lecture discusses register transfer level (RTL) design. RTL represents a digital system using registers, operations between registers, and control signals. It introduces algorithmic state machines (ASM) as an alternate way to represent state machines using state boxes, decision boxes, and conditional boxes. Examples show how a simple odd parity checker can be represented as a state diagram or ASM. Verilog is presented as a hardware description language that can be used to describe RTL designs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

ENGIN 112

Intro to Electrical and Computer Engineering


Lecture 37

Register Transfer Level

ENGIN112 L37: Register Transfer Level December 3, 2003


Overview

°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

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


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
ENGIN112 L37: Register Transfer Level December 3, 2003
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?

ENGIN112 L37: Register Transfer Level December 3, 2003


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?

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


Conditional Box
° Indicates assignments following a decision box
° Generally indicates data transfer

ENGIN112 L37: Register Transfer Level December 3, 2003


ASM Block
° Paths exist between state boxes
° Each state box equivalent to one state

ENGIN112 L37: Register Transfer Level December 3, 2003


ASM Block

° Equivalent to State Diagram

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


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
1
Diagram
Out ← 1 0

In = 1
1

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003


Typical Design Flow
° It all starts with Verilog description

ENGIN112 L37: Register Transfer Level December 3, 2003


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

ENGIN112 L37: Register Transfer Level December 3, 2003

You might also like