14
EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

  • Upload
    zed

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012. Learning Outcome. By the end of this chapter, students are expected to understand the principle of RTL design. Chapter Content. Principle of RTL Design Example (Soda / Soft Drink Dispenser). RTL Design. - PowerPoint PPT Presentation

Citation preview

Page 1: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

EEE2243Digital System Design

Chapter 6: RTL Design

by Muhazam Mustapha, April 2012

Page 2: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Learning Outcome

• By the end of this chapter, students are expected to understand the principle of RTL design

Page 3: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Chapter Content

• Principle of RTL Design

• Example (Soda / Soft Drink Dispenser)

Page 4: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

RTL Design

Page 5: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

RTL Design• RTL stands for “Register Transfer Level”• RTL design is the level of digital system design

that involves the datapath components and the routing of the data (information) between the components with an addition of a CENTRALIZED controller

• In this chapter we will see the general steps that involves in RTL design

Page 6: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Steps

Page 7: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser Example

Page 8: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Examples from text book• The Vahid’s and Khalil’s text book provides

many examples for you to study• It is up to you read them as we won’t have

enough time to cover all examples• We will only discuss the soda dispenser

example from Vahid’s text book

Page 9: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser• Problem

Specification:• c: bit input, 1 when coin

deposited• a: 8-bit input having

value of deposited coin• s: 8-bit input having cost

of a soda• d: bit output, processor

sets to 1 when total value of deposited coins equals or exceeds cost of a soda

as

cd

Sodadispenserprocessor

25

1 025

1

1

500

0

0

0

tot: 25tot: 50

as

cd

Sodadispenserprocessor

Page 10: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser: Step 1• Capture High Level State Machine:• Declare local register tot

• Init state: Set d=0, tot=0

• Wait state: wait for coin–If see coin, go to Add state

• Add state: Update total value: tot = tot + a

–Remember, a is present coin’s value–Go back to Wait state

• In Wait state, if tot >= s, go to Disp(ense) state

• Disp state: Set d=1 (dispense soda)

–Return to Init state

Wait

Add

Disp

Init

d=0tot=0

c’*(tot<s)

d=1

c

tot=tot+a

Page 11: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser: Step 2• Create Datapath:• Need tot register

• Need 8-bit comparator to compare s and tot

• Need 8-bit adder to perform tot = tot + a

• Wire the components as needed for above

• Create control input/outputs, give them names

ldclr

tot

8-bit<

8-bitadder

8

8

88

s a

Datapath

tot_ld

tot_clr

tot_lt_s

Page 12: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser: Step 3• Connect Datapath to a Controller:• Controller’s inputs

– External input c (coin detected)– Input from datapath comparator’s

output, which we named tot_lt_s

• Controller’s outputs– External output d (dispense soda)– Outputs to datapath to load and

clear the tot register

tot_lt_s

tot_clr

tot_ld

Controller Datapath

s

c

d

a

8 8

Page 13: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser: Step 4• Derive the Controller’s FSM:• Same states and architectures as high-

level state machine

• But set/read datapath control signals for all datapath operations and conditions using the state and input values

Inputs::c,tot_lt_s (bit)Outputs:d,tot_ld,tot_clr (bit)

Wait

Disp

Init

d=0tot_clr=1

c’* tot_lt_s’

c’*tot_lt_s

d=1

c

tot_ld=1

c

d

tot_ld

tot_clr

tot_lt_s

Controller

Add ldclr

tpt

8-bit<

8-bitadder

8

8

88

s a

Datapath

tot_ldtot_clr

tot_lt_s

tot_lt_s

tot_clr

tot_ld

Contr

olle

r

Data

path

s

c

d

a8 8

Page 14: EEE2243 Digital System Design Chapter 6: RTL Design by Muhazam Mustapha, April 2012

Soda Dispenser:• Completing the design:• Implement the FSM as a state register and logic

d

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

1

1

1

1

0

0

0

0

0

0

n0

1

1

1

1

1

1

0

0

1

0

n1

0

0

0

0

1

0

1

1

0

0

0

1

0

1

0

1

0

1

0

0

c

0

0

1

1

0

0

1

1

0

0

s1

0

0

0

0

0

0

0

0

1

1

s0

0

0

0

0

1

1

1

1

0

1

tot_lt_s

tot_ld

tot_clr

Init

Wai

tAdd

Disp