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。

相关推荐
szxinmai主板定制专家3 小时前
国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
大数据·运维·网络·人工智能·fpga开发·机器人
FPGA_ADDA3 小时前
基于FPGA 和DSP 的高性能6U VPX 采集处理板
fpga开发·dsp·6u vpx·8通道采集
FakeOccupational6 小时前
fpga系列 HDL:跨时钟域同步 脉冲展宽同步 Pulse Synchronization
fpga开发
丶七年先生6 小时前
牛客 verilog入门 VIP
fpga开发
hahaha60169 小时前
ARINC818协议(六)
网络·fpga开发
深圳信迈科技DSP+ARM+FPGA10 小时前
基于ARM+FPGA+DSP的储能协调控制器解决方案,支持国产化
arm开发·fpga开发·信号处理
承接电子控制相关项目13 小时前
单片机与FPGA的核心差异、优缺点、编程差异、典型应用场景、选型等对比分析
单片机·嵌入式硬件·fpga开发
XINVRY-FPGA15 小时前
XCZU19EG-2FFVC1760I Xilinx赛灵思FPGA Zynq UltraScale+MPSoC
c++·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程·fpga
kanhao1001 天前
为什么FPGA中一般不使用浮点数进行计算?
fpga开发
9527华安1 天前
国产紫光同创FPGA实现SDI视频编解码+图像缩放,基于HSSTHP高速接口,提供2套工程源码和技术支持
fpga开发·视频编解码·图像缩放·紫光同创·sdi·高速接口·hssthp