电子发烧友网 > 可编程逻辑 > 正文

基于现场可编程门阵列技术和EDA技术实现IP核的设计方案

2020年08月10日 09:51 次阅读

1 引言

随着电路规模不断扩大,以及竞争带来的上市时间的压力,越来越多的电路设计者开始利用设计良好的、经反复验证的电路功能模块来加快设计进程。这些电路功能模块被称为IP(Intellectual Property)核。IP核由相应领域的专业人员设计,并经反复验证。IP核的拥有者可通过出售IP获取利润。利用IP核,设计者只需做很少设计就可实现所需系统。基于IP核的模块化设计可缩短设计周期,提高设计质量。现场可编程门阵列FPGA具有可编程特性,用户根据特定的应用定制电路结构,因此其处理速度大大超过通用处理器。与ASIC相比,FPGA的缺点是在提供灵活的可编程同时,则以芯片的面积、功耗和速度做为代价。

近年来,单个FPGA实现电路规模不断扩大,设计者可以在单个FPGA上实现一个完整的系统(System on Pro—grammablb Chip,简称SoPC)。IP核的出现为SoPC的设计提供极大便利,利用IP核,设计者通过模块化设计。轻松快速地实现系统复杂的功能。

当设计者从第三方购买IP,需要一定的保护机制防止设计者在非授权IP核使用,以保护IP核所有者的利益。同时,对于设计者完成的设计,也需要相应的保护机制防止设计被非法复制、窃取或篡改。为此,提出一种结合电子设计自动化(Electronic Design Automation,简称EDA)软件和FPGA的IP核保护机制。通过在EDA工具中加入保护机制防止设计者非授权使用IP核,在FPGA中加入保护机制防止设计被非法复制、窃取或篡改。

2 EDA软件中实现IP保护

FPGA的设计开发流程主要包括行为综合、逻辑综合、技术映射和布局布线。一般情况,设计者使用硬件描述语言(如VHDL,Velilog)描述电路,然后由EDA软件对其处理。

在EDA软件处理流程中,行为综合把算法级或寄存器传输级(Register Transfer Level,简称RTL)的电路描述转换为门级的网表,逻辑综合优化门级网表,技术映射是将优化后的网表映射为FPGA中的具体实现(查找表),布局布线工具则按照一定的评价标准来确定最终的电路单元在FPGA中的位置,并利用连线资源实现电路单元间的连接。

如果设计者利用第三方提供的IP核实现所需的设计,为了避免设计者窃取IP核后,对其修改,并将其据为已有,需要有相应的安全机制来保护第三方设计的IP核。

在EDA软件的处理流程中,EDA软件必须能够正确解析设计,才能完成处理,因此设计本身对于EDA软件是公开的。这里假定EDA软件是可信的。具有IP核保护机制的EDA流程如图l所示。第三方设计的IP核要先向EDA软件的开发用户购买RTL级的IP核后,第三方将该IP核先用EDA开发商的公开密钥对该IP核加密,再用设计者提供的公开密钥加密。这样,设计者虽然得到了第三方的IP核,但是并不知道EDA软件开发商的私钥,因此设计者无法知道该IP核中RTL级的描述。

基于现场可编程门阵列技术和EDA技术实现IP核的设计方案

设计者可将购买的IP核看作功能已知的黑盒子,在利用黑盒子和其他的电路模块完成电路描述之后,设计者将设计导入EDA工具。EDA工具分别利用设计者输入的密钥和EDA开发商的密钥对加密的IP核进行两次解密,从而得到整个设计完整的RTL表示。然后,EDA工具可以对设计进行行为综合、逻辑综合和技术映射,最后生成技术映射后的网表。假定用于综合和技术映射的工具是由某个EDA开发商提供,而FPGA布局布线工具是另外的EDA开发商,例如由FPGA的生产商提供。[page]

在将优化后的门级网表写入文件之前,该EDA工具先用自己的私钥对网表进行加密处理,再用布局布线工具提供商的公钥对网表进行加密处理。这样设计者还是无法查看到综合和技术映射后的网表,从而防止了设计者用逆向工程的方法来窃取IP核。

