用于检测故障点的设备和方法技术

技术编号:19240468 阅读:30 留言:0更新日期:2018-10-24 03:59
提供了用于检测集成电路(IC)中的故障点的设备、方法和计算机程序产品。集成电路器件是通过包括多个元件的结构描述(2)来描述的,元件表示单元和将单元互连的线,结构描述还包括表示一组敏感功能块(16)的部分,每个敏感功能块包括一个或多个输入、至少一个敏感输出和互连而使得敏感输出的值是敏感功能块的输入值的布尔函数的一组元件。检测设备(100)包括:‑选择单元(101),其被配置为至少在网表中的与所述敏感功能块对应的部分中迭代地选择元件的n元组,‑测试单元(104),其被配置为测试每个选择的元件的n元组,所述测试单元被配置为:‑将所述选择的元件的n元组从初始状态修改成测试状态;‑确定与每个敏感功能块相关联的布尔函数的导数是否等于零,所述检测设备(100)被配置为如果与所述敏感功能块相关联的布尔函数的导数等于零,则检测到所述n元组表示所述集成电路(IC)器件中的阶数为n的故障点。

【技术实现步骤摘要】
用于检测故障点的设备和方法
本专利技术一般地涉及电子电路,并且具体地涉及用于检测此类电路中的故障点的设备和方法。
技术介绍
在诸如智能卡或安全元件之类的众多嵌入式设备中使用的集成电路(IC)可以包含秘密安全密钥并且实施秘密数据。集成电路可能在集成电路器件的物理结构(诸如芯片、半导体器件等)上易受攻击。集成电路可以包括用于确保针对攻击的防护的多个保护块,诸如旨在检测可能的攻击的一个或多个传感器。例如,集成电路可以包括用于检测物理攻击(包括但不限于探测攻击或扰动攻击)的传感器、屏蔽件、数字传感器等。集成电路可以被配置为使用例如CFI(控制流完整性)验证来检测网络攻击。集成电路的结构通常包含与其故障会导致阻碍整个集成电路安全运行的集成电路的关键元件相对应的某些点(称为单故障点或SPOF)。单故障点是设计弱点,如果存在且随后被攻击者定位,则会危害集成电路的安全性。集成电路包括多个敏感功能块,诸如保护块,当它们检测到集成电路的异常运行时,产生关键信号(例如,警报)。如果警报是单一信号(对应于单线),则它表示“单故障点”(SPOF)。事实上,攻击者可以使用如聚焦离子束(FIB)的工具将与SPOF对应的该易受攻击“线”切断来消除警报并且因此获得对“编辑后”电路中所包含的全部秘密的访问,以及对共享相同秘密的同一产品线的实例的访问。此外,因为工具不能轻易达到网(例如,由于其上的路由拥塞),并且因为FIB不完全可靠,所以利用FIB的电路编辑通常是困难的。因此,针对FIB攻击的防护通常假设攻击者仅能够“编辑”(即,切断、打开、或系连到‘0’或‘1’)有限数量的网。因此,安全集成电路的主要挑战是电路中的单故障点的检测和消除。SPOF表示集成电路的安全链中的“最弱链接”。复杂检测IP可能通过单个FIB切割而绕过的事实代表了重要的安全脆弱性。FIB的效果可以是打开(即,断开)网,或者甚至是将其系连到‘0’或‘1’。事实上,FIB工具还能够修复电路,并且在这点上,其能够用于强制任意网的值。已知的是通常通过根据以下方法使警报冗余来使警报多样化:-信号的简单复制(或倍增),–对信号进行编码使得改动本身可被检测到,–使用多个独立的测试(例如,在屏蔽件中,独立地检查不同的区域)。当手动实现警报信号的倍增时,可能的是其中一些可能会遗漏。或者,即使正确地实现,也可能发生合成器将多样化优化掉。例如,各种警报信号可以被重构而使得新的单故障点再次出现。现有的方法是基于自动测试向量生成(ATPG)的。提出这些解决方案来测试集成电路以便使用测试向量来识别SPOF。例如,引用的美国专利6134689A描述了一种测试包含逻辑器件的集成电路的方法,该方法包括以下步骤:识别与由于对逻辑器件的测试导致的测试失败对应的第一测试向量,将第一测试向量从第一输入引脚格式转换成与逻辑器件相关联的状态数据,以及搜索状态数据来识别一组上次移位转变。其它解决方案是基于模拟并且依赖于生产后铸造测试的。然而,即使在最清洁且最合格的工业条件下实现IC工艺并且即使耐受一些灰尘和工艺变化,管芯上的物理误差仍会出现,例如由于外周上的较低晶片质量、在掩蔽或图案化期间的灰尘、晶片切割等。这些现有的生产后铸造测试根据计划测试通过例如扫描链来验证管芯的信号连续性。这些计划测试是借助于常规软件技术(诸如突变测试)来生成的,并且仅符合有效性标准(诸如陈述覆盖、分支覆盖等)。计划测试主要包含揭示门的输入或输出是否停留在不期望的水平或者金属线或过孔是否在多个制造阶段中已经损坏,而不考虑测试信号的相关性。因此,存在用于检测IC器件中的故障点的需要。
技术实现思路
为了解决这些和其它问题,提供了一种用于检测集成电路(IC)中的故障点的设备,该集成电路由包括多个元件的集成电路的结构描述来描述,元件表示单元和将单元互连的线,集成电路的结构描述还包括表示一组敏感功能块的部分,每个敏感功能块包括一个或多个输入、至少一个敏感输出以及互连而使得所述敏感输出的值是所述敏感功能块的输入值的布尔函数的一组元件。所述设备包括:-选择单元,其被配置为至少在所述集成电路的结构描述中的与所述敏感功能块对应的部分中迭代地选择元件的n元组,-测试单元,其被配置为测试每个选择的元件的n元组,所述测试单元被配置为:-将所述选择的元件的n元组从初始状态修改成测试状态;-确定与每个敏感功能块相关联的布尔函数的导数是否等于零,所述设备被配置为如果与所述敏感功能块相关联的布尔函数等于零,则检测到所述n元组表示所述集成电路(IC)器件中的阶数为n的故障点。在实施例中,测试单元可以被配置为通过至少执行由以下构成的组中的动作来修改所述选择的元件的n元组:去除所述元件的n元组,以及将所述元件的n元组维持为预定义的二进制值。在实施例中,所述测试单元可以被配置为,如果与所述敏感功能块相关联的布尔函数的导数等于零,则存储与所述元件的n元组相关的信息。所述测试单元可以被配置为,在选择元件的另一n元组之前,将所述选择元件的n元组从所述测试状态修改回所述初始状态。所述设备可以包括用于存储与测试的元件的n元组相关的信息的数据结构,所述数据结构包括针对每个元件的n元组的条目。与每个元件的n元组相关的信息可以包括每个n元组元件在所述集成电路的结构描述中的路径。在实施例中,所述设备可以包括注入器,所述注入器被配置为确定所述集成电路的结构描述中所包括的每个敏感功能块的类型,所述注入器被配置为取决于所述敏感功能块的类型将测试元件插入到集成电路的结构描述中的与敏感功能块对应的部分中,这提供了所述集成电路的修改后的结构描述,所述注入器被配置为将修改后的结构描述发送到所述选择单元以用于n元组元件的选择。在实施例中,所述注入器可以被配置为如果所述敏感功能块表示包括缓冲器的链的数字传感器,则强制发生以下状态,所述状态被配置为将所述结构描述中的与所述敏感功能块对应的所述部分中的所述缓冲器的链反转。所述选择单元可以包括解析器,所述解析器用于至少解析所述结构描述中的与所述敏感功能块对应的所述部分。所述选择单元可以被配置为通过对所述部分应用宽度优先遍历来解析所述结构描述中的与所述敏感功能块对应的所述部分。所述结构描述可以是在由以下构成的组中选择的:门级网表、IC布局描述和晶体管级网表。在实施例中,用于设计集成电路器件的设计装置,所述装置包括:-行为描述生成器,其被配置为根据所述IC器件的模型来确定所述IC器件的行为描述;-门级网表生成器,其被配置为根据所述行为描述的模型来生成门级网表;-布局布线器,其被配置为对单元进行布局和布线以确定所述IC器件的物理布局,-晶体管级网表生成器,其被配置为从所述布局中提取包括晶体管和连接的晶体管级网表。所述装置包括根据前述实施例中的任一个的用于根据结构描述来检测所述故障点的设备,所述设备结构描述是从所述门级网表、所述布局描述文件、所述晶体管级网表中的至少一个导出的,所述设计装置被配置为响应于检测到至少一个故障点而修改所述模型。在实施例中,提供一种用于验证至少一个集成电路的集成电路验证装置,所述装置包括:-结构描述提取器,其被配置为提取所述IC器件的结构描述,所述装置包括根据前述实施例中的任一个用于从所述提取的描述文件检测所述集成电路中的故障点的设备。在实施例中本文档来自技高网
...

