oscillator_cn1
Newbie level 5
Hi,All:
I'm doing synthesize using DC, it report me a violation , who has a summary below:
point fanout cap trans incr path
clock clk_osc 0.00 0.00
.... .... .... .... .... ....
u_sys/dct_rstn_d2_reg/Q 0.11 0.29 1.09r
.... .... .... .... .... ....
u_sys/U16/A0 (OAI2BIX8M) 0.11 0.0 1.09r
u_sys/U16/Y (OAI2BIX8M) 0.21 0.16 1.26f
u_sys/n14 (net) 1 0.08 0.00 1.26f
u_sys/U17/A (INVX32M) 0.21 0.00 1.26f
u_sys/U17/A (INVX32M) 510.92 281.46# 282.71r
u_sys/dct_rst_n_out (net) 1972 1053.81 0.00 282.71r
.... .... .... .... .... ....
u_dct_ahb_top/u_ahb_top/u0_arbiter/hgrant_m1_reg/RN (SDFFRX4M)
510.92 0.00# 282.72r
data arrival time 282.72
clock clk_osc (rise edge) 8.00 8.00
clock network delay (ideal) 0.80 8.80
clock uncertainty -0.47 8.33
u_dct_ahb_top/u_ahb_top/u0_arbiter/hgrant_m1_reg/CK (SDFFRX4M) 0.00 8.33
library recovery time -47.45 -39.12
data required time -39.12
-------------------------------------------------------------------------------------------
slack(VIOLATED) -321.83
And the RTL code about the signal "u_sys/dct_rst_n_out" is :
always @ (posedge dct_clk_out or negedge chip_rst_n)
begin
if (chip_rst_n == 1'b0)
begin
dct_rst_n_d1 <= 1'b0;
dct_rst_n_d2 <= 1'b0;
end
else
begin
dct_rst_n_d1 <= 1'b1;
dct_rst_n_d2 <= dct_rst_n_d1 ;
end
end
assign dct_rst_n_out = test_mode? chip_rst_n:dct_rst_n_d2;
I thought i have a lot of question about this violation
1. What is the "library recovery time " for?
2. RN is asynchronous reset signal of DFF cell, we need to know it's arrive time ,and analyse it?
3. How should i eliminate this violation?
My head is chaotic now, Does anybody can help me ?
Thanks in advance.
I'm doing synthesize using DC, it report me a violation , who has a summary below:
point fanout cap trans incr path
clock clk_osc 0.00 0.00
.... .... .... .... .... ....
u_sys/dct_rstn_d2_reg/Q 0.11 0.29 1.09r
.... .... .... .... .... ....
u_sys/U16/A0 (OAI2BIX8M) 0.11 0.0 1.09r
u_sys/U16/Y (OAI2BIX8M) 0.21 0.16 1.26f
u_sys/n14 (net) 1 0.08 0.00 1.26f
u_sys/U17/A (INVX32M) 0.21 0.00 1.26f
u_sys/U17/A (INVX32M) 510.92 281.46# 282.71r
u_sys/dct_rst_n_out (net) 1972 1053.81 0.00 282.71r
.... .... .... .... .... ....
u_dct_ahb_top/u_ahb_top/u0_arbiter/hgrant_m1_reg/RN (SDFFRX4M)
510.92 0.00# 282.72r
data arrival time 282.72
clock clk_osc (rise edge) 8.00 8.00
clock network delay (ideal) 0.80 8.80
clock uncertainty -0.47 8.33
u_dct_ahb_top/u_ahb_top/u0_arbiter/hgrant_m1_reg/CK (SDFFRX4M) 0.00 8.33
library recovery time -47.45 -39.12
data required time -39.12
-------------------------------------------------------------------------------------------
slack(VIOLATED) -321.83
And the RTL code about the signal "u_sys/dct_rst_n_out" is :
always @ (posedge dct_clk_out or negedge chip_rst_n)
begin
if (chip_rst_n == 1'b0)
begin
dct_rst_n_d1 <= 1'b0;
dct_rst_n_d2 <= 1'b0;
end
else
begin
dct_rst_n_d1 <= 1'b1;
dct_rst_n_d2 <= dct_rst_n_d1 ;
end
end
assign dct_rst_n_out = test_mode? chip_rst_n:dct_rst_n_d2;
I thought i have a lot of question about this violation
1. What is the "library recovery time " for?
2. RN is asynchronous reset signal of DFF cell, we need to know it's arrive time ,and analyse it?
3. How should i eliminate this violation?
My head is chaotic now, Does anybody can help me ?
Thanks in advance.