布局布线工具先用自己的私钥对加密的网表进行一次解密,再用前端的EDA工具开发商的公钥进行第二次解密,从而得到解密后的网表。利用该网表,布局布线工具可以完成设计在芯片上的布局布线,最终生成用于FPGA配置的bit-stream文件。

3 FPGA中实现IP保护

在EDA软件生成了用于配置FPGA的bit-stream后,将bit-stream加载到FPGA中,就可以完成对FPGA的编程,FPGA实现设计者期望的功能。FPGA分为非易失性(Don—volaTIle)和易失性(volaTIle)两种,前者包括基于反熔丝技术和Flash技术,后者主要是基于SRAM技术。对于基于SRAM的FPGA,因为其配置信息在掉电之后就会丢失,因此一般需要用PROM存储FPGA的配置信息,以使FPGA在重新加电后能够再次根据这些信息进行配置。FPGA的配置信息就是设计在FPGA上的最终实现,因此需要相应的技术手段来保护这些配置信息。

因此FPGA的bit-stream是二进制信息,它是依赖于设计本身和具体的FPGA结构。一般来说,bit-stream的生成工具都是由FPGA的生产商提供。FPGA的生产商虽然会给出一些bit-stream生成工具的使用信息,但一般都不会公开FPGA的bit-stream编码格式。由于不知道FPGA的bit-stream文件格式,目前尚未发现对FPGA的编程bit-stream文件成功实现逆向工程,所以绝大多数的FPGA使用者都不考虑FPGA中的设计会被破解。

虽然bit-stream文件难以被逆向工程方法破解,但如果这些bit-stream被复制,利用这些bit-stream,再使用同样的FPGA,竞争对手就可以生产同样产品。也这是说,设计还是有可能被盗窃。因此,需要相应的安全机制来防止bit-stream被复制。针对基于SRAM的FPGA,下面讨论两种防范机制。

3.1 一次加载

保证FPGA的编程bit-stream文件安全的一种简单办法就是在安全环境下对FPGA编程后,不再向FPGA配置任何器件,而是对FPGA持续供电。因为所有的可编程逻辑设备都具有保密设置,可阻止从FPGA中读取编程bit-stream文件,而且编程bit-stream文件也不会暴露在器件之外,这种方法既能够使FPGA的设计不被偷窃,也不被篡改。这种保护机制的安全级别与基于反熔丝技术或者其他的非易失性的FPGA相似,但是这种方法的缺点是需要对系统持续供电。

3.2 bit-stream加密

Bit-stream加密技术是对FPGA的编程bit-stream文件加密处理,加密过程是EDA软件的最后一个处理步骤,如图1所示。加密后的bit-stream存储在FPGA的配置器件中,在配置FPGA器件前,要先把加密的bit-stream写入FPGA中,然后进行解密,再用解密后的bit-stream对FPGA进行配置。这一方法既增加对bit-stream文件逆向工程的难度,又阻止编程文件被非法复制。加密采用对称密钥加密算法,密钥由设计者指定。设计者需要将密钥存储到FPGA,FPGA中的解密功能模块可以用这一密钥来对bit-stream解密。

如果最终生成的bit-stream文件是加密的,FPGA就需有一个专用的片上解密器和专用的密码存储器。为了使FPGA既能支持加密的bit-stream,又能支持未加密的bit-stream,bit-stream文件包含有未加密的指令,这些指令可用于启动和解密配置数据。如果bit-stream是加密的,FPGA在真正编程配置前,需要先用存储的密钥对其解密。这样,在FPGA使用过程中,虽然攻击者很容易从配置器件和FPGA的连接线路上获取bit-stream,但是因为这些bit-stream是加密的,即使把这些bit-stream配置到同样的FPGA上,但由于不知道解密的密钥,FPGA也无法对其解密,从而无法配置FPGA。使用这种保护方法,攻击者不知道密钥就无法复制FPGA中的设计。

