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

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

3天内不再提示

典型的DRC案例介绍

冬至子 来源:简矽芯学堂 作者:简矽芯学堂 2023-09-15 14:32 次阅读

DRC介绍

在进行DFT Logic的设计和插入之前,DFT工程师会先使用EDA工具对原Design执行DRC(Design Rule Checking),即设计规则检查。随着芯片的复杂度升高,执行DRC可以显著提高Design的可测性,同时也检查Design的合理性。

DRC案例

1

在Function模式下,由三态门严格控制,在同一总线上,同一时刻只允许一个设备向总线输出。如图1所示,三个寄存器的输入是DI,由Functional Enable Logic控制,在同一时刻Driver D1、D2、D3只有一个被使能,可以向总线输出数据。

但在测试模式下,Scan Shift期间三个寄存器SSF1、SSF2、SSF3连成一条Scan Chain,输入由DI切换为SI,它们的值会根据测试pattern不停地变,无法保证3个Drivers在同一时刻只有一个驱动总线,这样就可能会引起总线竞争的问题。

图片

图1

为了避免这个问题,我们加入如图2所示的电路,当SE为1时,即Scan Shift期间,只有EN1为1,此时D1生效,D2和D3不生效。另外给总线加入Bus Keeper,使总线在3个Drivers均为高阻抗时保持总线上值不变。

图片

图2

但这样的设计依旧存在一个问题:在Scan Capture期间如何避免总线竞争问题?实际上这里的解决办法有好几种,笔者仅提供其中一种思路:在Capture期间SE的值为0,但TE(Test Enable ,图中未画出)依旧为1,我们可以利用TE信号来设计逻辑使得在SE为0时依然最多只有一个Driver被使能。

2

芯片上存在一些双向IO Pin,如图3所示,由寄存器的输出Q来控制IO方向,当Q=1时是Output Pin,当Q=0时是Input Pin。但在Scan Shift期间,该寄存器的值会由于测试pattern而不停地变,从而导致I/O方向不断发生改变。

图片

图3

我们给原电路加入如图4所示的逻辑,当处于Scan Shift期间,SE的值为1,无论寄存器的值是0还是1,与门的输出均为0,这样就保证了在Scan Shift期间该IO PIN一直是Input Pin。当然也可以换成或门的逻辑,使该IO Pin在Shift期间一直是Output Pin。

图片

图4

3

如图5所示,这是一个非常简单的时钟门控电路,当enable为1时,gated clock与clock保持一致,当enable为0时,gated clock保持为1,即clock断开状态。但这样的设计无法很好地解决hazard,具体如图6波形图所示。

图片

图5

图片

图6

Designer为了解决这一问题,会采取如图7所示的设计:插入一个负沿触发的触发器,在时钟下降沿对enable信号进行采样,当enable为1时,将时钟打开,当enable为0时,将时钟关闭。这样就大大降低了hazard风险,波形图见图8。

然而这样做在测试中会引发另一个问题,那就是在Scan Shift期间该触发器的值会不断发生变化,我们也就无法控制时钟开关了。

图片

图7

图片

图8

假设原始的Design电路如图9所示,我们加入图10所示的逻辑 ,当SE为1时,Clock始终保持打开的状态,这样就保证了Scan Shift期间Clock门控电路始终打开。

图片

图9

图片

图10

总结

本文所示案例在Function方面均属合理的设计,但并不利于测试,这也是引入DRC的重要意义。目前市面上不同的EDA工具对于Design Rule有着不同的规则体系,但本质是一样的,都是为了在插入DFT以及产ATPG Pattern之前消除潜在的风险并改善设计。

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

    关注

    31

    文章

    5343

    浏览量

    120373
  • EDA工具
    +关注

    关注

    4

    文章

    267

    浏览量

    31794
  • DRC
    DRC
    +关注

    关注

    2

    文章

    149

    浏览量

    36183
  • 时钟电路
    +关注

    关注

    10

    文章

    236

    浏览量

    50724
  • DFT设计
    +关注

    关注

    0

    文章

    10

    浏览量

    8882
