【SOC 芯片设计 DFT 学习专栏 -- DFT DRC规则检查】


请阅读嵌入式及芯片开发学必备专栏


请阅读【芯片设计 DFT 学习系列 】
如有侵权,请联系删除


转自: 芯爵ChipLord 2024年07月10日 12:00 浙江

文章目录

    • 概述
    • DRC的概念
      • Tessent DRC检查的概述
      • 时钟相关检查
      • 扫描相关检查
      • BIST规则检查
      • 预DFT时钟规则检查
    • 如何进行DRC检查
      • 启动DRC检查
      • 配置DRC检查
      • 生成DRC报告
    • 典型的DRC规则示例
      • 时钟相关规则
      • 预DFT时钟规则
    • DRC检查的分析与处理
    • 总结

概述

在现代半导体设计中,DFT(Design for Test)技术的重要性不言而喻。它确保了芯片在制造完成后能够进行高效和可靠的测试。DFT设计规则检查(DRC)作为DFT流程中的一个关键环节,通过一系列自动化工具检测设计中的潜在问题,从而保证设计的可测试性和整体质量。在本文中,我们将详细探讨DFT DRC的概念、重要性、检查流程以及具体的规则和应用。

DRC的概念

DRC(Design Rule Check,设计规则检查)是一种通过预定义规则来验证设计是否符合特定标准和规范的过程。这些规则覆盖了电路设计、约束条件、测试过程等多个方面,旨在发现和纠正可能影响测试或故障模拟的问题。DRC在芯片设计和测试中发挥着至关重要的作用,确保最终产品的功能性和可靠性。

在这里插入图片描述

Tessent DRC检查的概述

Tessent是业界领先的DFT解决方案之一,其DRC工具通过一系列自动化检查,确保设计符合DFT要求。Tessent DRC检查涵盖多个方面,包括时钟相关检查、扫描相关检查、内建自测试(BIST)规则检查、Pre-DFT时钟规则检查等。
在这里插入图片描述

时钟相关检查

时钟在DFT中扮演着重要角色,时钟信号的定义和传递直接影响到芯片的测试效果,在tessent里,任何可能改变时序器件状态的信号,都称之为时钟。时钟相关的DRC检查主要包括以下几方面:
在这里插入图片描述

  • 时钟定义:确保所有定义的时钟信号能够正确传递到各个存储单元的时钟端。
  • 时钟状态:在所有时钟处于关闭状态时,设计中的所有扫描和非扫描存储单元都不能捕获数据。
  • 时钟影响:检查时钟信号在不同状态下对数据捕获的影响,确保不会干扰存储单元的数据操作。

扫描相关检查

扫描链的定义和连接是DFT的重要组成部分,扫描相关的DRC检查包括:

  • 扫描链定义:确保所有扫描链组至少包含一条有效的扫描链,避免空的扫描链组存在。
  • 时钟定义:确保每个扫描链组都有对应的时钟信号。
  • 扫描链连接:检查扫描链的输入和输出连接,确保其与设计的其余部分正确衔接。

BIST规则检查

内建自测试(BIST)是一种常见的DFT技术,BIST规则检查主要包括:

  • BIST模式:确保BIST模式能够正确应用于电路中。
  • BIST连接:检查BIST逻辑的连接,确保其与电路其他部分的正确交互。

预DFT时钟规则检查

在插入内建测试之前,预DFT时钟规则检查确保时钟的定义和结构合理,包括:

  • 时钟传递:确保定义的时钟信号能够传递到所有需要的存储单元。
  • 时钟频率:在定义memory时钟时,需指定正确的时钟频率。

如何进行DRC检查

进行DRC检查需要执行一系列特定的命令和操作,这些操作可以帮助设计人员快速识别并修正设计中的问题。以下是一些关键命令和操作步骤:

启动DRC检查

  • check_design_rules:启动DRC检查过程。
  • set_system_mode analysis:设置系统模式为分析,准备进行DRC检查。

配置DRC检查

配置DRC检查可以根据需要调整检查规则的严重程度(Error、Warning、Note、Ignore),以便更好地管理和处理DRC检查结果。

  • set_drc_handling:配置DRC检查的处理方式,根据严重程度进行分类处理。

生成DRC报告

DRC检查完成后,可以生成详细的DRC报告,帮助设计人员了解和修正设计中的问题。

  • report_drc_rules:生成DRC检查报告,包含所有的DRC违例总结。

  • report_drc_rules –all_fails:生成包含详细信息的DRC检查报告。

  • report_drc_rules ID:报告某一类特定的DRC违例。

  • report_drc_rules ID-num:报告某一个具体的DRC违例。

典型的DRC规则示例

以下是一些典型的DRC规则示例,这些规则在实际设计中经常被用到,用于确保设计的各个方面都符合规范要求。

