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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 935|回复: 6

[求助] 急救,如何对Tessent生成的BISR修复电路仿真

[复制链接]
发表于 2024-4-19 16:32:16 | 显示全部楼层 |阅读模式
50资产
各位大佬们,本人纯纯DFT小白,最近在尝试阅读Tessent生成的BISR部分的电路逻辑,包含mbist_interface中的col_redundancy_analysis那里,但是对于Tessent生成的TB文件一直不太会用。我的思路是在我的设计模块中注入两个错误(通过内存行为模型自带的fault_inject),然后对BISR的修复部分电路进行仿真查看波形。但是用vcs对MemoryBisr_BisrChainAccess.v MemoryBist_parallelRetentionTest_P1.v这两个TB仿真后发现修复部分信号一直都是0,想请问下大佬们如果我想要看修复这两个注入错误的话,应该是用什么TB进行仿真啊

 楼主| 发表于 2024-4-19 16:47:28 | 显示全部楼层
本帖最后由 GartLeo 于 2024-4-19 16:52 编辑

D:\2024\fault_inject.png
forum.jpg forum.jpg

在这里注入两个错误

在这里注入两个错误

想要查看的是mbist_interface里面的STATUS模块的这几个信号,但是如图,要不是0要不是X ...

想要查看的是mbist_interface里面的STATUS模块的这几个信号,但是如图,要不是0要不是X ...
 楼主| 发表于 2024-4-22 09:05:56 | 显示全部楼层
顶一下
 楼主| 发表于 2024-4-22 14:43:55 | 显示全部楼层
在Tessent手册里翻到了这段,应该是描述用于测试BISR和BIRA的pattern spec,带我再研究研究怎么用
PatternsSpecification(core,rtl,signoff) {
Patterns(MemoryBist_P1) {
IjtagRetargetingOptions {
tck_period : 100ns;
}
ClockPeriods {
clka : 9.00ns;
}
TestStep(ClearBisrChain) {
MemoryBisr {
run_mode : bisr_chain_access;
Controller(core) {
BisrChainAccessOptions {
default_write_value : all_zero;
}
}
}
}
TestStep(PreRepair) {
MemoryBist {
run_mode : run_time_prog;
Controller(core_rtl_tessent_mbist_c1_controller_inst) {
DiagnosisOptions {
compare_go : on;
}
RepairOptions {
check_repair_status : non_repairable;
}
}
}
}
TestStep(CaptureBiraRotate) {
MemoryBisr {
run_mode : bisr_chain_access;
Controller(core) {
BisrChainAccessOptions {
enable_rotation : On;
enable_bira_capture : On;
}
}
}
}
TestStep(PostRepair) {
MemoryBist {
run_mode : run_time_prog;
reduced_address_count : on;
Controller(core_rtl_tessent_mbist_c1_controller_inst) {
DiagnosisOptions {
compare_go : on;
compare_go_id : on;
}
}
}
}
}
}
 楼主| 发表于 2024-4-22 14:50:35 | 显示全部楼层
顶一下,有无大佬指点下
发表于 2024-4-23 17:05:20 | 显示全部楼层
你这个故障注入的.v里面,memory的层级关系呢,举个例子,TB.DUT_inst.Rf_memory.fault_inject(0,0,0);,你这样直接写工具应该是找不到这个memory的。另外,可能vcs的option设置可能有问题。还有就是,先注一个错吧,先跑通再加两个错(如果你的memory可以同时修复两个fault的话)
 楼主| 发表于 2024-4-23 22:01:33 | 显示全部楼层


liph123 发表于 2024-4-23 17:05
你这个故障注入的.v里面,memory的层级关系呢,举个例子,TB.DUT_inst.Rf_memory.fault_inject(0,0,0);,你 ...


感谢大佬回复!有关错误注入,我在最后仿真的log里面确实发现没有诸如成功,所以我把错误注入放在tessent吐出来的那个修改过的design的.v文件里面了;另外有关测试pattern,我按照手册上的生成了测试pattern,目前还在看波形中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-19 00:11 , Processed in 0.020406 second(s), 7 queries , Gzip On, Redis On.

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