|
发表于 2024-8-20 21:49:42
|
显示全部楼层
"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/verilog/DBH_1533IL11SJ_GE1P5V.v", 2954: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_VF1_REG
$hold( posedge CK:100000000, posedge SN:100000000, limit: 64 );
"/disk2/D23_wangyunfeng/Syn_Lib/DBH_STD_1533IL11SJ_GE1P5V_21Q2_V3.4.10/VERILOG/DBH_1533IL11SJ_GE1P5V.v", 2782: Timing violation in tb_Time_Top.Time_Top_inst.T1_G1_D3_RSTN_S1_REG
$hold( posedge CK:100000000, posedge RN:100000000, limit: 474 );
这里报的hold violation应该就是removal violation,建议打开标准元的Verilog文件看一下。
有的标准元库Verilog文件使用合并的$recrem,有的使用分开的$removal, $recovery,有的使用$setuphold或分开的$setup, $hold,通常Verilog model会有`ifdef RECREM,让用户选择那一种方式。
这里有另一个问题,复位同步有些DFF用的是RN复位类型的,有些是SN置位类型的,需要检查一下,看一下电路。通常复位同步电路不希望工具综合,而是直接在RTL里例化。
|
|