Professional Documents
Culture Documents
Data Path
1 a0 * b0 ҧ p0 - 1 a0 * b0 ҧ p0 0 + p0 ҧ z0
2 a1 * b1 ҧ p1 p0 + p1 ҧ z1 2 a1 * b1 ҧ p1 z0 + p1 ҧ z1
3 a2 * b2 ҧ p2 z1 + p2 ҧ z2 3 a2 * b2 ҧ p2 z1 + p2 ҧ z2
4 a3 * b3 ҧ p3 z2 + p3 ҧ z3 4 a3 * b3 ҧ p3 z2 + p3 ҧ z3
5 a4 * b4 ҧ p4 z3 + p4 ҧ z4 5 a4 * b4 ҧ p4 z3 + p4 ҧ z4
6 a5 * b5 ҧ p5 z4 + p5 ҧ z5 6 a5 * b5 ҧ p5 z4 + p5 ҧ z5
7 a6 * b6 ҧ p6 z5 + p6 ҧ z6 7 a6 * b6 ҧ p6 z5 + p6 ҧ z6
8 a7 * b7 ҧ p7 z6 + p7 ҧ z 8 a7 * b7 ҧ p7 z6 + p7 ҧ z
1 a0 * b0 ҧ p0 0 + p0 ҧ z0 3 z2
2 a1 * b1 ҧ p1 z0 + p1 ҧ z1 4 z3
5 z4
• However, the schedule does assume that a multiply-accumulate can 6 z5
be done in one clock cycle
7 z6
8 z
1 a0 * b0 ҧ p0 0 + p0 ҧ z
2 a1 * b1 ҧ p1 z + p1 ҧ z
3 a2 * b2 ҧ p2 z + p2 ҧ z
mult1
4 a3 * b3 ҧ p3 z + p3 ҧ z add1
z
5 a4 * b4 ҧ p4 z + p4 ҧ z
6 a5 * b5 ҧ p5 z + p5 ҧ z
7 a6 * b6 ҧ p6 z + p6 ҧ z
8 a7 * b7 ҧ p7 z + p7 ҧ z
Cycle
1
* * * * * *
p0 • 1 adder
p1 p2
+
2 + • 3 multipliers
s0
3
* *
s1
4 +
+
s2
5 +
+
output
output
Cycle Cycle
1
* * mpy2 1
* *
R1 R2
mpy1 • 1 adder
2 + * • 2 multipliers 2 + *
R3 R4 R5
3
* 3
*
R6 R7 R8
4 + add1
4 +
R9 R10
5 +
5 +
output R11
output
Cycle
delay(0) R3 coeffb(0) coeffa(1) delay(0) coeffa(0) coeffa(1) delay(1) R1 R6 R9 input R7 R10
1
* * mux1 mux2 mux3 mux4 mux5 mux6
R1 R2
• 5 Registers
2 + * mpy1 mpy2 add1
R3 R4 R5
R3/R9/
3
* R1/R6 R2/R5
R11
R6 R7 R8
R4/R8
4 +
R9 R10
R7/R10
5 +
R11
output
ELEC3017 - RTL 31