收藏 人收藏

    评论

    相关推荐

    如何使用HyperLynx_DRC来查找SERDES设计

    如何使用 HyperLynx DRC 来查找 SERDES 设计问题
    发表于 01-06 14:49 0次下载

    如何使用 HyperLynx DRC 来查找 SERDES 设计

    如何使用 HyperLynx DRC 来查找 SERDES 设计问题
    发表于 05-24 17:12 0次下载

    DRC步骤

    版图中DRC设计规则检查,详细步骤和方法,有图说明
    发表于 06-08 16:28 8次下载

    AltiumDesigner的DRC规则参考

    AltiumDesigner的DRC规则参考,很实用的资料,感兴趣的可以看看。
    发表于 09-19 16:57 0次下载

    Altium显示DRC错误的检查方法

    Altium有时候总是显示DRC错误,不知道哪里出了问题,下面小编带大家学习一下常见的DRC检查有哪些?
    的头像 发表于 09-23 12:27 3.4w次阅读

    如何通过DRC检测电磁干扰问题

    此点播网络研讨会将介绍如何使用电气设计规则检查 (DRC) 发现潜在的电磁干扰 (EMI) 问题。
    的头像 发表于 05-17 06:32 4676次阅读
    如何通过<b class='flag-5'>DRC</b>检测电磁干扰问题

    ORCAD原理图中有哪些常见DRC错误应该如何解决

    本文档的主要内容详细介绍的是ORCAD原理图中有哪些常见DRC错误应该如何解决。
    发表于 07-30 17:22 0次下载
    ORCAD原理图中有哪些常见<b class='flag-5'>DRC</b>错误应该如何解决

    典型的PID控制介绍

    典型的PID控制介绍说明。
    发表于 04-19 11:35 11次下载

    orcad的DRC检测参数设置的含义是什么

    orcad的DRC检测参数设置的含义是什么? 答:orcad进行DRC检测时,如图3-63所示,需要对参数进行设置,每个参数的含义如下所示: 图3-63 DRC参数上设置示意图 Ø Check
    的头像 发表于 10-28 11:43 7156次阅读
    orcad的<b class='flag-5'>DRC</b>检测参数设置的含义是什么

    orcad原理图文件怎么进行DRC的检测?

    orcad原理图文件怎么进行DRC的检测? 答:第一步,选择原理图的根目录,然后执行菜单Tools-Design Rules Check,进行设计规则的检查,如图3-61所示; 图3-61 进行
    的头像 发表于 11-02 10:40 8141次阅读
    orcad原理图文件怎么进行<b class='flag-5'>DRC</b>的检测?

    orcad怎么浏览DRC检测后的全部DRC错误

      orcad怎么去浏览DRC检测过后的全部DRC错误呢? 答:对原理图文件进行DRC检测以后,按照设置的DRC检测的选项,会在原理图中留下DRC
    的头像 发表于 11-09 11:14 5417次阅读
    orcad怎么浏览<b class='flag-5'>DRC</b>检测后的全部<b class='flag-5'>DRC</b>错误

    orcad怎么去浏览DRC检测过后的全部DRC错误

    orcad怎么去浏览DRC检测过后的全部DRC错误呢? 答:对原理图文件进行DRC检测以后,按照设置的DRC检测的选项,会在原理图中留下DRC
    的头像 发表于 11-12 09:28 6703次阅读
    orcad怎么去浏览<b class='flag-5'>DRC</b>检测过后的全部<b class='flag-5'>DRC</b>错误

    DRC分析和修复经验分享

    DRC的修复过程中,我们可以先分析并修复PR工具里面的DRC,等DRC的数目比较少了之后,我们就可以把PV工具里面signoff DRC的结果load到PR工具里面去分析并做自动或者
    的头像 发表于 11-02 10:57 2306次阅读
    <b class='flag-5'>DRC</b>分析和修复经验分享

    Calibre DRC报告自动做修复的教程分享

    某些DRC在Innovus里面检查可能没有问题,但是到了Calibre/ICV检查可能发现有DRC问题。
    的头像 发表于 11-16 11:05 3864次阅读

    芯片后端设计的DRC是什么?

    DRC的全称为design rule check,也就是设计规则检查。广义上DRC会包含很多分类,只要是设计规则广义上都可以成为DRC
    的头像 发表于 12-04 13:55 2893次阅读