vivado适用于 UltraScale 和 UltraScale+ 器件的 eFUSE 寄存器访问和编程

FUSE_DNA 唯一的器件 DNA
每个 UltraScale 器件都有唯一的器件 ID 称为器件 DNA 且赛灵思已将此 DNA 编程到器件中。用户无法对
FUSE_DNA 进行编程。 UltraScale 器件具有 96 DNA 。您可在 Vivado Design Suite Tcl 控制台中运行以下 Tcl 命令以
读取 FUSE_DNA
get_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_DNA
您也可以在 Vivado Design Suite 的“硬件器件属性 (Hardware Device Properties) ”窗口中通过查看 eFUSE 寄存器来访
问器件 DNA 如下图所示。
eFUSE 寄存器编程
要执行 eFUSE 寄存器编程 请在“硬件 (Hardware) ”窗口中右键单击 FPGA 器件并选中“ Program eFUSE
Registers ”。
这样会显示如下图所示的“ Program eFUSE Registers Wizard 并指导您为 eFUSE 寄存器设置各选项。
在“ AES 密钥设置 (AES Key Setup) ”窗格中 指定以下设置
在“加密密钥设置 (Cryptographic Key Setup) Wizard 窗格中 请指定如下密钥设置
• 加密文件密钥 (.nky) 指定包含 eFUSE AES RSA 密钥的 .nky 文件
AES 密钥 256 ): 256 AES eFUSE 密钥从指定 .nky 文件读入 用于对加载的加密比特流进行解密。
RSA 密钥摘要 384 ): 384 RSA eFUSE 密钥从指定 .nky 文件读入 RSA 使用。
• 在“用户寄存器设置 (USER Register Setup) Wizard 窗格中 指定 32 位 用户寄存器或 128 位用户寄存器
在“ USER Register Setup ”窗格中 请指定用户定义的寄存器位数。 32 位用户寄存器 (FUSE_USER) 128 位用户寄
存器 (FUSE_USER128) 由一组用户定义的一次性可编程 eFUSE 位组成。这些寄存器的位属于累积可编程位。这表示如
果您在任一 eFUSE 编程会话中仅对 1 USER 位进行编程 USER = 0x0000_0001 或位 0 ), 那么在后续 eFUSE
编程会话中 您可对剩余 0 位的任一位进行编程 USER = 0x0000_0002 或位 1
FUSE_USER FUSE_USER_128 寄存器完成编程后 可通过多种方式读入这些寄存器
• 使用 Tcl 命令
report_property [lindex [get_hw_device] 0] REGISTER.EFUSE.FUSE_USER
report_property [lindex [get_hw_devices] 0] REGISTER.EFUSE.FUSE_USER_128
• 运行 refresh_hw_device 操作后 通过 Vivado Hardware Device 的“属性 (Properties) ”窗口。
在“控制寄存器设置 (Control Register Setup) Wizard 窗格中 指定以下设置
在“ Control Register Setup ”窗格中 指定 eFUSE 控制设置。
R_DIS_KEY 设置此项即可禁用用于验证 FUSE_KEY 加密密钥的密钥和编程的 CRC 检查。
R_DIS_USER 设置此项即可禁用 32 位用户位 (FUSE_USER) 的读取和编程操作。
R_DIS_SEC 设置此项即可禁用安全寄存器位 (FUSE_SEC) 的读取和编程操作。
R_DIS_RSA 设置此项即可禁用 RSA 密钥寄存器 (FUSE_RSA) 的读取和编程操作。
W_DIS_USER 设置此项即可禁用 32 位用户位 (FUSE_USER) 的编程操作。
W_DIS_SEC 设置此项即可禁用安全寄存器位 (FUSE_SEC) 的编程操作。
W_DIS_RSA 设置此项即可禁用 RSA 密钥寄存器 (FUSE_RSA) 的编程操作。
W_DIS_USER_128 设置此项即可禁用 128 位用户位 (FUSE_USER128) 的编程操作。
如需了解有关 FUSE_SEC 寄存器的更多详细信息 请参阅《 UltraScale 架构配置用户指南》 ( UG570 )
禁用控制寄存器设置
要禁用控制寄存器编程 请运行以下 Tcl 命令
program_hw_devices -control_efuse {20} [lindex [get_hw_devices] $deviceIdx]
其中 $deviceIdx 设置为 UltraScale UltraScale+ 器件的索引 您可在此类器件中禁用 eFUSE 控制寄存器位编程。
这样即可设置 W_DIS_CNTL 从而禁用后续 eFUSE 控制寄存器位编程。
重要提示 如果 W_DIS_CNTL 位已编程 那么将禁用其它 eFUSE 控制寄存器位的编程操作 从而阻止对器件
的控制寄存器进行进一步编辑。
在“安全寄存器设置 (Security Register Setup) Wizard 窗格中 指定以下设置
在“ Security Register Setup Wizard 窗格中 基于允许在 FPGA 上加载的比特流类型来指定安全控制选项。
FUSE_SEC 设置如下
• “ CFG_AES_Only 设置此项表示仅接受加密比特流。
• “ EFUSE_KEY_Only 设置此项表示仅限 eFUSE 密钥可用于解密。
• “ RSA_AUTH 设置此项表示强制对比特流执行 RSA 身份验证。
• “ SCAN_DISABLE 设置此项表示禁用赛灵思访问内部测试寄存器的权限。
• “ CRYPT_DISBALE 设置此项表示永久禁用解密器。
如需了解有关 FUSE_SEC 寄存器的更多详细信息 请参阅《 UltraScale 架构配置用户指南》 ( UG570 )
请复查“ eFUSE 寄存器编程汇总 (Program eFUSE Registers Summary) ”窗格中的 eFUSE 设置。
在此窗格中可显示 “ Program eFUSE Registers Wizard 面板中设置的所有位。在此窗格中 您可查看各个位的设置
以便复查特定编程设置。请仔细复查此汇总页面 以确保要编程的每个位都已正确设置。
单击“ Finish ”即可显示“ eFUSE 编程确认 (Program eFUSE confirmation) ”对话框
单击“ OK ”以对指定的 FUSE 位进行编程。
禁用 JTAG 接口
要通过 eFUSE 寄存器禁用 JTAG 接口 请运行以下 Tcl 命令
program_hw_devices -force_efuse -security_efuse {08} [lindex
[get_hw_devices] $deviceIdx]
其中 $deviceIdx 设为将禁用其中 JTAG 接口的 UltraScale UltraScale+ 器件的索引。
重要提示 用于为 7 系列器件禁用 JTAG 接口的 Tcl 命令不同于以上用于 UltraScale UltraScale+ 器件的命
令。如果使用 7 系列器件 请参阅赛灵思答复记录 65110 中列出的 XSK_EFUSEPL_DISABLE_JTAG_CHAIN
条目。
注释 此编程步骤应在所有期望的 eFUSE 位全都完成编程后 作为最后一步来执行。
重要提示 如果 JTAG 禁用位已编程 则将禁用 JTAG 接口 导致后续无法再接入器件进行测试和配置。仅当无
需再通过 JTAG 访问器件时 才能对该位进行编程。
强制执行 eFUSE 编程
要对位于寄存器中任意位置的任何位 无论该位先前是否已编程 强制执行置位 可将 -force_efuse 选项设置为
program_hw_devices 。使用该选项时 将仅执行基本寄存器边界检查。
eFUSE NKZ 文件
为了在单一文件内采集所有 eFUSE 编程设置 以便于将 eFUSE 设置导出到其它 eFUSE 编程器实现 以及将这些
eFUSE 设置批量编程到大量器件中 赛灵思定义了称为 NKZ 的文件格式 并以文件扩展名 .nkz 来指定此格式。 NKZ
格式是现有 NKY 格式的超集 NKZ 支持所有 NKY 字段以及任何可编程 eFUSE 寄存器设置。
eFUSE 导出 NKZ 文件
由于建议您将 eFUSE 设置编程为按多轮次运行 因此 eFUSE 设置始终导出至外部可见 NKZ 文件 并在每次 eFUSE
作期间更新此文件。此文件用于累积应用于器件的所有 eFUSE 设置 即使通过多次 eFUSE 操作来应用这些设置也是如
此。 Vivado 会跟踪此文件 确保始终有单一 eFUSE 导出文件 其中包含 NKZ 格式的器件累积 eFUSE 设置。如果未指
定任何选项 那么此文件默认名称为
export_<FUSE_DNA>.nkz
其中 <FUSE_DNA> 是器件的 FUSE_DNA 寄存器值。
此默认文件位于 Vivado ® IDE 的启动目录中。可使用 program_hw_devices Tcl 命令搭配 -efuse_export_file
选项来更改此文件 如以下示例所示
program_hw_devices -user_efuse {1} -efuse_export_file {my_settings.nkz}
随后 Vivado IDE 会使用针对导出的 eFUSE 设置指定的 NKZ 文件来启动 而无需在 Tcl 选项中反复指定此文件。这样
就不会移除先前创建的任何 eFUSE 导出文件 而是在此文件中包含更改 eFUSE 导出文件名之前应用的所有 eFUSE
置。执行完所有 eFUSE 操作后 所有 eFUSE 设置都存储在当前 eFUSE 导出文件中。
此外还有 1 个选项可用于单独导出 eFUSE 设置 而无需实际完成器件编程操作。该选项可用于创建包含所有必需
eFUSE 设置的单一 NKZ 文件 而不会影响器件。此外 只需通过直接移除 eFUSE 导出文件并从头开始操作即可轻松
解决在此模式下发生的任意 eFUSE 编程错误。可通过以下 Tcl 命令来使用此仅限导出模式
program_hw_devices -user_efuse {1} -only_export_efuse
该选项仅适用于单一命令 因此必须在每项 eFUSE 操作中使用该选项 以避免对器件进行编程。由于 eFUSE 设置始终
导出至 NKZ 文件 与是否执行编程无关 因此赛灵思强烈建议不要将编程流程与仅限导出流程混用。否则 生成的
eFUSE 导出文件可能同时包含实际已编程到器件中的 eFUSE 设置和仅导出到 NKZ 文件的设置 导致器件中 eFUSE
存器状态不明确。通过使用此仅限导出模式 所创建 NKZ 格式的 eFUSE 导出文件与执行编程后创建的导出文件完全相
而无需在器件上执行编程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/515015.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matlab梁单元有限元编程:铁木辛柯梁VS欧拉梁

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