攻击者可能转而试图从FPGA中盗取密钥。在FPGA中,密钥可存储在RAM中,通过芯片上的一个电池为其供电。如果切断电源,则存储信息即密钥丢失。为了窃取密钥,攻击者需要打开FPGA的封装,打磨掉多个金属层,然后用扫描电子显微镜(SEM)扫描表示密钥的数据位。在进行这些操作的同时,还必须保持对存储密钥的存储器供电。显然这种攻击是难以实现的。

此外,还可以在FPGA内部设计一些逻辑来限制对配置和密钥的访问。例如:当载入一个加密的bit—stream文件时,只能进行单独的、整个芯片的配置;在加载了加密的配置流后,就不允许再读取其中信息;试图读取或写入密钥就会清除所有的密钥和所有的配置数据;解密后的bit-stream在用于配置操作前,必须要通过数据的完整性检验。通过这些限制,使得攻击者无法读取解密后的bit-stream,也无法获得FPGA存储的密钥,从而阻止攻击者复制FPGA中的设计。

4 结语

随着电路设计规模的不断扩大,越来越多的设计者开始应用IP核来提高设计速度和系统可靠性。提出在EDA工具中加入保护机制,防止IP核被窃取,以及在FPGA中加入保护机制防止最终在FPGA上实现的设计被非法复制。这种机制的实现前提条件是要求FPGA的生产商和EDA工具的开发商都是可信的。如何在两者不可信的情况下实现IP核保护,还需进一步研究。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

理解Verilog编码技巧掌握FPGA中状态机的写法掌握非重叠序列检测代器Verilog代码编写
发烧友学院发表于 2020-04-21 00:00 22127次阅读
写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

基于逻辑门搭建的用于处理数字信号的集成电路

数字电路中的数字信号是指在时间上离散,在数值上也离散,且数值的大小和增减都是量化单位的整数倍的一类信....
发表于 2020-09-07 13:47 38次阅读
基于逻辑门搭建的用于处理数字信号的集成电路

set_max_delay被覆盖的解决办法

XDC描述的时序约束是有优先级的,尤其是涉及到时序例外的约束,如set_clock_groups、s....
发表于 2020-09-07 10:53 58次阅读
set_max_delay被覆盖的解决办法

ARM和FPGA的嵌入式多通道超声波采集开发

[table] [tr][td]多通道超声波高速信号采集开发套件(以下简称采集板)是我司新推出的多通道超声波信号采集和二次开发...
发表于 2020-09-07 10:50 0次阅读
ARM和FPGA的嵌入式多通道超声波采集开发

联想控股战略性入股富瀚微布局半导体赛道;功率半导...

1、联想控股战略性入股富瀚微布局半导体赛道 2020年9月3日,国内安防视频监控芯片领先企业上海富瀚....
发表于 2020-09-07 09:36 521次阅读
联想控股战略性入股富瀚微布局半导体赛道;功率半导...

在数据采集系统中的DSP技术应用

如今,数据采集系统很多,有基于数字信号处理器 DSP 设计的,也有基于现场可编程门阵列 FPGA 设计的,这些采集...
发表于 2020-09-05 19:12 404次阅读
在数据采集系统中的DSP技术应用

【每周FPGA案例】 至简设计系列_简易计算器

本文为明德扬原创及录用文章,转载请注明出处! 1.1 总体设计 1.1.1 概述 计算器是近代人发明的可以进行数字运...
发表于 2020-09-05 15:34 101次阅读
【每周FPGA案例】 至简设计系列_简易计算器

【每周FPGA案例】至简设计系列_BCD译码实现

本文为明德扬原创及录用文章,转载请注明出处! 1.1 总体设计1.1.1 概述BCD码(Binary-Coded Decimal‎)...
发表于 2020-09-05 15:13 101次阅读
【每周FPGA案例】至简设计系列_BCD译码实现

VGA硬件电路设计之如何驱动VGA连接器

