0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

读取Xilinx FPGA芯片设备标识符的方法-DNA

FPGA研究院 来源:FPGA视频图像处理 2024-01-03 09:19 次阅读

每一片芯片内部存有一个设备标识符,xilinx把它叫做DNA,这个DNA是不可更改的,永久存在芯片里面的。根据文档介绍,一个系列最多有32块芯片的DNA一样。下面简单介绍一下xilinx FPGA的DNA,及怎么读取出来。

Xilinx的FPGA芯片,在7系列和7系列之前的产品,DNA是一个57Bit的数据,而在7系列之后,如Ultraslace等新型号,DNA是96Bit。下面介绍两种读取方式。

1.通过jtag方式读取

以vivado为例,连接好下载器后,打开hardware manager,芯片上电连接到芯片后,在hardware device properties选项框里面找到REGISTER-EFUSE-DNA_PORT,就可以看到芯片DNA的值,如下图所示:

wKgaomVytpGAKIyhAACK6wGSc80203.png

2.通过调用原语读取

我们可以通过代码读取出芯片的DNA来使用,以vivado为例,首先根据自己选用的芯片型号找到相应的DNA_PORT原语。如下图示,

7系列的DNA_PORT原语:

wKgZomVytpKABtD7AAL8mPuW2yk860.png

Ultrascale系列原语,原语名称有一点点改变,大家注意一下

wKgaomWUtlqAFNOhAAMGRVup36Q724.jpg

查看UG470文档,原语的使用,以7系列为例:

例化原语

wKgZomWUtpKAardBAACCZSbxD3k370.jpg

读取代码如下:

先拉高read信号寄存器加载DNA值,加载完后在拉低read信号,然后使能shift信号,DOUT开始输出DNA数据,通过57个时钟移位后,在取消shift使能。

wKgZomWUtrCACcG-AACIjzRDEY0147.jpg
wKgZomWUttCAMVtOAACcZvPOSkQ013.jpg
wKgZomWUtteAc71DAABd6qvDoyk264.jpg







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119975
  • Xilinx
    +关注

    关注

    71

    文章

    2163

    浏览量

    120971
  • FPGA芯片
    +关注

    关注

    3

    文章

    246

    浏览量

    39775
  • Vivado
    +关注

    关注

    19

    文章

    807

    浏览量

    66311

原文标题:怎样读取Xilinx FPGA芯片的设备标识符---DNA

文章出处:【微信号:FPGA研究院,微信公众号:FPGA研究院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    JAVA语言的标识符、注释和分隔

    JAVA语言的标识符、注释和分隔 3.2.1 标识符程序中要用到许多名字,诸如类、属性、方法的名字。标识符就是用来标记它们的名字。Java
    发表于 12-06 00:21

    2812的eCAN模块接收消息的接收标识符怎么读取

    、数据字节会被写入到邮箱相对应的RAM存储区域中,我想问:怎么才能读取到消息的标识符(就是那个0x11001111111)呢?现有邮箱寄存器好像没有找到。。。求大神指教
    发表于 07-01 17:21

    MSCAN标识符

    关于MSCAN标识符问题:我看到有的例程里,CAN0发送CAN0TXIDR0 = (unsigned char)(msg.id>>3);CAN0TXIDR1 = (unsigned char)(msg.id
    发表于 05-18 19:33

    如何读取iPhone的标识符

    我们如何阅读与BLE先锋工具包连接的iPhone、Android或任何其他BLE设备的唯一标识符
    发表于 10-16 11:51

    C语言的标识符和关键字有哪些

    五、C语言的标识符和关键字一个完整的1.C语言的标识符所谓标识符,实际上是一些由程序编写者自定义的名称,类似于PIC单片机汇编语言中给寄存器(RAM)的命名。C语言中所用到的变量名、函数名、数组名
    发表于 07-15 09:31

    CAN总线过滤器标识符

    ,不是采用一个标识符加一个屏蔽位的方式,而是采用两个标识符寄存器。接收报文的每一位都必须跟过滤器标识符相同。STM32普通型芯片的 CAN 有14组过滤器组(互联型有28组过滤器组)
    发表于 08-19 07:30

    请问NUC029LAN芯片96位唯一标识符 ( UID )怎么读取出来?

    NUC029LAN芯片96位唯一标识符 ( UID )怎么读取出来?看数据手册没看到在哪里读取
    发表于 08-18 06:22

    C语言的标识符和关键字

    标识符是用来标识源程序中某个对象的名字的.这些对象可以是语句、数据类型、函数、变量、常量、数组等。一个标识符由字符串、数字和下划线等组成.第一个字符必须是字母
    发表于 07-17 16:54 94次下载

    python语言的标识符

    在python里,标识符有字母、数字、下划线组成。在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
    的头像 发表于 12-27 16:50 2w次阅读

    51单片机的C语言标识符和关键字详细资料说明

    标识符使用来标识源程序中的某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、常量、数组等。 C语言规定:一个标识符由字母、数字和下划线组成,第一个字符必须是字母或下划线,通常以下划线开头
    发表于 07-19 17:37 1次下载
    51单片机的C语言<b class='flag-5'>标识符</b>和关键字详细资料说明

    VHDL中的标识符的遵循法则

    VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则:
    发表于 07-16 09:00 1.2w次阅读

    Zynq UltraScale+ 器件与PL DNA不同的值

    Xilinx 用两个 96 位独特器件标识符(称为器件 DNA)为每个 Zynq UltraScale+ 器件编程。一个 DNA 值位于可编程逻辑 (PL) 中,另一个
    的头像 发表于 02-08 14:19 1468次阅读
    Zynq UltraScale+ 器件与PL <b class='flag-5'>DNA</b>不同的值

    Zynq UltraScale+ 器件 — PS DNA 没有写保护,是一个与 PL DNA 不同的值

    Xilinx 用两个 96 位独特器件标识符(称为器件 DNA)为每个 Zynq UltraScale+ 器件编程。一个 DNA 值位于可编程逻辑 (PL) 中,另一个
    发表于 01-23 06:32 10次下载
    Zynq UltraScale+ 器件 — PS <b class='flag-5'>DNA</b> 没有写保护,是一个与 PL <b class='flag-5'>DNA</b> 不同的值

    使用RFID卡创建和读取唯一订单标识符的智能装箱站

    电子发烧友网站提供《使用RFID卡创建和读取唯一订单标识符的智能装箱站.zip》资料免费下载
    发表于 12-29 14:54 0次下载
    使用RFID卡创建和<b class='flag-5'>读取</b>唯一订单<b class='flag-5'>标识符</b>的智能装箱站

    西门子博途中硬件标识符示例

    在配置硬件组件时,STEP 7 将为每个硬件对象(如模块、接口或模块端口,甚至是智能设备的传输区)自动分配硬件标识符
    的头像 发表于 08-29 11:08 1.7w次阅读
    西门子博途中硬件<b class='flag-5'>标识符</b>示例