openplc Linux 地址映射io,读写驱动数据等使用记录

1. 上一篇记录 openplc使用C语言文件读写驱动实现基本流程。 openPLC_Editor C语言编程 在mp157 arm板上调用io等使用记录_openplc c 编程-CSDN博客 2. 下面通过映射地址的方式控制io和读写驱动数据。 在runtime 环境的 hardware 硬件配置中 选择 python on Linux(PSM)&#…

成为先进企业应该从用飞书开始,还是应该从裁员开始?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 大家都觉得飞书不行了&#xff0c;我们反而不这么看。 众所周知&#xff0c;飞书最近裁员的消息在业界引起了巨大的反响&#xff0c;大…

基于SSM+Jsp+Mysql的快递管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

62、服务攻防——框架安全CVE复现SpringStrutsLaravelThinkphp

文章目录 常见语言开发框架&#xff08;主流&#xff09;&#xff1a; PHP&#xff1a;ThinkPHP、Laravel、YIIJAVA&#xff1a;Spring、SpringbootPython&#xff1a;FlaskJavaScript&#xff1a;Vue.js、Node.js 框架判断()&#xff1a; 通过插件Wappalyzer&#xff08;可能…

练手项目层初阶1—《详解静态版本——通讯录管理系统》

文章目录 &#x1f6a9;前言&#x1f50a; 项目需求&#x1f4da; 项目知识点包含&#x1f9e9;项目框架&#x1f4dd;框架拆解分析✨Struct_book.h 头文件解析✨Struct_book.c文件解析✨test_book.c文件解析 &#x1f4fa;演示效果&#x1f680;完整代码 &#x1f6a9;前言 俗…

