Timing analysis of ADPCM
FMax : 68.58 MHz
Start signal: LEGUP_function_call_88
End signal: upzero_preheader_55_reg
if ( (cur_state == LEGUP_function_call_88) ) begin upzero_memory_controller_out_b = memory_controller_out_b; end
upzero upzero_inst ( . . . .memory_controller_out_b (upzero_memory_controller_out_b), );
/* %55 = add nsw i32 %51, %54*/
upzero_preheader_55 = (upzero_preheader_51 + upzero_preheader_54);
/* %54 = ashr i32 %53, 8*/
upzero_preheader_54 = ($signed(upzero_preheader_53) »> 32'd8);
/* %53 = mul nsw i32 %52, 255*/
upzero_preheader_53 = (upzero_preheader_52 * 32'd255);
/* %52 = load i32* %scevgep5.3, align 4, !tbaa !0*/
upzero_preheader_52 = memory_controller_out_b[31:0];
/* %51 = or i32 %50, 128*/
upzero_preheader_51 = (upzero_preheader_50 | 32'd128);
/* %50 = and i32 %49, -256*/
upzero_preheader_50 = (upzero_preheader_49 & -32'd256);
/* %49 = ashr i32 %48, 31*/
upzero_preheader_49 = ($signed(upzero_preheader_48) »> 32'd31);
/* %48 = mul nsw i32 %47, %dlt*/
upzero_preheader_48 = (upzero_preheader_47 * arg_dlt);
/* %47 = load i32* %scevgep.3, align 4, !tbaa !0*/
upzero_preheader_47 = memory_controller_out_a[31:0];
Corresponding C code:
in fuction upzero:
**if ((long) dlt * dlti[i] >= 0) wd2 = 128; else wd2 = -128; wd3 = (int) ((255L * bli[i]) >> 8L); /* leak factor of 255/256 */ bli[i] = wd2 + wd3;**
TOTAL | INCR | TYPE | LOCATION | ELEMENT | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | launch edge time | ||||||||||
2.652 | 2.652 | clock path | ||||||||||
0 | 0 | source latency | ||||||||||
0 | 0 | PIN_M1 | clk | |||||||||
0.979 | 0.979 | CELL | IOC_X0_Y18_N2 | clk | combout | |||||||
1.097 | 0.118 | IC | CLKCTRL_G3 | clk~clkctrl | inclk[0] | |||||||
1.097 | 0 | CELL | CLKCTRL_G3 | clk~clkctrl | outclk | |||||||
2.115 | 1.018 | IC | LCFF_X14_Y12_N25 | main_inst | cur_state.LEGUP_function_call_88 | clk | ||||||
2.652 | 0.537 | CELL | LCFF_X14_Y12_N25 | main:main_inst | cur_state.LEGUP_function_call_88 | |||||||
17.27 | 14.618 | data path | ||||||||||
2.902 | 0.25 | uTco | LCFF_X14_Y12_N25 | main:main_inst | cur_state.LEGUP_function_call_88 | |||||||
2.902 | 0 | CELL | LCFF_X14_Y12_N25 | main_inst | cur_state.LEGUP_function_call_88 | regout | ||||||
3.247 | 0.345 | IC | LCCOMB_X14_Y12_N10 | main_inst | legup_function_call~0 | dataa | ||||||
3.645 | 0.398 | CELL | LCCOMB_X14_Y12_N10 | main_inst | legup_function_call~0 | combout | ||||||
5.192 | 1.547 | IC | LCCOMB_X38_Y13_N18 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[2]~2 | datad |
5.342 | 0.15 | CELL | LCCOMB_X38_Y13_N18 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[2]~2 | combout |
5.595 | 0.253 | IC | LCCOMB_X38_Y13_N28 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[3]~3 | datad |
5.745 | 0.15 | CELL | LCCOMB_X38_Y13_N28 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[3]~3 | combout |
6.018 | 0.273 | IC | LCCOMB_X38_Y13_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[4]~6 | datad |
6.168 | 0.15 | CELL | LCCOMB_X38_Y13_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | cs2a[4]~6 | combout |
6.922 | 0.754 | IC | LCCOMB_X37_Y12_N16 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_5~0 | datab |
7.315 | 0.393 | CELL | LCCOMB_X37_Y12_N16 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_5~0 | cout |
7.315 | 0 | IC | LCCOMB_X37_Y12_N18 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_5~2 | cin |
7.725 | 0.41 | CELL | LCCOMB_X37_Y12_N18 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_5~2 | combout |
8.68 | 0.955 | IC | LCCOMB_X36_Y11_N20 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~10 | datab |
9.073 | 0.393 | CELL | LCCOMB_X36_Y11_N20 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~10 | cout |
9.073 | 0 | IC | LCCOMB_X36_Y11_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~12 | cin |
9.144 | 0.071 | CELL | LCCOMB_X36_Y11_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~12 | cout |
9.144 | 0 | IC | LCCOMB_X36_Y11_N24 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~14 | cin |
9.554 | 0.41 | CELL | LCCOMB_X36_Y11_N24 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_3~14 | combout |
10.237 | 0.683 | IC | LCCOMB_X37_Y11_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_1~22 | dataa |
10.651 | 0.414 | CELL | LCCOMB_X37_Y11_N22 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_1~22 | cout |
10.651 | 0 | IC | LCCOMB_X37_Y11_N24 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_1~24 | cin |
11.061 | 0.41 | CELL | LCCOMB_X37_Y11_N24 | main_inst | upzero_inst | Mult0 | auto_generated | mac_mult3 | auto_generated | mult1 | op_1~24 | combout |
11.502 | 0.441 | IC | LCCOMB_X38_Y11_N28 | main_inst | upzero_inst | Mult0 | auto_generated | op_1~25 | datab | |||
11.895 | 0.393 | CELL | LCCOMB_X38_Y11_N28 | main_inst | upzero_inst | Mult0 | auto_generated | op_1~25 | cout | |||
11.895 | 0 | IC | LCCOMB_X38_Y11_N30 | main_inst | upzero_inst | Mult0 | auto_generated | op_1~26 | cin | |||
12.305 | 0.41 | CELL | LCCOMB_X38_Y11_N30 | main_inst | upzero_inst | Mult0 | auto_generated | op_1~26 | combout | |||
14.123 | 1.818 | IC | LCCOMB_X16_Y9_N16 | main_inst | upzero_inst | Add19~2 | datab | |||||
14.516 | 0.393 | CELL | LCCOMB_X16_Y9_N16 | main_inst | upzero_inst | Add19~2 | cout | |||||
14.516 | 0 | IC | LCCOMB_X16_Y9_N18 | main_inst | upzero_inst | Add19~4 | cin | |||||
14.587 | 0.071 | CELL | LCCOMB_X16_Y9_N18 | main_inst | upzero_inst | Add19~4 | cout | |||||
14.587 | 0 | IC | LCCOMB_X16_Y9_N20 | main_inst | upzero_inst | Add19~6 | cin | |||||
14.658 | 0.071 | CELL | LCCOMB_X16_Y9_N20 | main_inst | upzero_inst | Add19~6 | cout | |||||
14.658 | 0 | IC | LCCOMB_X16_Y9_N22 | main_inst | upzero_inst | Add19~8 | cin | |||||
14.729 | 0.071 | CELL | LCCOMB_X16_Y9_N22 | main_inst | upzero_inst | Add19~8 | cout | |||||
14.729 | 0 | IC | LCCOMB_X16_Y9_N24 | main_inst | upzero_inst | Add19~10 | cin | |||||
14.8 | 0.071 | CELL | LCCOMB_X16_Y9_N24 | main_inst | upzero_inst | Add19~10 | cout | |||||
14.8 | 0 | IC | LCCOMB_X16_Y9_N26 | main_inst | upzero_inst | Add19~12 | cin | |||||
14.871 | 0.071 | CELL | LCCOMB_X16_Y9_N26 | main_inst | upzero_inst | Add19~12 | cout | |||||
14.871 | 0 | IC | LCCOMB_X16_Y9_N28 | main_inst | upzero_inst | Add19~14 | cin | |||||
14.942 | 0.071 | CELL | LCCOMB_X16_Y9_N28 | main_inst | upzero_inst | Add19~14 | cout | |||||
14.942 | 0 | IC | LCCOMB_X16_Y9_N30 | main_inst | upzero_inst | Add19~16 | cin | |||||
15.088 | 0.146 | CELL | LCCOMB_X16_Y9_N30 | main_inst | upzero_inst | Add19~16 | cout | |||||
15.088 | 0 | IC | LCCOMB_X16_Y8_N0 | main_inst | upzero_inst | Add19~18 | cin | |||||
15.159 | 0.071 | CELL | LCCOMB_X16_Y8_N0 | main_inst | upzero_inst | Add19~18 | cout | |||||
15.159 | 0 | IC | LCCOMB_X16_Y8_N2 | main_inst | upzero_inst | Add19~20 | cin | |||||
15.23 | 0.071 | CELL | LCCOMB_X16_Y8_N2 | main_inst | upzero_inst | Add19~20 | cout | |||||
15.23 | 0 | IC | LCCOMB_X16_Y8_N4 | main_inst | upzero_inst | Add19~22 | cin | |||||
15.301 | 0.071 | CELL | LCCOMB_X16_Y8_N4 | main_inst | upzero_inst | Add19~22 | cout | |||||
15.301 | 0 | IC | LCCOMB_X16_Y8_N6 | main_inst | upzero_inst | Add19~24 | cin | |||||
15.372 | 0.071 | CELL | LCCOMB_X16_Y8_N6 | main_inst | upzero_inst | Add19~24 | cout | |||||
15.372 | 0 | IC | LCCOMB_X16_Y8_N8 | main_inst | upzero_inst | Add19~26 | cin | |||||
15.443 | 0.071 | CELL | LCCOMB_X16_Y8_N8 | main_inst | upzero_inst | Add19~26 | cout | |||||
15.443 | 0 | IC | LCCOMB_X16_Y8_N10 | main_inst | upzero_inst | Add19~28 | cin | |||||
15.514 | 0.071 | CELL | LCCOMB_X16_Y8_N10 | main_inst | upzero_inst | Add19~28 | cout | |||||
15.514 | 0 | IC | LCCOMB_X16_Y8_N12 | main_inst | upzero_inst | Add19~30 | cin | |||||
15.585 | 0.071 | CELL | LCCOMB_X16_Y8_N12 | main_inst | upzero_inst | Add19~30 | cout | |||||
15.585 | 0 | IC | LCCOMB_X16_Y8_N14 | main_inst | upzero_inst | Add19~32 | cin | |||||
15.744 | 0.159 | CELL | LCCOMB_X16_Y8_N14 | main_inst | upzero_inst | Add19~32 | cout | |||||
15.744 | 0 | IC | LCCOMB_X16_Y8_N16 | main_inst | upzero_inst | Add19~34 | cin | |||||
16.154 | 0.41 | CELL | LCCOMB_X16_Y8_N16 | main_inst | upzero_inst | Add19~34 | combout | |||||
16.904 | 0.75 | IC | LCFF_X12_Y8_N3 | main_inst | upzero_inst | upzeropreheader_55_reg[24]|sdata | | 17.27 | 0.366 | CELL | LCFF_X12_Y8_N3 | main:main_inst|upzero:upzero_inst|upzeropreheader_55_reg[24] |