VGA接口的脚13和14(HS和VS)是数字信号,所以可以直接通过FPGA的两个IO口来控制(或者还....
发表于 2020-09-05 10:03 223次阅读
VGA硬件电路设计之如何驱动VGA连接器

论5G为PCB行业带来的影响

5G 的出现为整个 PCB 行业注入了极大的潜力。在如今,我们很难想象完全脱离电子设备的情况,它已经....
发表于 2020-09-04 19:29 367次阅读
论5G为PCB行业带来的影响

数字电路设计在嵌入式中的应用

数字电路作为一门专业基础课,除了介绍数字电路的理论知识外,更需要通过配套的实验平台将理论知识和实践环节相结合,...
发表于 2020-09-04 17:04 505次阅读
数字电路设计在嵌入式中的应用

可编程逻辑器件和ASIC对比介绍

可编程逻辑器件PLD(Programmable Logic Device)就是一种可以由用户定义和设....
发表于 2020-09-04 17:02 342次阅读
可编程逻辑器件和ASIC对比介绍

麒麟9000芯片将用于华为旗舰机Mate40系列...

而其对供应商唯一提的要求是:限期前供货完成,诸如芯片器件规格、性能等要求相比以往降低很多。
发表于 2020-09-04 16:38 340次阅读
麒麟9000芯片将用于华为旗舰机Mate40系列...

国产EDA市场的现状_国产EDA的发展难题及切入...

 “2019年,我国EDA市场规模约为5.8亿美元,仅占全球市场的5.6%。中国EDA厂商总营收不到....
发表于 2020-09-04 16:26 147次阅读
国产EDA市场的现状_国产EDA的发展难题及切入...

国产芯片设计EDA的自主可控成为行业关注的焦点

中国在芯片产业链上的短板日益凸显,这使得芯片设计工具EDA的自主可控成为行业关注的焦点。
发表于 2020-09-04 16:22 126次阅读
国产芯片设计EDA的自主可控成为行业关注的焦点

详解天线系统解决方案中的FP16格式点积级联运算

Ookla 在美国和英国的测速结果显示,2020 年上半年推出的速度最快、性能最好的 5G 智能手机使用高通 (Qualcomm) 无...
发表于 2020-09-04 16:12 202次阅读
详解天线系统解决方案中的FP16格式点积级联运算

TLA7-EasyEVM是基于Xilinx Artix-7系列FPGA处理器开发板

1.开发板简介基于Xilinx Artix-7系列FPGA处理器;FPGA芯片型号为XC7A100T-2FGG484I,NOR FLA...
发表于 2020-09-04 11:33 0次阅读
TLA7-EasyEVM是基于Xilinx Artix-7系列FPGA处理器开发板

【正点原子FPGA连载】第十八章PS通过VDMA驱动LCD显示实验领航者ZYNQ之嵌入式开发教程

1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址: 3)全套实验源码+手册+视频下载地址: 4)对正点原...
发表于 2020-09-04 11:15 0次阅读
【正点原子FPGA连载】第十八章PS通过VDMA驱动LCD显示实验领航者ZYNQ之嵌入式开发教程

【正点原子FPGA连载】第十七章IP封装与接口定义实验--领航者ZYNQ之嵌入式开发指南教程

1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址: 3)全套实验源码+手册+视频下载地址: 4)对正点原...
发表于 2020-09-04 11:14 0次阅读
【正点原子FPGA连载】第十七章IP封装与接口定义实验--领航者ZYNQ之嵌入式开发指南教程

【正点原子FPGA连载】第十六章AXI DMA环路测试交互--领航者ZYNQ之嵌入式开发指南

1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址: 3)全套实验源码+手册+视频下载地址: 4)对正点原...
发表于 2020-09-04 11:12 0次阅读
【正点原子FPGA连载】第十六章AXI DMA环路测试交互--领航者ZYNQ之嵌入式开发指南

PCB小型化:PCB设计中面临的挑战

亲爱的,我把孩子们 变 小了。 这是电影中的一句台词 ,但它也可以描述 PCB设计中正在进行的小型化....
发表于 2020-09-04 10:22 150次阅读
PCB小型化:PCB设计中面临的挑战

在测试应用中使用FPGA的关键特性,利用开放式F...

目前大多数仪器采用封闭式FPGA(现场可编程门阵列)和固定的固件实现仪器的功能。如果你曾见过示波器的....
发表于 2020-09-04 09:09 203次阅读
在测试应用中使用FPGA的关键特性,利用开放式F...

国产替代下的本土EDA融资