联想 Y9000P 连接网线速度慢 的 问题解决

参考帖子&#xff1a;求助&#xff0c;拯救者Y9000P 2022 i73060版本 有线网非常慢 无线网正常【笔记本吧】_百度贴吧 问题原因&#xff1a; 网卡驱动版本不对。不能用Win11版&#xff0c;要用Win10版。 问题解决&#xff1a; 1、卸载原驱动 2、下载Win10 驱动 并安装 下载…

C语言——常用库函数的使用及模拟实现

C语言编译系统为使用者提供了很多的预定义库函数。用户在编写程序时&#xff0c;可以直接调用这些库函数。这里选择了一些常用的库函数&#xff0c;简单介绍各个函数的使用方法&#xff1a; 字符串函数 字符串函数函数分为长度不受限制的字符串函数&#xff0c;和长度受限制的…

手搓链表(java)(不完整)

手搓链表&#xff08;java&#xff09;&#xff08;不完整&#xff09; 文章目录 手搓链表&#xff08;java&#xff09;&#xff08;不完整&#xff09;前言一、代码1.MyLinkedList类&#xff1a;2.测试类&#xff1a; 总结 前言 提示&#xff1a;以下是本篇文章正文内容&…

Git 术语及中英文对照

完毕&#xff01;&#xff01;感谢您的收看 ----------★★历史博文集合★★---------- 我的零基础Python教程&#xff0c;Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字…

