|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在做后仿的时候,有几个问题不理解,想请教一下。在后仿时会加入时序文件sdf,但是PT写出的sdf文件格式为 (SETUP (posedge CENB) (posedge CLKB) (0.44583::0.44761)),如果使用反标语句 $sdf_annotate ("/home/sxt/convolution-pt/image_smici.typ.sdf", dut,,"sdf.log");会告诉默认采取的是typical的值。然后跑后仿的时候会报出很多违例如下:
/v/smic18.v", 20009: Timing violation in image_smici_test.dut.top_pll.IMAGE_inst_img_correct.count_line_reg_6_
$setuphold( posedge CK &&& (SandRandSE == 1'b1):17452.00 ns, negedge SI:17452.00 ns, limits: (1.00 ns,0.50 ns) );
这个时候报出违例的时候 limits: (1.00 ns,0.50 ns)的值是库文件的specify值,与sdf文件中查出的对应的寄存器的hold值(HOLD (negedge SI) (posedge CK) (0.26065::0.26065))不同。这种情况是不是表示sdf文件没有正确加在上去?
还有一个疑问,sdf文件中(xx:xx:xx)是不是指的slow typical fast三个情况下库文件的值?如果只载入一个库文件比如slow.db的时候写出的sdf文件中(xx::xx)是一样的? |
|