Xilinx FPGA的Bitstream比特流加密设置方法

关于Xilinx FPGA的Bitstream比特流加密设置方法更多信息可参阅应用笔记xapp1084。

使用加密bitstream分两个步骤:

  • 将bitstream的AES密钥存储在FPGA芯片内
  • 将使用AES密钥加密的Bitstream通过SPI Flash或JTAG加载至FPGA芯片

AES密钥可以存储在两个存储区之一:

  • BBRAM区域,是一个片内RAM区域。当VCCBATT_0掉电,BBRAM数据将会丢失,AES密钥也将随之丢失。VCCBATT_0该引脚可接一个1.0~1.89V范围电压的电池(也就是1.5V或1.55V纽扣电池)。该引脚最大电流仅为150nA,一颗160mAh的LR44氧化银纽扣电池可供其使用长达125年(电池的使用寿命通常没这么久)。如不使用BBRAM区域存储,VCCBATT_0引脚可接至VCCAUX(1.8V)或GND。
  • eFuse区域,是一个一次性写入区域,可永久存储密钥,该方法无需电池

在生成Bitstream时需要明确指定使用的存储区,默认值为BBRAM。

仅当FPGA中存储的AES密钥与生成加密Bitstream时使用的AES密钥完全匹配时,FPGA芯片才能成功加载Bitstream,有效地避免了Bitstream数据被别有用心的人恶意拷贝。(例如抄板FPGA方案后,同时拷贝Flash数据)


加载密钥至BBR的配置方法:

生成加密Bitstream的设置方法:

该设置会自动创建约束条目:

text 复制代码
set_property BITSTREAM.ENCRYPTION.ENCRYPT YES [current_design]
set_property BITSTREAM.ENCRYPTION.KEY0 256'h9196d12d9e552b0f9a3c806d14b98596022c01ff29b67ed4f801f796ae346826 [current_design]

还可以修改【Select location of encryption key】选项,选择使用eFuse内的AES密钥解密Bitstream。

相关推荐
ALINX技术博客18 小时前
【202601芯动态】全球 FPGA 异构热潮,ALINX 高性能异构新品预告
人工智能·fpga开发·gpu算力·fpga
JJRainbow1 天前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
s9123601011 天前
FPGA眼图
fpga开发
北京青翼科技1 天前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库
minglie11 天前
verilog信号命名规范
fpga开发
XINVRY-FPGA1 天前
中阶FPGA效能红线重新划定! AMD第2代Kintex UltraScale+登场,记忆体频宽跃升5倍
嵌入式硬件·fpga开发·硬件工程·dsp开发·fpga
南檐巷上学1 天前
基于FPGA的音频信号监测识别系统
fpga开发·音频·verilog·fpga·傅立叶分析·fft·快速傅里叶变换
Aaron15882 天前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
碎碎思2 天前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发
数字芯片实验室2 天前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发