保姆级教程——VLAN综合实验(不同VLAN通过动态路由访问外网)

前言&#xff1a; 部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发&#xff0c;因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现&#xff0c;也可以通过三层交换机来实现 VLAN间通信的限制 每个VLAN都是一个独立的…

vue 使用自定义标签URL Protocol 调用本地exe 并传参

创建注册表文件reg&#xff0c;并运行 里面的路径需要替换成实际exe的绝对路径 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\App] "URL:App Protocol Handler" "URL Protocol""" [HKEY_CLASSES_ROOT\App\DefaultIcon] &qu…

启动mysql

删除C:\Program Files (x86)\MySQL\MySQL Server 5.7这个路径下的data文件夹&#xff0c;这个很难删除&#xff0c;因为一开机&#xff0c;mysql的某些服务就启动了&#xff0c;每次重新启动mysql之前&#xff0c;都要删除这个文件夹 因为这个文件夹在后端执行一些我们看不到的…

pycharm打包python文件为exe文件(图文教程)

1.安装pyinstaller库 pip3 install pyinstaller 2.使用pyinstaller 打包文件 首先确保Terminal命令行中&#xff0c;你的路径和你的项目是同一个路径 我的项目就是放在golden_dev中的。 3.命令行内输入打包代码 pyinstaller -F -w gold_miner.py gold_miner.py 是我的项目…

HomePlug AV

目录 HomePlug AV的基本概念基本术语网络概念网络实例 HomePlug AV物理层&#xff08;PHY&#xff09;HomePlug AV OFDM收发器架构PHY的调制模式FC调制和ROBO调制物理层的特点OFDM频域/时域转换开窗/槽式OFDM信号和噪声PHY发送控制——信道自适应PHY帧格式&#xff08;Symbol&a…

微软邮箱被锁住,该如何解除限制?

ChatGPT账号是微软邮箱注册的&#xff0c;我们在登陆微软邮箱时&#xff0c;http://www.outlook.com&#xff0c;不需要开魔法工具&#xff0c;直接就可以登陆&#xff0c;否则会出现安全验证&#xff0c;限制登陆。 那么如果账号被锁&#xff0c;我们该如何解除限制呢&#x…

目标检测——监控下的汽车

一、重要性及意义 首先&#xff0c;车辆检测技术是保证视频监控系统正常运行的基础。通过监控摄像头实时获取的图像&#xff0c;可以自动检测出图像中的车辆&#xff0c;并进行车辆类型的分类和识别。这对于优化城市交通管理、实现智能交通系统具有重要意义。此外&#xff0c;…

【LeetCode热题100】51. N 皇后(回溯)

一.题目要求 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方…

渐进式图片解决前端在页面中使用大图,图片体积过大导致页面出现白屏现象

1、演示 可以看到&#xff0c;图片还在拼命加载的时候&#xff0c; 页面上就已经有内容了 2、什么渐进式图片 图片一开始是模糊的&#xff0c;然后逐渐的开始变的清晰。如果页面上有一些大图&#xff0c;如果直接扔给浏览器的话那么图片的传输时间就会比较长&#xff0c;用户就…

fastadmin学习08-查询数据渲染到前端

index.php查询&#xff0c;这个是前台的index.php public function index() {$slideImgs Db::name("slideimg")->where("status",,normal)->limit(5)->order(sort,desc)->select();$productList Db::name("product")->where(…