|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 fimwest 于 2019-3-16 20:49 编辑
write sdf的时候-include {SETUPHOLD RECREM}了,后仿时报waining:Unable to annotate to non-existent timing check(RECREM (posedge CDN) (COND D_SDFCHK (posedge CP)......,查找库里对应的单元发现有如下的定义。请问有大虾知道在后仿时是否要define NTC和RECREM这两个参数吗? NTC是negtive timing check还是no timing check?
- `ifdef TETRAMAX
- `else
- specify
- if (CP == 1'b1 && D == 1'b1)
- (negedge CDN => (Q+:1'b0)) = (0, 0);
- if (CP == 1'b1 && D == 1'b0)
- (negedge CDN => (Q+:1'b0)) = (0, 0);
- if (CP == 1'b0 && D == 1'b1)
- (negedge CDN => (Q+:1'b0)) = (0, 0);
- if (CP == 1'b0 && D == 1'b0)
- (negedge CDN => (Q+:1'b0)) = (0, 0);
- ifnone (negedge CDN => (Q+:1'b0)) = (0, 0);
- (posedge CP => (Q+)) = (0, 0);
- $width (negedge CDN, 0, 0, notifier);
- $width (posedge CP &&& CP_DEFCHK, 0, 0, notifier);
- $width (negedge CP &&& CP_DEFCHK, 0, 0, notifier);
- `ifdef NTC
- `ifdef RECREM
- $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
- $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
- $recrem (posedge CDN, posedge CP, 0,0, notifier, , , CDN_d, CP_d);
- `else
- $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
- $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
- $recovery (posedge CDN, posedge CP, 0, notifier);
- $hold (posedge CP, posedge CDN, 0, notifier);
- `endif
- `else
- $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
- $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
- $recovery (posedge CDN, posedge CP, 0, notifier);
- $hold (posedge CP, posedge CDN, 0, notifier);
- `endif
- endspecify
复制代码 |
|