当前位置: 首页 > article >正文

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的设置方法:
在这里插入图片描述
该设置会自动创建约束条目:

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。


http://www.kler.cn/a/455095.html

相关文章:

  • 【Spring】配置文件的使用
  • 探索基金聚合平台的背景与发展:Finanzen.net、Franklin Templeton、Finect
  • Java基础知识(四) -- 面向对象(下)
  • 前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案
  • 模拟——郑益慧_笔记1_绪论
  • 如何从 0 到 1 ,打造全新一代分布式数据架构
  • 浅谈Python库之asyncio
  • springboot499基于javaweb的城乡居民基本医疗信息管理系统(论文+源码)_kaic
  • layui多图上传,tp8后端接收处理
  • 【蓝桥杯】奇怪的捐赠
  • 【Artificial Intelligence篇】AI 携手人类:共铸未来创作新纪元
  • 去除 el-input 输入框的边框(element-ui@2.15.13)
  • 【模块系列】STM321.69TFT屏幕
  • windows C#-在查询中返回元素属性的子集
  • 原型链(Prototype Chain)入门
  • ITK-基于itkUnaryFunctorImageFilter实现图像反转
  • PDF书籍《手写调用链监控APM系统-Java版》第1章 开篇介绍
  • 前端 学习
  • Alma linux部署gitlab
  • Java 中 List 源码解析:深度剖析与实现
  • 机器学习1-简单神经网络
  • Go主协程如何等其余协程完再操作
  • 废品回收小程序:助力企业转型发展
  • Vue3 +Element-Plus el-select下拉菜单样式(局部生效)
  • vue 中 keep-alive 详解
  • C# 窗体应用程序嵌套web网页,基于谷歌浏览器内核(含源码)