5月15日晚间,美国商务部再度升级对华为的管制措施,意图在华为自研芯片的芯片设计和芯片制造领域对其进....
发表于 2020-09-04 08:20 1193次阅读
国产替代下的本土EDA融资

PCB测试和检查方法概述

PCB 是任何电子电路的基本组件,无论是简单的还是复杂的。表面贴装元件(SMD)的使用日益增加以及对....
发表于 2020-09-03 19:04 409次阅读
PCB测试和检查方法概述

PCB板上的阻抗控制有什么用?

对于模拟或高频数字电路,确保在PCB板上传播的信号的完整性至关重要。实际上,高于100 MHz的信号....
发表于 2020-09-03 19:04 373次阅读
PCB板上的阻抗控制有什么用?

PCB设计技巧,为你节约生产成本

1.准备用于生产的 印刷电路板 设计-拼板和机加工 电路板 可以单独交付或以拼板交付。拼板形式的执行....
发表于 2020-09-03 18:28 269次阅读
PCB设计技巧,为你节约生产成本

DFM:你的PCB设计准备好投入生产了吗?

术语DFM(可制造性设计)指的是设计产品的过程,其特定目的是使其更易于制造,以便以较低的成本生产出更....
发表于 2020-09-03 18:27 129次阅读
DFM:你的PCB设计准备好投入生产了吗?

芯愿景收入创新高 EDA研发投入不升反降

长期以来,EDA软件全球市场主要由铿腾电子(Cadence)、新思科技(Synopsys)和明导国际....
发表于 2020-09-03 17:50 646次阅读
芯愿景收入创新高 EDA研发投入不升反降

目前我国EDA厂商暂未进入先进代工厂的联盟?

除了人才问题,国内EDA的产业生态严重不足,应用环境堪忧。一方面,大中型企业长期使用国外软件,不敢轻....
发表于 2020-09-03 17:08 90次阅读
目前我国EDA厂商暂未进入先进代工厂的联盟?

EDA技术走势和驱动新模式

8月27-28日,2020集微半导体峰会在厦门拉开帷幕,本届峰会以“探寻·迭变时代新逻辑”为主题,旨....
发表于 2020-09-03 13:52 162次阅读
EDA技术走势和驱动新模式

通过利用XCore处理器的特点及硬件设计软件化方...

