【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://www.mzph.cn/pingmian/51668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

typescript 其他数据类型说明

/* any、unknown、never类型的区别相同:都是可以赋值任何类型 不同:any可以再赋任何值。unknown二次赋值只能再给any|unknown,不能时其他类型。never绝不能赋值,包括初始化赋值。*/let value1: any "123";…

SQL优化(一)基础概念

基数(cardinality) 表中某个列的唯一键的数量叫做基数,主键列的基数就是表中数据的总行数。 可以用select count(distinct 列名) from 表名来计算基数。 基数的高低影像列的数据分布。 例如:先用Scott账户创建一个测试表test …

设计模式15-门面模式

设计模式15-门面模式 "接口隔离"模式典型模式1. 适配器模式(Adapter Pattern)2. 装饰模式(Decorator Pattern)3. 桥接模式(Bridge Pattern)4. 代理模式(Proxy Pattern)5. …

Git基本原理介绍及常用指令

文章目录 前言一、Git是什么?集中化的版本控制系统分布式版本控制系统 二、Git基本概念三、git命令操作配置用户信息常用指令 总结 前言 如果你用Microsoft Word写过论文,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不…

kafka cmd

list topic ./bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181指定 conf 如果是 ssl 协议指定 指定配置文件 /opt/kafka/bin/kafka-consumer-groups.sh --command-config /opt/kafka/bin/kafka-console-consumer.sh --consumer.config/opt/kafka/bin/kafka-console…

linux:用户管理,增删改

1.查看当前登录的用户信息 [root@bgx ~]# id #查看当前所登陆的用户信息 # uid:用户id,系统只能识别uid,不能识别名字,人看名字 # gid:组id uid=0(root) gid=0(root) groups=0(root) [root@bgx ~]# id oldboy #查看其它用户的信息 uid=1000(oldboy) gid=1000(oldboy) g…

【Linux】2.Linux 指令大揭秘:常见八个指令的妙用(上)

欢迎来到 CILMY23 的博客 🏆本篇主题为:Linux 指令大揭秘:常见八个指令的妙用(上) 🏆个人主页:CILMY23-CSDN博客 🏆系列专栏:Python | C | C语言 | 数据结构与算法 | …

【SpringBoot】参数传递之@ModelAttribute

ModelAttribute标注的方法会在Controller类的每个映射URL的控制执行方法之前执行。 ModelAttribute public void findUserById(PathVariable("userId") Long userId,Model model){ model.addAttribute("user",userService.findUserById(userId)); } GetM…

千万别从系统中创建线程, 看看从线程池中调用的线程的效率(1)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

Web3.js 4.x版本事件监听详解:从HTTP到WebSocket的迁移

项目场景 在一个使用以太坊区块链技术的项目中,需要监听智能合约的事件,以便在事件触发时能够及时响应。项目中使用了web3.js库的4.x版本,节点使用Geth启动,并通过HTTP与节点进行通信。 问题描述 合约DataStorage.sol文件已经定…

学习c语言第16天(数据的存储)

一、数据类型的介绍 c语言基本的内置类型 类型的意义: 1.使用这个类型开辟内存空间的大小(大小决定了使用范围) 2.如何看待内存空间的视角 1.类型的基本归类 整形家族 字符的本质是ASCII码值,是整形 int a等于 signed int a char稍微特殊一些…

新书速览|动手学PyTorch建模与应用:从深度学习到大模型

《动手学PyTorch建模与应用:从深度学习到大模型》 本书内容 《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。《动手学PyTorch建模与应用:从深度学习到大模型》共11章,第1章主要介绍深度学习的概念…

【检查 Android 设备上的热点(AP)状态】

在这篇教程中,我们将介绍如何使用 adb 命令检查 Android 设备上热点(AP)的状态。我们将通过命令行工具 ifconfig 来判断热点是否启用,并提供一个 Python 脚本示例来自动化这一过程。 前提条件 ADB 环境设置: 确保你已经在计算机上安装并配置好了 ADB (Android Debug Bridg…

【Go - redis client 单例模式】

以下是redis client单例,使用sync.Once保证无论单线程(协程)还是多线程(协程) 只执行一次。 示例 package mainimport ("context""fmt""sync""github.com/redis/go-redis/v9" )var (RedisClientSingleton *redis.Cliento…

深入浅出:Squid技术详解,让你的网络加速与安全无忧

在当今互联网高速发展的时代,网络的稳定性与安全性显得尤为重要。作为一款强大的代理服务器软件,Squid凭借其灵活的配置和强大的功能,成为了众多企业和个人用户的首选。本文将深入探讨Squid的核心技术、应用场景及优化技巧,帮助你…

Python --Pandas库基础方法(2)

文章目录 Pandas 变量类型的转换查看各列数据类型改变数据类型 重置索引删除行索引和切片seriesDataFrame取列按行列索引选择loc与iloc获取 isin()选择query()的使用排序用索引排序使用变量值排序 修改替换变量值对应数值的替换 数据分组基于拆分进行筛选 分组汇总引用自定义函…

Linux 中断的 CPU 亲和性

文章目录 1. 前言2. 背景3. 什么是中断的 CPU 亲和性3. IRQ 中断 默认的 CPU 亲和性4. 硬件架构 CPU 固有 IRQ 中断亲和性5. 中断芯片 各中断 CPU 亲和性 初始化5.1 GIC v2 芯片的 SPI 中断 CPU 亲和性 初始化5.1.1 软件层次: 中断 CPU 亲和性 初始化5.1.2 中断芯片层次: GIC v…

前端面试从基础到资深问题汇总

基础篇 前端基础知识问答-js篇 JavaScript是前端开发的核心语言之一,以下是一些关于JavaScript的基础知识问答: Q: 什么是JavaScript? A: JavaScript是一种高级的、解释型的编程语言,通常用于网页开发中,实现网页的交…

Spring-cloud Alibaba组件--Dubbo

远程调用技术 RestFul风格 基于HTTP协议实现,而HTTP是一种网络传输协议,基于TCP,规定了数据传输的格式。 RPC协议 Remote Produce Call 远程过程调用,类似的还有 RMI ( remote method invoke)。自定义数…

优思学院|抽样检验的概念和21种抽样方式

抽样检验的概念 根据事先制定的抽样方案,从一批产品中随机抽取一部分作为样品,以这部分样品的检验结果,对整批产品质量合格与否作出判定的活动过程,称为抽样检验。除了用于质量控制之外,抽样检验同样适用于在六西格玛…