vivado eFUSE 寄存器访问和编程

eFUSE 寄存器访问和编程
注释 : 在 MPSoC 和 Versal 器件上不支持以下 eFUSE 访问和编程方法。
7 系列、 UltraScale 和 UltraScale+ 器件具有一次性可编程位用于执行特定功能 , 称为 eFUSE 位。不同 eFUSE 位类型如 下所述:
• FUSE_DNA - 存储唯一器件标识位 ( 不可编程 ) 。
• FUSE_USER - 存储 32 位用户定义的代码。
• FUSE_KEY - 存储密钥以供 AES 比特流解密器使用。
• FUSE_CNTL - 控制密钥使用和对 eFUSE 寄存器的读写访问权。
• FUSE_SEC - 控制 UltraScale 和 UltraScale+ 器件中的特殊器件安全性设置。
重要提示 ! eFUSE 寄存器位编程只是一次性操作。 eFUSE 寄存器位一经编程 ( 即 , 从未编程状态 0 转换为 已编程状态 1 ), 则无法复位为 0 和 / 或重新编程。在对任意 eFUSE 寄存器进行编程前 , 应谨慎核查设置。
注意 ! 如有任何 eFUSE 寄存器位先前已编程 ( 即 , 从未编程状态 0 转换为已编程状态 1 ), 那么尝试对其再 次进行编程时, Vivado 硬件管理器会发出严重警告 , 以指出部分位已编程。但即使出现此警告 , 先前操作期 间尚未编程的后续 eFUSE 寄存器位 ( 处于未编程状态 0 ) 仍将继续进行编程。
重要提示 ! 赛灵思建议首先对 FUSE_USER 、 FUSE_KEY 和 FUSE_RSA 寄存器进行编程 , 然后重新运行 “eFUSE 编程 (eFUSE programming) ” Wizard , 对 FUSE_SEC 位进行编程以控制 FPGA 安全性设置 , 最后对 FUSE_CNTL 位进行编程以控制对这些 eFUSE 位执行的读写访问。
针对 eFUSE 编程的电缆支持
支持 eFUSE 编程的兼容 JTAG 下载线缆和器件列表如下 :
• 赛灵思 SmartLynq 数据电缆 (HW-SMARTLYNQ-G/DLC20)
• 赛灵思平台电缆 USB II (DLC10)
• Digilent JTAG-HS1
• Digilent JTAG-HS2
• Digilent JTAG-HS3
适用于 7 系列器件的 eFUSE 寄存器访问和编程
FUSE_DNA : 唯一的器件 DNA
每个 7 系列器件都有唯一的器件 ID , 称为器件 DNA , 且赛灵思已将此 DNA 编程到器件中。 7 系列器件具有 64 位 DNA。您可在 Vivado Design Suite Tcl 控制台中运行以下 Tcl 命令以读取这些位 : 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) ”窗格中 , 指定以下设置 :
• “ AES Key file ”
○
输入文件名或者浏览至目标文件以指定 AES 密钥文件 ( .nky ) 。指定有效的 .nky 文件后 , 就会自动填充 AES 密 钥字段。
• “ USER bits [7:0] and USER bits [31:8] ”
○
所提供的 USER eFUSE 位可支持用户通过编程来获取其自己的特殊 32 位模式。下 8 位 FUSE_USER 与 256 位 高级加密标准 (AES) 密钥同时进行编程。上 24 位用户位可与 AES 密钥并行编程 , 或者也可稍后再编程 在“控制寄存器设置 (Control Register Settings) ”窗格中 , 指定以下设置 :
• CFG_AES_Only : 设置此项即可强制使用存储的 AES 密钥。
• AES_Exclusive : 设置此项即可禁用部分重配置。
• W_EN_B_Key_User : 设置此项即可禁用 AES 密钥和用户寄存器的编程操作。
• R_EN_B_Key : 设置此项即可禁用 AES 密钥的读取操作。
• R_EN_B_User : 设置此项即可禁用用户代码的读取操作。
• W_EN_B_Cntl : 设置此项即可禁用此控制寄存器的编程操作。
如需了解有关这些功能的更多信息 , 请参阅《 7 系列 FPGA 配置用户指南》 ( UG470 ) 。
请复查“ eFUSE 寄存器编程汇总 (Program eFUSE Registers Summary) ”页面中的 eFUSE 设置。
在此窗格中可显示 “ Program eFUSE Registers ” Wizard 面板中设置的所有位。在此窗格中 , 您可查看各个位的设置 , 以便复查特定编程设置。请仔细复查此汇总页面, 以确保要编程的每个位都已正确设置。 单击“Finish ”即可显示“ eFUSE 编程确认 (Program eFUSE confirmation) ”对话框 :
单击“ OK ”以对指定的 FUSE 位进行编程。
强制执行 eFUSE 编程
要对位于寄存器中任意位置的任何位 ( 无论该位先前是否已编程 ) 强制执行置位 , 可将 -force_efuse 选项设置为
program_hw_devices 。使用该选项时 , 将仅执行基本寄存器边界检查。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单例(Singleton)设计模式