英国的XMOS Semiconductor公司推出了一种全新的控制器件:事件驱动多核心处理器(以后简....
发表于 2020-09-03 13:33 178次阅读
通过利用XCore处理器的特点及硬件设计软件化方...

基于Adaboost算法结合Virtex5平台如...

本文系统的实现主要用到了两类逻辑资源来优化系统性能:DSP48E Slice:25x18位二进制补码....
发表于 2020-09-03 12:45 189次阅读
基于Adaboost算法结合Virtex5平台如...

使用2D NoC简化FPGA可编程逻辑功能的应用...

对于AXI interconnect模块,我们采用Github上开源的AXI4总线连接器来实现,这个....
发表于 2020-09-03 12:39 208次阅读
使用2D NoC简化FPGA可编程逻辑功能的应用...

基于FPGA+DSP实现最小化通信处理器架构的设...

随着各类武器平台向信息化、网络化的方向发展,各类小型、超小型平台,如空空导弹、小型无人机等,对通信设....
发表于 2020-09-03 12:28 140次阅读
基于FPGA+DSP实现最小化通信处理器架构的设...

如何实现智能连接的智能城市/办公室/家庭的愿景?

而且,由东北大学和伦敦帝国学院进行的IoT数据隐私研究发现,他们研究的81种设备中有近90%与完全与....
发表于 2020-09-03 10:50 340次阅读
如何实现智能连接的智能城市/办公室/家庭的愿景?

外壳与电路板地怎么连接

外壳与电路板地怎么连接?
发表于 2020-09-03 10:02 285次阅读
外壳与电路板地怎么连接

为什么很多PCB的颜色是绿色的?

为什么 PCB 大多都是 是绿色的? 原材料自然具有该颜色,还是由于某种原因而变成绿色? 上述问题通....
发表于 2020-09-02 18:54 503次阅读
为什么很多PCB的颜色是绿色的?

PCB气孔的检测方式、缺陷及其解决方法

针孔或气孔是相同的,并且是由焊接过程中印刷板的排气引起的。波峰焊期间的引脚和气孔形成通常总是与镀铜层....
发表于 2020-09-02 18:42 394次阅读
PCB气孔的检测方式、缺陷及其解决方法

PCB板组合设计方法的秘密

考虑到 PCB制造 效率,面板化是必不可少的。一方面,面板化可提高 PCB制造效率,从而缩短交货时间....
发表于 2020-09-02 18:31 520次阅读
PCB板组合设计方法的秘密

5G和WiFi-6的PCB设计开发方案

与4G相比,5G标准提供的互联网和 通信 数据传输效率高达1000倍。WiFi-6是WLAN的一种类....
发表于 2020-09-02 18:30 465次阅读
5G和WiFi-6的PCB设计开发方案

PCB设计关键点:输出Gerber数据时要注意这...

制造 PCB 所需的典型数据是 [Gerber数据]和[Drill数据]。得益于出色的CAD软件,现....
发表于 2020-09-02 18:16 387次阅读
PCB设计关键点:输出Gerber数据时要注意这...

PCB设计中要了解的基本规则

印刷电路板印制应为所有PCB设置最大尺寸。面板的大小也有限制。始终在一个面板中使用更多的板,以节省更....
发表于 2020-09-02 18:14 259次阅读
PCB设计中要了解的基本规则

Imagination推出首门RISC-V计算机...

RISC-V是切实可行的,并将在未来五年延伸至所有计算层面。它的开放性使所有层面的设计人员都可以参与....
发表于 2020-09-02 17:55 243次阅读
Imagination推出首门RISC-V计算机...

利用FPGA设计软件开放性性能优化MAX+PLU...

举一个例子:对一个基于FPGA设计的雷达信号处理机,我们关心其在给定发现概率和虚警率的前提下的最小可....
发表于 2020-09-02 17:15 329次阅读
利用FPGA设计软件开放性性能优化MAX+PLU...

国产EDA仅占全球市场的5.6%,国产EDA何去...

“2019年,我国EDA市场规模约为5.8亿美元,仅占全球市场的5.6%。中国EDA厂商总营收不到4....
发表于 2020-09-02 17:15 149次阅读
国产EDA仅占全球市场的5.6%,国产EDA何去...

如何选择最适合的印刷电路板(PCB)材料

设计毫米波频率下的PCB传输线,无论是微带线、带状线还是接地共面波导(GCPW),其尺寸和特性都必须....
发表于 2020-09-02 15:22 252次阅读
如何选择最适合的印刷电路板(PCB)材料

高速BGA封装与PCB差分互连结构进行设计与优化

目前国内外学者对于板级信号完整性问题的研究仍多集中于水平传输线或者单个过孔的建模与仿真,频率大多在2....
发表于 2020-09-02 13:40 233次阅读
高速BGA封装与PCB差分互连结构进行设计与优化

​【芯闻】国微集团潜心打造数字全流程EDA系统 ...

1、全国首台!中国电子推出国产化喷淋式液冷服务器 8月25日消息,从中国电子获悉,近日,中国电子旗下....
发表于 2020-09-02 12:17 847次阅读
​【芯闻】国微集团潜心打造数字全流程EDA系统 ...

PCB信号跨分割线怎么处理?

在PCB设计过程中,电源平面的分割或者是地平面的分割,会导致平面的不完整,这样信号走线的时候,它的参....
发表于 2020-09-02 11:06 195次阅读
PCB信号跨分割线怎么处理?

PCB结构对毫米波雷达性能的影响

常见的复合材料印制电路板(PCB)其介质层大多采用玻璃纤维作为填充料,但是由于玻璃纤维特殊的编织结构....
发表于 2020-09-02 10:57 156次阅读
PCB结构对毫米波雷达性能的影响

FPGA IO的基本结构及默认状态

在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。....
发表于 2020-09-02 09:20 251次阅读
FPGA IO的基本结构及默认状态