时钟相关规则

  • C1:当所有定义的时钟都处于关闭状态时,设计中所有的扫描和非扫描存储单元都不能捕获数据,否则违例。

  • C2:所有已经定义了的时钟,都应该能向后到达某一个存储单元的时钟端,否则违例。

  • C6:定义的时钟不能影响存储单元正在捕获的数据。

预DFT时钟规则

  • DFT-C1:已经定义过的时钟信号必须能够传递到所有存储单元的时钟端。

  • DFT-C5:在定义memory时钟时,需指定正确的时钟频率,确保其在实际操作中能够正常工作。

  • 扫描相关规则

  • G1:除了dummy外,所有扫描链组都应该包含至少一条扫描链。定义扫描链或者删除空的扫描链组。

  • G2:除了dummy外,所有扫描链组都应该有时钟。通过add_clock定义时钟。

  • G3:如果电路里没有时序存储单元,不能定义时钟。

  • G4:如果电路里没有时序存储单元,不能定义扫描链组。

  • G5:如果电路里没有RAM,不能定义写控制信号。

DRC检查的分析与处理

DRC检查完成后,生成的报告可以帮助设计人员详细了解每一个DRC违例,并根据需要进行相应的修正。通过以下命令和操作,设计人员可以高效地分析和处理DRC违例:

  • report_drc_rules:报告所有的DRC违例(总结)。

  • report_drc_rules –all_fails:报告所有的DRC违例(详细)。

  • report_drc_rules ID:报告某一类DRC违例。

  • report_drc_rules ID-num:报告某一个DRC违例。

此外,Tessent DRC检查工具还提供了GUI界面,通过图形化界面可以更直观地查看和处理DRC违例:

  • open_visualizer:打开GUI,选择“DRC Violations”标签。

  • analyze_drc_violation:分析具体的DRC违例。

总结

DFT DRC检查作为保障芯片设计质量和可测试性的关键步骤,通过自动化工具的帮助,设计人员能够及时发现和解决潜在问题,确保最终产品的可靠性和功能性。Tessent DRC工具以其强大的功能和高效的检查流程,成为业界广泛使用的解决方案。希望通过本文的详细介绍,您能更好地理解DFT DRC检查的流程和方法,为您的设计工作提供有价值的参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3266326.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

基于Vue开发的前端系统中寻找后端API及其参数

前言 在日常渗透工作中,常常遇到后台系统,且有相当一部分是自研开发的系统,没有源代码,没有弱口令漏洞,也没有swagger、webpack泄露等。幸运的是,这些系统几乎都是前后端分离的架构,而我发现使…

【OpenCV C++20 学习笔记】调节图片对比度和亮度(像素变换)

调节图片对比度和亮度(像素变换) 原理像素变换亮度和对比度调整 代码实现更简便的方法结果展示 γ \gamma γ校正及其实操案例线性变换的缺点 γ \gamma γ校正低曝光图片矫正案例代码实现 原理 关于OpenCV的配置和基础用法,请参阅本专栏的其…

视频号矩阵系统,AI自动生成文案,实现批量上传视频和定时发布

在数字化浪潮席卷全球的今天,视频内容已成为信息传播的重要载体。然而,对于众多自媒体创作者和企业而言,如何高效、精准地发布视频内容,依然是一个不小的挑战。幸运的是,随着技术的不断进步,视频号矩阵系统…

0725,进程间传递文件描述符,socketpair + sendmsg/recvmsg

我要碎掉了我要碎掉了我要碎掉了 上课喵&#xff1a; pipe匿名管道的问题 #include <func.h>int main() {int fds[2];pipe(fds);pid_t pidfork();if(pid>0){ //fatherclose(fds[0]);//close readint fdopen("file2.txt",O_RDONLY);printf("father: …

Idea2024 创建Meaven项目没有src文件夹

1、直接创建 新建maven项目&#xff0c;发现没有src/main/java 直接新建文件夹&#xff1a;右击项目名->new->Directory 可以看到idea给出了快捷创建文件夹的选项&#xff0c;可以根据需要创建&#xff0c;这里点击src/main/java 回车&#xff0c;可以看到文件夹已经创建…

用户管理与高级SQL语句(数据库管理与高可用)

1.表&#xff08;Table &#xff09; 数据库中的表与我们日常生活中使用的表格类似&#xff0c;它也是由行&#xff08;Row&#xff09; 和列&#xff08;Column&#xff09;组成的。列由同类的信息组成&#xff0c;每列又称为一个字段&#xff0c;每列的标题称为字段名。行包…

sql注入的专项练习 sqlilabs(含代码审计)

在做题之前先复习了数据库的增删改查&#xff0c;然后自己用本地的环境&#xff0c;在自己建的库里面进行了sql语句的测试&#xff0c;主要是回顾了一下sql注入联合注入查询的语句和sql注入的一般做题步骤。 1.获取当前数据库 2.获取数据库中的表 3.获取表中的字段名 一、sql…

51单片机嵌入式开发:19、STC89C52R控制LCD1602码表+数码管+后台数显(串口)

