Professional Documents
Culture Documents
SYSTEM-ON-CHIP DESIGN
Module 3: Behavioral Synthesis
Lecture 3.16: Advanced Pipelining
Anand Raghunathan
raghunathan@purdue.edu
Fall 2014, ME 1052, T Th 12:00PM-1:15PM
ECE 695R: System-on-Chip Design, Fall 2014 © 2013 Anand Raghunathan 1
Pipelining
• Utilizing pipelined functional units
– Simple extension of scheduling – can initiate a new
operation on the FU before the previous one completes
Resource constraint:
1 adder, 1 multiplier
2-stage
pipelined
*1 multiplier *1
*2
+1
+1
*2
• Example:
Initiation rate =
2 cycles
Latency =
4 cycles
Resources:
2 MUL
2 ADD
• Initiation rate
= 1 cycle
Resources:
4 MUL
3 ADD
Stage 1
Stage 3
Scheduler
time
A1 Prologue -
B1 A2 fill the
C1 B2 A3 pipe
D1 C2 B3 A4
Loop body D2 C3 B4 A5 Kernel –
A
with 4 … steady
B
data- D C B A state
C
dependent
D
operations Dn-2 Cn-1 Bn Epilogue -
Dn-1 Cn drain the
Steady state: 4 iterations executed Dn pipe
simultaneously, 1 operation from each
iteration. An iteration starts
and finishes in each cycle.