ECE448_lecture7_FSMD
ECE448_lecture7_FSMD
Lecture 7
2
Introduction
• Resulting system
• Specified as sequence of data manipulation/transfer
among registers
• Realized by an FSMD (FSM with a datapath)
• The scheme sometimes referred to as RTL
(register-transfer level) design
• Interpretation:
• At the rising edge of the clock, the output of registers
rsrc1 rsrc2 . etc are available
• The output are passed to a combinational circuit that
performs f( )
• At the next rising edge of the clock, the result is stored
into rdest
• Data path:
• q register + decrementer
• Function as a counter
• FSM:
• “zero”/“one” states
• sw signal is settled at 0/1
• load q with “1…1” when a
transition is detected
• “wait0”/ “wait1” states:
• sw signal is in transition
• Decrementing q provides the
needed settling time
• signal is settled when q
reaches 0
• Explicit-data-path style
• Can manually craft data path to obtain optimized circuit
• FSM and data path interacts via command and status
signals
• Tedious to code
• ASMD chart
• In a default RT
operation, register
keeps its previous
value
• Default RT operation
not shown in chart
begin
• Basic algorithm
• Use two variables (t0, t1) to store two previous computed
results
• Update t0 and t1 in each iteration
• Start with 0 and iterate i times
• ASMD chart
• Default RT operation not
shown in chart
• Note that t1 ← t1 + t0 and
t0 ← t1 can be done in
parallel since t0 and t1 are
updated when exiting the
state
• Add a “done” state to
generate a one-clock status
signal