|  | 
 
 楼主|
发表于 2019-10-22 17:44:51
|
显示全部楼层 
| 
 报错的寄存器在.lib和verilog model,以及SDF中都是存在的
 (1) SDF中
 (CELL
 (CELLTYPE "DFQRXM4RA")
 (INSTANCE inst_Core.a1.S4_0.S_0.out_reg[0])
 (DELAY
 (ABSOLUTE
 (PORT RB (::0.0))
 (PORT CK (::0.0))
 (PORT D (::0.0))
 (IOPATH RB Q () (::87068))
 (IOPATH CK Q (::169104) (::204988))
 )
 )
 (TIMINGCHECK
 (REMOVAL (posedge RB) (posedge CK) (::96023))
 (RECOVERY (posedge RB) (posedge CK) (::-37630))
 (SETUPHOLD (negedge D) (COND adacond_RB (posedge CK)) (::56220) (::17686))
 (SETUPHOLD (posedge D) (COND adacond_RB (posedge CK)) (::100124) (::-43486))
 )
 )
 
 
 (2)Verilog model中
 specify
 (negedge RB => (Q+:1'b0)) = 0;
 (posedge CK => (Q+
  )) = 0; $setuphold (posedge CK &&& adacond_RB, posedge D &&& adacond_RB, 0, 0, notifier,,, delayed_CK, delayed_D);
 $setuphold (posedge CK &&& adacond_RB, negedge D &&& adacond_RB, 0, 0, notifier,,, delayed_CK, delayed_D);
 $recovery (posedge RB, posedge CK, 0, notifier);
 $hold (posedge CK, posedge RB, 0, notifier);
 $width (negedge RB, 0, 0, notifier);
 $width (posedge CK, 0, 0, notifier);
 $width (negedge CK, 0, 0, notifier);
 endspecify
 
 
 (3)lib中
 rise_constraint (constraint_template_3x3) {
 index_1 ("2, 20, 200");
 index_2 ("2, 20, 200");
 values ( \
 "-39.9499, -51.6369, -168.385", \
 "-49.1528, -60.9628, -176.849", \
 "31.9458, 19.5018, -105.14" \
 );
 }
 }
 timing () {
 related_pin : "CK";
 sdf_edges : both_edges;
 timing_type : removal_rising;
 rise_constraint (constraint_template_3x3) {
 index_1 ("2, 20, 200");
 index_2 ("2, 20, 200");
 values ( \
 "97.5979, 107.965, 213.6", \
 "101.4, 111.749, 217.04", \
 "159.54, 170.01, 275.754" \
 );
 }
 
 
 | 
 |