在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 216|回复: 2

[求助] tmax读spf,run_drc出错

[复制链接]
发表于 2025-7-23 16:56:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 buaarom 于 2025-7-23 16:56 编辑


项目在进行scan插入流程,需支持stuck-at和transition两种模式。梳理出错和尝试的过程如下:

1、dc综合生成的spf里有两个PatternExec(Internal_scan和Internal_scan_occ_bypass)。
2、修改端口时,patternexec分别用Internal_scan_occ_bypass 和Internal_scan修改spf文件。
     其中Internal_scan_occ_bypass(stuck-at模式)没问题,能一直跑通流程;
     但是patternexec用Internal_scan(transition模式)有问题,修改完端口后,跑tmax时(run_drc)会报错:
   
     报找不到occ相关的net:
    Error: Line 445(xxxx.spf), unresolved reference (No such net "xxx/clk_200m"). (V5-1)
    Error: Line 447(xxxx.spf), unresolved reference (No such net "xxx/clk_100m"). (V5-2)
    Error: Line 457(xxxx.spf), unresolved reference (No such net "DFTC__snps_clk_chain_0/clk_ctrl_data[2]"). (V5-3)
    Error: Line 463(xxxx.spf), unresolved reference (No such net "DFTC__snps_clk_chain_0/clk_ctrl_data[3]"). (V5-4)

3、为了解决找不到net这个错误,手动在这几个net的前面加上顶层。
  即 xx_dig_top/xxx/clko_200m


4、步骤3之后再跑tmaxrun_drc报新的错:(2个警告,和1类错误)

   Warning: Rule V7(unsupported construct) was violated 4 times。
    Warning:No reference clocks have been defined (M563)
    Error: Chain chain1 blocked at DFF gate xxxx after tracing 0 cells(S1-1)    (怀疑该错误是由前面warning引起的)




 楼主| 发表于 2025-7-23 16:56:01 | 显示全部楼层
5、一些尝试:
    这是occ相关的spf内容:
     UserKeywords ClockStructures;
     UserKeywords DontSimulate;
     ClockStructures {
           PLLStructures ”DFTC__snps_pll_controller“ {
                     PLLCycles 2;
                     Clocks {
                                "u_clk_gen/clko_200m" PLL {
                                       OffState 0;
                               }
                                "u_clk_gen/clko_100m" PLL {
                                       OffState 0;
                               }
                               DFTC__snps_pll_controller/DFTC_4_DFTC_2/Z" Internal {
                                       OffState 0;
                                       PLLSource "u_clk_gen/clko_200m";
                                       Cycle 0 "DFTC__snps_clk_chain_0/clk_ctrl_data[2]" 1;
                                       Cycle 1 "DFTC__snps_clk_chain_0/clk_ctrl_data[3]" 1;
                               }
                               DFTC__snps_pll_controller/DFTC_2_DFTC_2/Z" Internal {
                                       OffState 0;
                                       PLLSource "u_clk_gen/clko_100m";
                                       Cycle 0 "DFTC__snps_clk_chain_0/clk_ctrl_data[0]" 1;
                                       Cycle 1 "DFTC__snps_clk_chain_0/clk_ctrl_data[1]" 1;
                               }
     
      尝试:将其注释掉,则步骤4的第二个warning没有了,但Rule V7和Error还是存在。
                 说明参考时钟没定义是和这个有关,但不知道该怎么处理?
                 也说明Rule V7的不支持结构不是这里造成的
      另外,我在这些信号前面手动增加层次后(改后能够识别)但会不会影响后面的run_drc?
      步骤4的Warning中Rule V7报的不支持结构,不知道怎么定位到具体的位置?           

       请教下有什么debug方向吗?谢谢

回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-27 17:35:52 | 显示全部楼层
run_drc 报S1的错误有进展:
阅读DFTC user guide发现dftc阶段,缺了一句“ set_dft_signal -view existing_dft -type Oscillator -port scan_clk_i ”

加上上面那句之后,能推出大部分的chain。但还是有报S1(在链的接近末端)。
追其源头,是因为scan_pll_rstn此时为高,导致的dff的输出Q有x态,而这个dff的输出是slow_clk_en(此时应该为0切到fast_clk的,但是是x态,导致后面的时钟为x态)

此外, No reference clocks have been defined (M563)的警告已不在。新增了另一个警告:
Unconstrained reference clock scan_clk_i is now constrained to its off state (M559)
这该怎么分析呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-17 06:13 , Processed in 0.011140 second(s), 3 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表