0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MCU芯片设计了mbist、scan chain之后,功能仿真失败?

全栈芯片工程师 来源:全栈芯片工程师 2023-02-20 09:35 次阅读

接着上文,MCU芯片设计了mbist、scan chain之后,功能仿真失败?

有同学问,假设我们只是force ilm_sram时钟使之偏斜可以不?答:仿真cpu必挂死,dlm也会有问题的,不信证明给你看。

定位到CPU指令预测跳转,该预测为跳转的指令进入到执行阶段时候,需要根据操作数据a、b是否相等来决定是否真正跳转,若预测错误即不跳转则flush pipieline,重新取跳转地址的指令。跳转则继续commit。

但是操作数a从cpu regfile取出来是x态,追踪发现操作数a是长指令回写到regfile的,是lsu长指令。

6a3fefae-b077-11ed-bfe3-dac502259ad0.png

继续追踪到dlm_sram输出x态,显然dlm_sram也需要force一下时钟。又有同学问,和ilm_sram一起简单粗暴force为同一个时钟可以不?来吧,这样就又有新问题了。

6a726038-b077-11ed-bfe3-dac502259ad0.png

发现dlm_sram想把ffc ffd ffe三地址写0,fff想写0x8000, 却只有ffc ffd写入0,ffe fff皆写失败,因为时钟被force偏离了dlm_sram的要求,尽管满足了ilm_sram。为什么不满足dlm sram?因为各个sram的控制信号延时也不一样啊。

因此,下图看到sram读出ffc的值0,其他读出来都是x,导致pc值变成x态,取指令失败,cpu挂起。

6a94d76c-b077-11ed-bfe3-dac502259ad0.png

因此,ilm sram和dlm sram被force为统一时钟后,也可能错误的,因为force的时钟满足了ilm sram的偏斜,却没能满足dlm sram的倾斜,因为cs/we等信号延时也不一样的。

如下图,黄线是ilm_sram,行为ok,红线是dlm_sram,行为fail。

6abdc99c-b077-11ed-bfe3-dac502259ad0.png

实际上,解决办法不是force,我们应该删除force语句,具体方法参见知识星球。‍‍‍‍‍‍‍‍‍‍‍

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50360

    浏览量

    421623
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16977

    浏览量

    350206
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211087
  • 仿真
    +关注

    关注

    50

    文章

    4036

    浏览量

    133393
  • 指令
    +关注

    关注

    1

    文章

    606

    浏览量

    35646

原文标题:MCU芯片设计了mbist、scan chain之后,功能仿真失败(二)

文章出处:【微信号:全栈芯片工程师,微信公众号:全栈芯片工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么diable dcache能让mcu恢复正常?

    通过 3 次测试注释掉了 gang1 并且只运行了 gang0 测试时,出现一个问题。通过 WinIdea 调试发现,在 gang0 的 mbist 测试完成并启用 dcache 之后mc
    发表于 01-23 07:18

    请教Chipscope和boundary chain问题

    新手请教:virtex5中有4条boundary scan chain(USER1,USER2,USER3,USER4),创建chipscope ICON时只能使用一条chain。那么做了4条为什么只能用一条,4条
    发表于 02-13 09:21

    帮你理解DFT中的scan technology

    Scan stitching 是把上一步中得到的SDFF的Q和SI连接在一起形成scan chain。在芯片的顶层有全局的SE信号,以及scan
    发表于 06-14 14:20

    什么是MBIST看了就知道

    MBIST概述MBIST的架构
    发表于 12-10 07:00

    Arm PMC-100可编程MBIST控制器技术参考手册

    执行模式将嵌入式内存内容转储到调试器,使其适用于芯片启动和调查软件故障,如高速缓存一致性错误。 它允许快速测试内存和内存保护逻辑。 因此,MBIST事务是使用IP核时钟连续执行的,因此,可以通过以全功能
    发表于 08-17 07:10

    DS26522 JTAG Scan Chain Mappin

    Abstract: This application note describes the JTAG hardware boundary scan chain for the DS26522
    发表于 04-18 11:45 867次阅读
    DS26522 JTAG <b class='flag-5'>Scan</b> <b class='flag-5'>Chain</b> Mappin

    一文读懂DC/AC SCAN测试技术

    1 读入没有插入scan的网表 2 使用Design compiler 插入scan chain和OCC (on chipclocking)模块,同时插入mux, fix DRC 3
    发表于 10-26 16:01 3.7w次阅读
    一文读懂DC/AC <b class='flag-5'>SCAN</b>测试技术

    Proteus软件仿真失败的原因有哪些

    Proteus 因其强大的仿真能力,在单片机项目数学中得到了广泛的使用。然而即使Proteus 仿真电路模型完全正确,也会引起仿真失败。本文通过两个
    发表于 10-17 16:56 20次下载
    Proteus软件<b class='flag-5'>仿真</b><b class='flag-5'>失败</b>的原因有哪些

    MCU】MDK错误:error in include chain (cmsis_armcc.h):expected identifier or ‘(‘

    MCU】MDK错误:error in include chain (cmsis_armcc.h):expected identifier or ‘(‘
    发表于 11-30 19:51 18次下载
    【<b class='flag-5'>MCU</b>】MDK错误:error in include <b class='flag-5'>chain</b> (cmsis_armcc.h):expected identifier or ‘(‘

    MCU芯片设计添加mbistscan chain之后仿真失败如何解决

    由于增加了大量的mux来完成时钟、复位可控,导致中端网标中的cell有工艺库文件指定的delay参数,默认是1ns,那么会造成clk delay,比如插入两级mux就会形成2ns延时
    发表于 02-19 10:11 1437次阅读

    怎么配置DFT中常见的MBIST以及SCAN CHAIN

    今天这期小编将继续与大家一起学习DFT的相关知识和流程代码,在开始之前,先解决一下上期DFT学习的章节最后留下的问题—DFT工程师在收敛时序timing的时候经常遇到的hold的问题,即不同时钟域的两个SDFF(扫描单元的SI端hold违例问题。
    的头像 发表于 04-16 11:34 6966次阅读

    是否需要补插scan chain的isolation cell?怎么插呢?

    当然最显而易见的办法就是vclp检查哪儿需要补插isolation cell,那么是否需要补插scan chain的isolation cell, 怎么插呢?
    的头像 发表于 05-10 09:18 1361次阅读
    是否需要补插<b class='flag-5'>scan</b> <b class='flag-5'>chain</b>的isolation cell?怎么插呢?

    芯片设计测试中scan和bist的区别

    Scan stitching 是把上一步中得到的Scan DFF的Q和SI连接在一起形成scan chain。在芯片的顶层有全局的SE信号,
    发表于 10-09 16:53 3947次阅读
    <b class='flag-5'>芯片</b>设计测试中<b class='flag-5'>scan</b>和bist的区别

    数模混合芯片scan chain问题解析

    模拟到数字的信号不可控,需要和数字registered outputs mux一下提高test coverage。关键词是registered output! 这个技巧俗称scan loopback。
    的头像 发表于 12-08 11:24 1685次阅读
    数模混合<b class='flag-5'>芯片</b><b class='flag-5'>scan</b> <b class='flag-5'>chain</b>问题解析

    芯片仿真要点

    INNOVUS/ICC2吐出的netlist经过Formal/LEC验证后,Star-RC/QRC抽取RC寄生参数文件并读入到Tempus/PT分别做func/mbist/scan时序
    的头像 发表于 10-23 09:50 316次阅读
    <b class='flag-5'>芯片</b>后<b class='flag-5'>仿真</b>要点