消除FPGA实现电路的功能错误和木马的方法和装置制造方法及图纸

技术编号:32506084 阅读:28 留言:0更新日期:2022-03-02 10:19
提供变换可编程电路如FPGA的功能以消除功能错误或硬件木马的方法,包括:提供源自可编程电路的查找表映射电路表示,该可编程电路利用具有原始规范的第一寄存器传送级RTL文档实现;提供具有修改自原始规范的修订规范并具有从原始规范变换后的功能的第二RTL文档;将查找表映射电路表示转换为对应于表示查找表映射电路表示的门级网表的影子网表;从第二RTL文档生成第二门级网表;基于影子网表与第二门级网表的比较,产生待完全合并到查找表映射电路表示中的功能性ECO补丁电路;以及通过将ECO补丁电路合并到查找表映射电路表示中来变换可编程电路的功能。本发明专利技术减少了构建可编程电路中ECO迭代花费的时间,且最小化添加补丁电路后占用的可编程电路芯片面积。丁电路后占用的可编程电路芯片面积。丁电路后占用的可编程电路芯片面积。

【技术实现步骤摘要】
消除FPGA实现电路的功能错误和木马的方法和装置
[0001]关于使用在先申请的受益声明
[0002]本申请要求受益于美国部分继续申请No.17/005337,题为“用于消除由现场可编程门阵列(FPGA)实现的集成电路的功能性错误和硬件木马的方法和装置”,部分继续申请时间为2020年8月28日,该申请的内容通过引用以其整体并入本文。


[0003]本专利技术涉及一般电路设计,尤其涉及改善变换集成电路功能的效率的方法和装置。

技术介绍