STC89C52R控制LCD1602码表数码管后台数显&#xff08;串口&#xff09; 1 概述1.1 项目概述1.2 项目组成部分1.3 功能描述 2 开发环境2.1 支持设备2.2 硬件电路 3 软件代码工程4 演示4.1 Proteus仿真4.2 实物演示 5 总结 1 概述 1.1 项目概述 本项目旨在利用STC89C52R单片机实…

联通智慧商业零售解决方案,旨在为全球零售企业提供低成本、高效能的组网与通信服务

联通智慧商业零售解决方案&#xff1a;驱动零售业全球布局与创新 在全球化的大背景下&#xff0c;零售业面临着前所未有的机遇与挑战。随着消费者需求的多样化和市场环境的快速变化&#xff0c;零售商必须不断寻求创新&#xff0c;以保持竞争力。中国联通国际&#xff0c;凭借…

优略解距离法—Topsis模型【清风数模学习笔记】

层次分析法的局限性 &#xff08;1&#xff09;决策层不能太多 &#xff08;2&#xff09;数据已知&#xff0c;使用层次分析法不准确 构造计算评分 相较于取卷面理论上的最高分&#xff08;100&#xff09;和最低分&#xff08;0&#xff09;&#xff0c;取分数区间上的最…

Golang | Leetcode Golang题解之第290题单词规律

题目&#xff1a; 题解&#xff1a; func wordPattern(pattern string, s string) bool {word2ch : map[string]byte{}ch2word : map[byte]string{}words : strings.Split(s, " ")if len(pattern) ! len(words) {return false}for i, word : range words {ch : patt…

CSS技巧专栏:一日一例 12 -纯CSS实现边框上下交错的按钮特效

CSS技巧专栏&#xff1a;一日一例 12 -纯CSS实现边框上下交错的按钮特效 大家好&#xff0c;今天我们来做一个上下边框交错闪动的按钮特效。 本例图片 案例分析 虽说这按钮给人的感觉就是上下两个边框交错变换了位置&#xff0c;但我们都知道border是没法移动的。那么这个按…

python实现接缝雕刻算法

python实现接缝雕刻算法 接缝雕刻算法步骤详解Python实现详细解释优缺点应用领域接缝雕刻算法(Seam Carving Algorithm)是一种内容感知的图像缩放技术,可以智能地改变图像的尺寸,而不会明显影响其重要内容。它通过动态规划的方式寻找图像中的“接缝”,即在图像中从上到下或…

排序系列 之 希尔排序

&#xff01;&#xff01;&#xff01;排序仅针对于数组哦本次排序是按照升序来的哦 介绍 英文名为ShellSort&#xff0c;又称“缩小增量排序”是直接插入排序算法的一种更高效的改进版本希尔排序是把记录按下标的指定步长分组&#xff0c;然后按照每组使用直接插入排序&#…

【全面讲解下Docker in Docker的原理与实践】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 👉目录 👉前言👉原理👉实践👉安全和最佳实践👉前言 🦛…

Python 教程(三):字符串特性大全

目录 专栏列表前言1. 字符串基础2. 字符串方法字符串查询字符串修改字符串切片 3. 字符串格式化旧式格式化&#xff08;% 操作符&#xff09;str.format() 方法f-string&#xff08;Python 3.6&#xff09; 4. 字符串编码5. Unicode 和 ASCII6. 正则表达式7. 字符串比较8. 字符…

从零入手人工智能(6)—— 聚类

1.小故事 有一家零售连锁店&#xff0c;他们以其精准的市场定位和个性化的顾客服务而闻名&#xff0c;随着市场竞争的加剧和顾客需求的多样化&#xff0c;他们的管理层开始意识到&#xff0c;只有更加深入地了解他们的顾客群体&#xff0c;以便更好地满足他们的需求。 他们定…

文件包含漏洞--pyload

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.PHP伪协议利用 php://协议 php://filter &#xff1a;用于在读取和写入文件时进行过滤和转换操作。 通常利用文件包含执行php://filter伪协议读取的源码会被服务器执行从而不会显示&#xf…

重塑生态体系 深挖应用场景 萤石诠释AI时代智慧生活新图景

7月24日&#xff0c;“智动新生&#xff0c;尽在掌控”2024萤石夏季新品发布会在杭州举办。来自全国各地的萤石合作伙伴、行业从业者及相关媒体&#xff0c;共聚杭州&#xff0c;共同见证拥抱AI的萤石&#xff0c;将如何全新升级&#xff0c;AI加持下的智慧生活又有何不同。 发…

MATLAB学习日志DAY16

16.数组类型&#xff08;1&#xff09; 16.1多维数组 MATLAB 环境中的多维数组是具有多个下标的数组。创建多维数组的一种方法是调用具有多个参数的 zeros、ones、rand 或 randn。 R randn(3,4,5); 创建一个 345 数组&#xff0c;共包含 3*4*5 60 个正态分布的随机元素。…