【技术保护点】
1.一种用于检测集成电路(IC)中的故障点的设备(100),所述集成电路器件是由包括多个元件的所述集成电路(2)的结构描述来描述的,所述元件表示单元和将所述单元互连的线,所述集成电路的结构描述还包括表示一组敏感功能块(16)的部分,每个敏感功能块包括一个或多个输入、至少一个敏感输出以及互连而使得所述敏感输出的值是所述敏感功能块的输入值的布尔函数的一组元件,其中,所述设备包括:‑选择单元(101),其被配置为至少在所述集成电路的所述结构描述中的与所述敏感功能块对应的部分中迭代地选择元件的n元组,‑测试单元(104),其被配置为测试每个选择的元件的n元组,所述测试单元被配置为:‑将所述选择的元件的n元组从初始状态修改成测试状态;‑确定与每个敏感功能块相关联的所述布尔函数的导数是否等于零,所述设备被配置为如果与所述敏感功能块相关联的布尔函数等于零,则检测到所述n元组表示所述集成电路(IC)器件中的阶数为n的故障点。

【技术特征摘要】
2017.04.04 EP 17305406.51.一种用于检测集成电路(IC)中的故障点的设备(100),所述集成电路器件是由包括多个元件的所述集成电路(2)的结构描述来描述的,所述元件表示单元和将所述单元互连的线,所述集成电路的结构描述还包括表示一组敏感功能块(16)的部分,每个敏感功能块包括一个或多个输入、至少一个敏感输出以及互连而使得所述敏感输出的值是所述敏感功能块的输入值的布尔函数的一组元件,其中,所述设备包括:-选择单元(101),其被配置为至少在所述集成电路的所述结构描述中的与所述敏感功能块对应的部分中迭代地选择元件的n元组,-测试单元(104),其被配置为测试每个选择的元件的n元组,所述测试单元被配置为:-将所述选择的元件的n元组从初始状态修改成测试状态;-确定与每个敏感功能块相关联的所述布尔函数的导数是否等于零,所述设备被配置为如果与所述敏感功能块相关联的布尔函数等于零,则检测到所述n元组表示所述集成电路(IC)器件中的阶数为n的故障点。2.如权利要求1所述的设备,其中,所述测试单元(104)被配置为通过至少执行由以下构成的组中的动作来修改所述选择的元件的n元组:去除所述元件的n元组,以及将所述元件的n元组维持为预定义的二进制值。3.如前述权利要求中的任一项所述的设备,其中,所述测试单元(104)被配置为,如果与所述敏感功能块相关联的布尔函数的导数等于零,则存储与所述元件的n元组相关的信息。4.如前述权利要求中的任一项所述的设备,其中,所述测试单元(104)被配置为,在选择元件的另一n元组之前,将所述选择元件的n元组从所述测试状态修改回所述初始状态。5.如前述权利要求中的任一项所述的设备,其中,其包括用于存储与测试的元件的n元组相关的信息的数据结构(60),所述数据结构包括针对每个n元组元件的条目。6.如前述权利要求中的任一项所述的设备,其中,与每个n元组元件相关的所述信息包括每个n元组元件在所述集成电路的结构描述中的路径。7.如前述权利要求中的任一项所述的设备,其中,所述设备包括注入器(102),所述注入器(102)被配置为确定所述集成电路的结构描述中所包括的每个敏感功能块的类型,所述注入器被配置为取决于敏感功能块的类型将测试元件插入到所述集成电路的结构描述中的与所述敏感功能块对应的部分中,这提供了所述集成电路的修改后的结构描述,所述注入器(102)被配置为将所述修改后的结构描述发送到所述选择单元(101)以用于n元组元件的选择。8.如权利要求7所述的设备,其中,所述注入器被配置为如果所述敏感功能块表示包括缓冲器链的数字传感器,则强制发生以下状态:所述状态被配置为将所述结构描述中的与所述敏感功能块对应的部分中的所述缓冲器链反转。9.如前述权利要求中的任一项所述的设备,其中,所述选择单元(101)包括解析器,所述解析器用于至少解析所述结构描述中的与所述敏感功能块对应的部分。10.如权利要求9所述的设备,其中,所述选择单元(101)被配置为通过对所述部分应用宽度优先遍历来解析所述结构描述中的与所述敏感功能块对...

【专利技术属性】
技术研发人员:S·吉耶T·布韦
申请(专利权)人:智能IC卡公司
类型:发明
国别省市:法国,FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1