Professional Documents
Culture Documents
Timing optimization
Area optimization
Additional readings
August 7, 2014
Pter Horvth
1 / 20
Contents
Timing optimization
Area optimization
Additional readings
Contents
Contents
additional readings
Pter Horvth
2 / 20
Contents
Timing optimization
Area optimization
Additional readings
Timing optimization
Pter Horvth
3 / 20
Contents
Timing optimization
Area optimization
Additional readings
Pter Horvth
4 / 20
Contents
Timing optimization
Area optimization
Additional readings
5 / 20
Contents
Timing optimization
Area optimization
Additional readings
x1
x[31:0]
32
32
32
clk
start
x2
32
0
32
32
32
clk
32
pow1
32
clk
pow
32
32
pow[31:0]
32
clk
pow
32
pow[31:0]
6 / 20
Contents
Timing optimization
Area optimization
Additional readings
end process;
process (x1)
begin
x2 <= x1;
pow1 <= x1 * x1;
end process;
-- stage 2
x2 <= x1;
pow1 <= x1 * x1;
-- stage 3
pow <= pow1 * x2;
end if;
end process;
end architecture;
latency: 3 cycles
Pter Horvth
7 / 20
Contents
Timing optimization
Area optimization
Additional readings
x1
x[31:0]
32
32
32
32
32
clk
x2
32
32
clk
32
pow1
32
32
clk
pow
32
32
clk
pow[31:0]
pow
32
latency: 1 cycles
pow[31:0]
latency: 3 cycles
Pter Horvth
8 / 20
Contents
Timing optimization
Area optimization
Additional readings
9 / 20
Contents
Timing optimization
Area optimization
Additional readings
x[31:0]
32
A[31:0]
32
32
32
clk
B[31:0]
B[31:0]
32
32
clk
32
32
clk
x2
x1
x1
A[31:0]
clk
x2
C
32
32
C[31:0]
32
32
32
32
32
clk
32
prod3
32
clk
clk
prod2
32
prod1
32
32
32
clk
32
clk
y
32
y[31:0]
32
y[31:0]
10 / 20
Contents
Timing optimization
Area optimization
Additional readings
Pter Horvth
11 / 20
Contents
Timing optimization
Area optimization
Additional readings
in_b[31:0]
32
clk
reg_b
32
clk
clk
reg_ab_sum
reg_c
32
32
32
in_c[31:0]
32
reg_b
32
32
in_b[31:0]
32
clk
reg_a
32
in_a[31:0]
in_b[31:0]
32
32
clk
+
32
32
clk
clk
sum
sum
32
32
sum[31:0]
sum[31:0]
Pter Horvth
12 / 20
Contents
Timing optimization
Area optimization
Additional readings
Area optimization
Pter Horvth
13 / 20
Contents
Timing optimization
Area optimization
Additional readings
Area concepts
Area concepts
Pter Horvth
14 / 20
Contents
Timing optimization
Area optimization
Additional readings
in2
in3
in4
32
32
32
32
sel
reset
clk
32
plr2
zero
clk
reset
in4
32
32
1
FSM
ce
plr1
32
0
32
ce
in3
in2
32
+
32
reset
clk
in1
sel_input
zero ce_acc
clk
reset ss_z
32
ce
32
32
reset
clk
32
32
32
1
reset
clk
acc
ce
reset
clk
acc
32
zero
acc
32
acc
Pter Horvth
15 / 20
Contents
Timing optimization
Area optimization
Additional readings
end process;
end architecture;
Pter Horvth
16 / 20
Contents
Timing optimization
Area optimization
Additional readings
32
input[31:0]
input
0
32
32
output_a
clk
1
sel
ctrl
output_a[31:0]
32
32
output_a
clk
1
sel
ctrl
output_a
[0]
[0]
32
32
32
4
32
4
32
output_b
clk
1
sel
32
output_b[31:0]
output_b
clk
1
sel
output_b
[0]
[1]
[1]
32
32
32
32
0
32
output_c
clk
1
sel
0
32
output_c[31:0]
output_c
clk
1
sel
output_c
[0]
[1]
[2]
[2]
32
32
32
32
4
0
32
output_d
clk
1
sel
0
32
output_d[31:0]
output_d
clk
1
sel
[0]
[1]
[2]
[3]
output_d
[3]
17 / 20
Contents
Timing optimization
Area optimization
Additional readings
Pter Horvth
18 / 20
Contents
Timing optimization
Area optimization
Additional readings
19 / 20
Contents
Timing optimization
Area optimization
Additional readings
Additional readings
Additional readings
Pter Horvth
20 / 20