Prime time 写SDF文件,没有removal check
时间:10-02
整理:3721RD
点击:
大家 好,后端在做完PR后提供 了SPEF文件,现在我想用PT通过spef生成sdf,但在生成 的sdf文件 中发现没有removal check,specify block中的removal check path,在写出的SDF中该path成了hold check,详情如下,
specify block:
- $width(negedge CKN,1.0,0); $width(posedge CKN,1.0,0); // hold D-HL CKN-HL $hold(negedge CKN &&& (ENABLE_SDN === 1'b1),
- negedge D &&& (ENABLE_SDN === 1'b1),1.0); // hold D-LH CKN-HL $hold(negedge CKN &&& (ENABLE_SDN === 1'b1),
- posedge D &&& (ENABLE_SDN === 1'b1),1.0); // setup D-HL CKN-HL $setup(negedge D &&& (ENABLE_SDN === 1'b1),
- negedge CKN &&& (ENABLE_SDN === 1'b1),1.0); // setup D-LH CKN-HL $setup(posedge D &&& (ENABLE_SDN === 1'b1),
- negedge CKN &&& (ENABLE_SDN === 1'b1),1.0); // recovery SDN-LH CKN-HL $recovery(posedge SDN,negedge CKN,1.0); // removal SDN-LH CKN-HL $removal(posedge SDN,negedge CKN,1.0); $width(negedge SDN,1.0,0);
sdf written out by PT:
- (TIMINGCHECK (WIDTH (negedge CKN) (0.301::0.301)) (WIDTH (posedge CKN) (0.222::0.222)) (HOLD (posedge SDN) (negedge CKN) (0.099::0.100)) (RECOVERY (posedge SDN) (negedge CKN) (0.002::0.002)) (WIDTH (negedge SDN) (0.143::0.143)) (SETUP (posedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (0.355::0.355)) (SETUP (negedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (0.349::0.362)) (HOLD (posedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (-0.175::-0.175)) (HOLD (negedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (-0.276::-0.264)) ))
更新下,刚发的太乱了:
- $width(negedge CKN,1.0,0);
- $width(posedge CKN,1.0,0);
- // hold D-HL CKN-HL
- $hold(negedge CKN &&& (ENABLE_SDN === 1'b1),
- negedge D &&& (ENABLE_SDN === 1'b1),1.0);
- // hold D-LH CKN-HL
- $hold(negedge CKN &&& (ENABLE_SDN === 1'b1),
- posedge D &&& (ENABLE_SDN === 1'b1),1.0);
- // setup D-HL CKN-HL
- $setup(negedge D &&& (ENABLE_SDN === 1'b1),
- negedge CKN &&& (ENABLE_SDN === 1'b1),1.0);
- // setup D-LH CKN-HL
- $setup(posedge D &&& (ENABLE_SDN === 1'b1),
- negedge CKN &&& (ENABLE_SDN === 1'b1),1.0);
- // recovery SDN-LH CKN-HL
- $recovery(posedge SDN,negedge CKN,1.0);
- // removal SDN-LH CKN-HL
- $removal(posedge SDN,negedge CKN,1.0);
- $width(negedge SDN,1.0,0);
- (TIMINGCHECK
- (WIDTH (negedge CKN) (0.301::0.301))
- (WIDTH (posedge CKN) (0.222::0.222))
- (HOLD (posedge SDN) (negedge CKN) (0.099::0.100))
- (RECOVERY (posedge SDN) (negedge CKN) (0.002::0.002))
- (WIDTH (negedge SDN) (0.143::0.143))
- (SETUP (posedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (0.355::0.355))
- (SETUP (negedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (0.349::0.362))
- (HOLD (posedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (-0.175::-0.175))
- (HOLD (negedge D) (COND ENABLE_SDN===1'b1 (negedge CKN)) (-0.276::-0.264))
- )
出问题的就是specify block中的第25行与sdf timecheck的第4行
顶更健康………………
我也是发现了这个现象,感觉没什么问题啊?
试一下pt写出sdf3.0格式的sdf
顶,顶更健康………………