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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1104|回复: 5

[求助] spf文件修改求助

[复制链接]
发表于 2023-12-19 18:15:15 | 显示全部楼层 |阅读模式
1000资产
Hi,各位大佬帮忙,我需要在spf文件里面增加一个初始化序列,需求:在rstb=0, gpio1=01010101010101010101, clkin=P的情况下产生TESTMODE, 目前我修改的spf文件如下:

       MacroDefs {
       "test_setup" {
       W "_default_WFT_";
       C {
              "rstb" = 0;
          }
       V {
                 "gpio1" = \r5 0101;
                 "clkin" = P;
          }
       V {
              "rstb" = 1;
          }
    }
}
在TMAX里面运行run_drc 报S1 error, 差错显示此初始化序列没有正确生成TESTMODE。
    请大佬指点如何修改spf文件。

最佳答案

查看完整内容

这样写不行的,给你提供一个思路: 首先修改netlist,用assign语句直接让TESTMODE=1,跑ATPG,这时候应该没有DRC问题; 然后修改spf中test_setup部分,记住是一个cycle,一个cycle的修改初始化过程,然后跑ATPG生成testbench; 最后仿真验证,通过波形来看初始化有没有成功,注意,跑仿真的时候netlist要用原始的,不能用修改后的。 ...
发表于 2023-12-19 18:15:16 | 显示全部楼层
这样写不行的,给你提供一个思路:
首先修改netlist,用assign语句直接让TESTMODE=1,跑ATPG,这时候应该没有DRC问题;
然后修改spf中test_setup部分,记住是一个cycle,一个cycle的修改初始化过程,然后跑ATPG生成testbench;
最后仿真验证,通过波形来看初始化有没有成功,注意,跑仿真的时候netlist要用原始的,不能用修改后的。
 楼主| 发表于 2023-12-20 10:39:47 | 显示全部楼层
感谢您的回复,目前已经能够生成spf文件,把spf的test_setup进行修改,gpio1一个cycle一个cycle的输入,如下:
MacroDefs {
       "test_setup" {
       W "_default_WFT_";
       C {
              "rstb" = 0;
              "clkin" = P;
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }
       V {
                 "gpio1" =  0;               
          }
       V {
                 "gpio1" =  1;               
          }

       V {
              "rstb" = 1;
          }
    }
}
最后rstb=1结束初始化序列,在跑ATPG生成testbench的时候还是有S1 ERROR,是我的spf修改有问题还是哪里出错了?
发表于 2023-12-20 11:50:30 | 显示全部楼层
这个要打开GUI trace,看你的TESTMODE有没有起来。
发表于 2023-12-21 10:52:57 | 显示全部楼层


greatao 发表于 2023-12-20 11:50
这个要打开GUI trace,看你的TESTMODE有没有起来。


搭车请教下, 如果是mbist_mode 信号,不用pad,也用内部reg控制。那么tessent 有类似的setup过程吗?大概是怎么写的?谢谢了
 楼主| 发表于 2023-12-21 11:22:40 | 显示全部楼层


greatao 发表于 2023-12-20 11:50
这个要打开GUI trace,看你的TESTMODE有没有起来。


感谢大佬的指点,思路是正确的,步骤有点区别,但总算是解决了。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-15 08:08 , Processed in 0.017488 second(s), 6 queries , Gzip On, Redis On.

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