2.1 设计模式概述 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。"套路" 经典的设计模式共有23种。每个…

语音识别:基于HMM

HMM语音识别的解码过程 从麦克风采集的输入音频波形被转换为固定尺寸的一组声学向量: 其中是维的语音特征向量(例如MFCC)。 解码器尝试去找到上述特征向量序列对应的单词(word)的序列: 单词序列的长度是。…

【大数据存储】实验4 NoSQL数据库

实验4 NoSQL数据库 NoSQL数据库的安装和使用实验环境: Ubuntu 22.04.3 Jdk 1.8.0_341 Hadoop 3.2.3 Hbase 2.4.17 Redis 6.0.6 mongdb 6.0.12 mogosh 2.1.0 Redis 安装redis完成 新建终端启动redisredis-server新建一个终端redis-cli 建表操作 尝…

蓝桥杯备考随手记: practise02

问题描述: 有些数字的立方的末尾正好是该数字本身。 比如:1,4,5,6,9,24,25,… 请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。 思路分析: 使用循…

超越传统时序!多模态+时间序列8个创新方案,刷新SOTA

传统时间序列无法有效捕捉数据中复杂的非线性关系,导致在处理具有复杂动力学特性的系统时效果不佳。为解决此问题,研究者提出了多模态时间序列。 在预测任务中,多模态时间序列能够整合来自不同类型数据源的信息,从而提供更全面的洞…

笔记: JavaSE day15 笔记

第十五天课堂笔记 数组 可变长参数★★★ 方法 : 返回值类型 方法名(参数类型 参数名 , 参数类型 … 可变长参数名){}方法体 : 变长参数 相当于一个数组一个数组最多只能有一个可变长参数, 并放到列表的最后parameter : 方法参数 数组相关算法★★ 冒泡排序 由小到大: 从前…

JavaScript(六)---【回调、异步、promise、Async】

零.前言 JavaScript(一)---【js的两种导入方式、全局作用域、函数作用域、块作用域】-CSDN博客 JavaScript(二)---【js数组、js对象、this指针】-CSDN博客 JavaScript(三)---【this指针,函数定义、Call、Apply、函数绑定、闭包】-CSDN博客 JavaScript(四)---【执…

并发编程之线程池的应用以及一些小细节的详细解析

线程池在实际中的使用 实际开发中,最常用主要还是利用ThreadPoolExecutor自定义线程池,可以给出一些关键的参数来自定义。 在下面的代码中可以看到,该线程池的最大并行线程数是5,线程等候区(阻塞队列)是3,即…

数据挖掘|关联分析与Apriori算法详解

