fsm with datapath
TRANSCRIPT
FINITE STATE MACHINE with DATAPATH
SYNTHESIS
Dr. Le DungHanoi University of Science and Technology
Dr. Le Dung Hanoi University of Science and Technology
FSMD MODELData inputs
Controller Datapath
Data outputsController outputs
Status signals
Control signals
Controller inputs
Datapath performs the computations on data
Controller indicates to the datapath which operations have to be carried out on which data (algorithm)
Dr. Le Dung Hanoi University of Science and Technology
Datapath Design
Temporary storage: registers, (shift registers), counters, register files, FIFOs, LIFOs
Functional units: arithmetic units, logical units and (barrel shifter)
Connections: data busses, multiplexers, tri-state buffers
Shift register (temporary store) Register (temporary store) Barrel shifter (functional unit)
Dr. Le Dung Hanoi University of Science and Technology
Temporary storage
RegisterR
LLoad
Reset
Inputs
Output
C Clock CounterR
LLoad
Reset
Inputs
Output
U/DUp/Down C Clock
RegisterFiles
2n
RE
WE
Read Enable
Inputs
Output
C Clock
Write Enable
RA(n)
WA(n)
Read Address (n bits)
Write Address (n bits)
Dr. Le Dung Hanoi University of Science and Technology
Register Files
Dr. Le Dung Hanoi University of Science and Technology
Functional Units
• Arithmetic units : Adder, Subtractor, Multiplier, Divider
• Logical units : Comparator, AND, OR, XOR …
• Barrel shifter : a digital circuit that can shift a data word by a specified number of bits in one clock cycle.
Dr. Le Dung Hanoi University of Science and Technology
Eight-bit Barrel Shifter
8-bit Barrel shifter
Shift
Number (0-7)
8 bits input
8 bits output
Sh
Nr
Dr. Le Dung Hanoi University of Science and Technology
Generic structure of the Datapath
Temporary storage
External inputs
External outputs
Result switching network
Functional units
Operand switching network
Connections
Connections
Connections
Dr. Le Dung Hanoi University of Science and Technology
Connections in Datapath
OOE
ROE
Outputs
RegisterR
LC Counter
R
LU/D C
RegisterFiles
2n
RE
WE
C
RA(n)
WA(n)
MUX
ComparatorALU Nr
ShF Barrel shifter
Inputs
COE
AOE BOE
< = >
Data busses
Data busses
Tri-buffer
Tri-buffer
k0 k1
S
Dr. Le Dung Hanoi University of Science and Technology
Example 1: Datapath design (1)
Algorithm :
input sum;FOR i = 1 TO 5
input x; sum = sum + x;
ENDFORoutport sum;
Temporary storage:sum Registeri Up counter 5 Registerx Register
Functional units:+ Adder> 5 Comparator
• Each variable and constant corresponds to a register or counter• Each operator corresponds to a functional unit.
Dr. Le Dung Hanoi University of Science and Technology
Example 1: Datapath design (2)
input sum;FOR i = 1 TO 5
input x; sum = sum + x;
ENDFORoutport sum;
• Connect outputs of registers and counter to input of functional units• Connect output of functional units to input of registers and counter
RegisterxL C
Adder
RegistersumL C
Up Counteri
LC
Register= 5L
5
1
1 MUX
Input
Comparator<
Output
6
1
243
C(status)
k0 k1
S
U5
Dr. Le Dung Hanoi University of Science and Technology
Example 1: Controller designInput sum;FOR i = 1 TO 5
input x; sum = sum + x;
ENDFORoutport sum;
State A
1 = 0 k0
State B
1 2=0
State C
1 4=1
3
State D
1 2=1
State E
1 5=1
CState F
1 6=1
01
Start=1
Start=0
1
2
3
4
5
6
Start
C
Clk
Controller
One-hot FSM
D-FF design
Dr. Le Dung Hanoi University of Science and Technology
Example 2: FSMD Design
Dr. Le Dung Hanoi University of Science and Technology
ExerciseThiết kế Datapath cho FSMD thực hiện thuật toán đếm và tính tổng của các số lớn hơn 10 trong các số x đựơc đưa vào như sau:
cnt=0; sum=0;Repeat
input x if (x> 10) then
cnt=cnt + 1; sum=sum + x;end if;
until x =0;output sum; output cnt; Chú ý: 1. 0 ≤ x ≤255, 0≤ sum ≤255.
Các lệnh viết trên cùng 1 hàng được thực hiện song song. 2. Chỉ rõ các thanh ghi trong datapath là bao nhiêu bit.