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。

相关推荐
坏孩子的诺亚方舟15 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐16 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐16 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH17 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡17 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安17 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐18 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯18 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客18 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA18 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发