数据挖掘|关联分析与Apriori算法 1. 关联分析2. 关联规则相关概念2.1 项目2.2 事务2.3 项目集2.4 频繁项目集2.5 支持度2.6 置信度2.7 提升度2.8 强关联规则2.9 关联规则的分类 3. Apriori算法3.1 Apriori算法的Python实现3.2 基于mlxtend库的Apriori算法的Python实现 1. 关联分…

window中如何在Anaconda虚拟环境中安装compressai

1, 进入CompressAI的Github代码页下载压缩包并解压到自己的项目路径 2,打开anaconda的prompt命令行,激活需要安装的虚拟环境,然后进入compressai文件夹,比如下操作: 3,输出安装命令行 pip install -e . -…

redis -String类型用法

一,nosql:泛指非关系型数据库 二 ,关系型 和非关系 有什么特点 1,关系型 传统的RDBMS结构化组织SQL数据和关系都存在单独的表中 row col 数据操作,数据定义语言严格的一致性基础的事务。。。。。2,非关系型…

实现读写分离与优化查询性能:通过物化视图在MySQL、PostgreSQL和SQL Server中的应用

实现读写分离与优化查询性能:通过物化视图在MySQL、PostgreSQL和SQL Server中的应用 在数据库管理中,读写分离是一种常见的性能优化方法,它通过将读操作和写操作分发到不同的服务器或数据库实例上,来减轻单个数据库的负载&#x…

企业必备! 防员工偷懒神器,工作状况一目了然

在当前企业管理中,员工的工作状态和工作效率一直是管理者们关注的焦点。为了更加有效地监管员工的工作微信使用情况,微信管理系统成为了企业必备的神器。 这款系统不仅可以实时监控员工的工作微信,还具有多种实用功能,帮助企业管…

Redis分布式锁常见面试题

文章目录 1.Redis分布式锁是如何实现的2.Redisson实现分布式锁如何合理的控制锁的有效时长3.Redisson的这个锁,可以重入吗4.Redisson锁能解决主从数据一致的问题吗 1.Redis分布式锁是如何实现的 ● 先按照自己简历上的业务进行描述分布式锁使用的场景 ● 我们当时使…

查看图片某点亮度

一背景 光强度的评价通常涉及对光源发出的光的量进行测量和描述。这种评价可以通过多种方式进行,但最常见的是使用光强单位“坎德拉”(candela,cd)来表示。坎德拉是国际单位制(SI)中光强度的单位&#xff…

2024 蓝桥打卡Day31

递归与辗转相除法 递归(Recursion)辗转相除法(Euclidean Algorithm)总结 递归(Recursion) 递归是指一个函数在执行过程中调用自身的过程。在编程中,递归函数在遇到满足某个条件时会停止调用自身…

蓝桥杯真题:货物摆放

import java.util.ArrayList;public class Main {public static void main(String args[]) {//常规思路/*long num 2021041820210418l;int count 0;for ( long i 1 ; i < num ; i ){for ( long j 1 ; j < num ; j ){for ( long k 1 ; k < num ; k ){if ( i * j *…

超详细工具Navicat安装教程

Navicat是一款功能强大的数据库管理工具&#xff0c;可用于管理多种类型的数据库&#xff0c;包括MySQL、MariaDB、SQL Server、SQLite、Oracle和PostgreSQL等。以下是Navicat工具的一些主要特点和功能&#xff1a; 一.功能介绍 跨平台支持 多种数据库支持 直观的用户界面 数据…

go连接数据库(原生)

根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 ​ 常用的关系型数据库基本上都支持&#xff0c;下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…

YUNBEE云贝-技术分享:PostgreSQL分区表

引言 PostgreSQL作为一款高度可扩展的企业级关系型数据库管理系统&#xff0c;其内置的分区表功能在处理大规模数据场景中扮演着重要角色。本文将深入探讨PostgreSQL分区表的实现逻辑、详细实验过程&#xff0c;并辅以分区表相关的视图查询、分区表维护及优化案例&#xff0c;…