[0004]现代电路(诸如集成电路(IC))是非常复杂的。例如,平均台式计算机芯片可以具有超过10亿个晶体管。由于复杂性和高成本,IC设计经常外包给第三方来完成电路设计。这种外包方式为攻击者提供了通过引入恶意更改或硬件木马(HT)来损坏设计的IC的机会,这导致严重的安全问题,特别是对于诸如军事应用方面的关键应用。HT可能对嵌入HT的电路造成故障或破坏,降低电路可靠性和泄漏机密信息。
[0005]目前亟需用于验证与提高电路安全性的新方法和装置。
[0006]另外,在设计超大规模集成电路(本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种由计算机系统执行的用于变换可编程电路的功能以改善电路功能的方法,所述方法包括:提供源自可编程电路的查找表LUT映射电路表示,所述可编程电路利用第一寄存器传送级RTL文档实现,所述第一RTL文档具有原始规范;提供所述可编程电路的第二RTL文档,所述第二RTL文档具有修订规范,其中,所述修订规范修改自所述原始规范,并具有从所述原始规范变换后的功能;将所述LUT映射电路表示转换为影子网表,所述影子网表对应于表示所述LUT映射电路表示的门级GTL网表;从所述第二RTL文档生成第二GTL网表;基于所述影子网表与所述第二GTL网表的比较,产生待完全合并到所述LUT映射电路表示中的至少一个工程变更ECO补丁电路;以及由计算机系统和ECO引擎通过将所述至少一个ECO补丁电路合并到所述LUT映射电路表示中来变换所述可编程电路的功能,其中合并后的LUT映射电路表示等效于所述第二GTL网表以执行相同的功能,从而通过利用LUT结构的自由合并成本特性,使得所述可编程电路能够根据所述修订规范对进行重新编程。2.根据权利要求1所述的方法,其中所述产生步骤包括:比较所述影子网表和所述第二GTL网表,以获得用于至少一个要被ECO的模块的ECO补丁电路以及与所述ECO补丁电路对应的LUT映射电路表示中的插入点;在所述LUT映射电路表示中定位包含所述插入点的LUT,以插入所述ECO补丁电路;确定所述ECO补丁电路是否能够完全合并到包含所述插入点的LUT中;以及响应于确定所述ECO补丁电路能够完全合并到包含所述插入点的LUT中,标识所述ECO补丁电路为待准备合并到LUT映射电路表示中的ECO补丁电路。3.根据权利要求2所述的方法,其中所述产生步骤还包括:响应于确定所述ECO补丁电路不能完全合并到包含所述插入点的LUT中,确定所述ECO补丁电路是否能够合并到一个或多个空LUT中;和响应于确定所述ECO补丁电路能够合并到一个或多个空LUT中,标识所述ECO补丁电路为待准备合并到所述LUT映射电路表示中的ECO补丁电路。4.根据权利要求2所述的方法,其中所述产生步骤还包括:响应于确定所述ECO补丁电路不能完全合并到包含所述插入点的LUT中,应用不相交支持分解于所述ECO补丁电路的函数,以分解至少一个子补丁函数,其中,被分解的所述至少一个子补丁函数具有可变支持,所述可变支持是包含所述插入点的LUT的可变支持的子集;合并所述至少一个子补丁函数到包含所述插入点的LUT中;更新所述LUT映射电路表示和所述影子网表;以及迭代地通过比较更新的影子网表与第二GTL网表,获得将被修补到更新的LUT映射电路表示中的新ECO补丁电路,直到不需要更多的ECO补丁电路。5.根据权利要求1所述的方法,其中所述产生步骤包括:比较所述影子网表和所述第二GTL网表,以获得用于至少一个要被ECO的模块的ECO补丁电路以及与所述ECO补丁电路对应的LUT映射电路表示中的插入点;
在所述LUT映射电路表示中定位包含所述插入点的LUT,以插入所述ECO补丁电路;确定所述ECO补丁电路是否能够完全合并到一个或多个空LUT中;以及响应于确定所述ECO补丁电路能够完全合并到一个或多个空LUT中,标识所述ECO补丁电路为待准备合并到LUT映射电路表示中的ECO补丁电路。6.根据权利要求1所述的方法,其中所述转换步骤还包括:记录每个可能的LUT6的位掩码和相应的最简逻辑表达式;以及将所述LUT映射电路表示中的每个LUT的功能映射到其等效子电路中以获得对应的影子网表。7.根据权利要求1所述的方法,还包括:应用增量布局和布线;根据新的布局和布线结果生成新的比特流;以及利用所述新的比特流对可编程电路进行重新编程。8.一种用于变换可编程电路的功能以改善电路功能的计算机系统,所述计算机系统包括:硬件处理器;其中存储有指令的非暂时性计算机可读存储介质,所述指令在执行时使所述硬件处理器:从利用第一寄存器传送级RTL文档实现的可编程电路中得到查找表LUT映射电路表示,所述第一RTL文档具有原始规范;获得所述可编程电路的第二RTL文档,所述第二RTL文档为修订规范,其中所述修订规范修改自所述原始规范,并具有从所述原始规范变换后的功能;将所述LUT映射电路表示转换为影子网表,所述影子网表对应于表示所述LUT映射电路表示的门级GTL网表;从所述第二RTL文档生成第二GTL网表;基于所述影子网表与所述第二GTL网表的比较,产生待完全合并到所述LUT映射电路表示中的至少一个工程变更ECO补丁电路;以及通过将所述至少一个ECO补丁电路合并到所述LUT映射电路表示中,与ECO引擎一起变换所述可编程电路的功能,其中合并后的LUT映射电路表示等效于所述第二GTL网表以执行相同的功能,从而通过利用LUT结构的自由合并成本特性,使得所述可编程电路能够根据所述修订规范进行重新编程。9.根据权利要求8所述的系统,其中所述指令在被执行时还使所述处理器:比较所述影子网表和所述第二GTL网表,以获得用于至少一个要被ECO的模块的ECO补丁电路以及与所述ECO补丁电路对应的LUT映射电路表示中的插入点;在所述LUT映射电路表示中定位包含所述插入点的LUT,以插入所述ECO补丁电路;确定所述ECO补丁电路是否能够完全合并到包含所述插入点的LUT中;以及响应于确定所述ECO补丁电路能够完全合并到包含所述插入点的LUT中,标识所述ECO补丁电路为待准备合并到LUT映射电路表示中的ECO补丁电路。10.根据权利要求9所述的系统,其中所述指令在被执行时还使所述处理器:响应于确定所述ECO补丁电路不能完全...

【专利技术属性】
技术研发人员:吴有亮魏星林德基刁屹
申请(专利权)人:奇捷科技股份有限公司
类型:发明
国别省市:

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

1