Xilinx FPGA烧写文件加密方法

发布时间:2021-09-3 阅读量:3701 来源: 我爱方案网 作者: 我爱方案网整理

Xilinx公司所有FPGA都采用外部Flash存储bit流文件,通常是未经加密的二进制代码—所以直接读取Flash中的数据即可获取bit流文件,并可随意复制产品。在知识产权越受重视的今天,我们需要对bit流文件进行加密以防止非法窃取知识产权。Xilinx公司针对该需求推出了加密方案,在FPGA内集成了AES解密引擎。IES或Vivado在生成ROM文件时使用指定的秘钥将文件加密,将经过加密的ROM文件烧写到Flash中;另外,将相同的秘钥也存放在FPGA中;当FPGA加载Flash中的bit流文件时,使用AES解密引擎恢复出原始bit流实现加载。

 

image.png 


经过加密后,他人虽可读取Flash中的数据,但如果没有秘钥则无法破解bit流文件。复制的文件在FPGA加载时AES解密引擎无法恢复出原始bit流,不能完成加载,实现了保护功能。


哪些FPGA支持bit流加密?7系列所有FPGA、Virtex-6系列所有FPGA、Spartan-6系列部分FPGA、以及新推出的UltraScale系列FPGA都支持AES加密功能(较老的FPGA有部分支持)。


怎样加密bit流文件?IES或Vivado加密bit流的步骤大同小异:1. 在软件中打开加密功能,并设置好秘钥等参数;2.重新生成ROM文件(MCS、bin等格式),方式与以前相同;3. 烧写秘钥文件;4. 烧写Flash,方式与以前相同。


怎样设置加密功能?
以Vivado为例,设置加密功能的方式有多种,下面介绍其中两种:
第一种是在软件中直接设置,步骤如下:1.先综合一次,可不生成bit文件,到这一步即可:  
2.打开bit流设置选项,选择高级设置:  
3.使能加密功能:
4.选择FPGA中秘钥存储方式:
5.手动输入秘钥或指定秘钥文件:
6.点“ok”完成设置,此时软件会在xdc文件中插入加密设置代码。
第二种方式是直接在xdc文件中输入加密设置代码,例如:set_propertyBITSTREAM.ENCRYPTION.ENCRYPT YES [current_design]set_propertyBITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT EFUSE [current_design]set_propertyBITSTREAM.ENCRYPTION.KEY0 256'hF20B [current_design]
注意:这里需要xilinx 官方的USB JTAG来进行烧写,盗版的失效! 


DNA加密AES是一种通用加密算法,但应用上很多小器件还是不支持的,例如Spartan6 LX9;如果工程师使用了这些器件,则需要通过DNA加密的方法。DNA顾名思义,类似一种特殊的芯片识别码使用Impact 工具 很容易读取每个芯片的DNA Code:


生产流程如下:A. 读取FPGA DNA,经过运算的密文烧写到FPGA的BRAM初始化文件;B. 固定BRAM的位置;C. FPGA上电后读取目前芯片的DNA,经过算法计算后验证;同BRAM中存取的合法DNA运算结果比对,合法后工作正常,否则程序功能失效。 


相关资讯
核心对比!无源晶振与有源晶振在结构和工作原理的本质区别

无源晶振与有源晶振是电子系统中两种根本性的时钟元件,其核心区别在于是否内置振荡电路。晶振结构上的本质差异,直接决定了两者在应用场景、设计复杂度和成本上的不同。

温度稳定性对RTC晶振的计时误差影响与分析

RTC(实时时钟)电路广泛采用音叉型32.768kHz晶振作为时基源,但其频率稳定性对温度变化极为敏感。温度偏离常温基准(通常为25℃)时,频率会产生显著漂移,且偏离越远漂移越大。

从参数到实践!剖析有源晶振的频率稳定度、老化率及正确接线方案

有源晶振作为晶振的核心类别,凭借其内部集成振荡电路的独特设计,无需依赖外部电路即可独立工作,在电子设备中扮演着关键角色。本文将系统解析有源晶振的核心参数、电路设计及引脚接法,重点阐述其频率稳定度、老化率等关键指标,并结合实际电路图与引脚定义,帮助大家全面掌握有源晶振的应用要点,避免因接线错误导致器件失效。

如何对抗晶振老化?深入生产工艺与终端应用的防老化指南

晶振老化是影响其长期频率稳定性的核心因素,主要表现为输出频率随时间的缓慢漂移。无论是晶体谐振器还是晶体振荡器,在生产过程中均需经过针对性的防老化处理,但二者的工艺路径与耗时存在显著差异。

无源晶振YSX321SL应用于高精度HUD平视显示系统YXC3225

在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。