首页 > 技术 > 内容

Xilinx-FPGA的DNA的读取方法

时间:2026-01-22  作者:Diven  阅读:0

Xilinx每一个FPGA都有一个独特的ID,也就是DevICe DNA,这个ID相当于我们的身份证,在FPGA芯片生产的时候就已经写死在芯片的eFuse寄存器中,具有不可修改的属性,因为使用的是熔断技术。值得说明的是,在7系列及以前,这个ID都是57bit的,但是在Xilinx的Ultraslace架构下是96bit。

FPGA的DNA我们一般的使用场景是用于用户逻辑加密。用户在逻辑上可以通过特定的接口把这个DevICe DNA读取出来,经过一系列加密算法之后和预先在外部Flash存储的一串加密后的字节串做比较,这个flash存储的加密后的字节串也是由该DNA经过加密后得到,fpga加载程序后可以先从flash读出该段字节做比较,如果相同,则让FPGA启动相应的逻辑,如不同,则代表该FPGA没有经过用户授权,用户逻辑上可以关闭FPGA的逻辑功能甚至可以通过一些手段让硬件损坏。

如何获取FPGA的Device DNA呢,下面我从JTAG和调用源语两个方法说明,并开放核心代码供大家参考。

第,通过JTAG获取,这种方法在ISE的Impact或者vivado都可以实现,下面介绍在Vivado下如何或者Device DNA,这个其实很简单,首先板卡通过JTAG连接PC,在Flow Navigator -》 PROGRAM AND DEBUG 界面下,点击对应的FPGA的芯片,点击Hardware Device Properties,在search中搜索dna,在REGISTER下可以找到Device DNA,在Impact下如何获取DNA网上有相应的文章,这里就不做进一步介绍。

第二种,用户逻辑通过调用源语获取,至于源语是什么,这里跟大家分享一个技巧,一般我们使用源语的时候,往往记不住大量的源语定义,那么如何快速搜索到我们想要的源语呢,在Vivado中,有一个功能是Language Templates,在Flow Navigator可以找到,里面包含了基本所有的Xilinx提供的源语和一些语法用法,以DNA读取为例,我们搜索DNA,就可以找到关于DNA的源语,由于博主用的是VU9P的片子,所以用的是DNA_PORTE2这个源语,针对7系列及以前,使用的是DNA_PORT源语,这两个源语都可以在Language Templates找到。

接下来说一下这个源语和源语相关的使用方法,这个源语本质上就是读取FUSE寄存器表里面的FUSE_DNA寄存器,里面还包含了一个移位寄存器,源语中的接口本质上都是操作移位寄存器,这个移位寄存器的长度和器件类型有关,是56或者96bit。源语里面的READ信号,是用于把DNA的值装载到移位寄存器里面,DIN是移位寄存器的输入,DOUT是移位寄存器的输出,SHIFT是移位寄存器的移位使能,CLK是移位寄存器的操作时钟,官方提供的源语模型和时序图如下

对于用户来说,调用这个源语,我们只需要按照操作移位寄存器的流程操作就好了,我们目的是读出源语里面的移位寄存器的值,所以我们设计的思路应该是首先拉高READ先让移位寄存器装载DNA的值,然后在时钟上升沿使能SHIFT,这样子就能让移位寄存器里面的值移位出来,下面是核心代码:

这是一个axis总线的模块,在dna_read_rdy拉高表示外部准备好接收数据,这时候模块读取DNA的值,然后送出去给外部模块,外部模块收到数据和dna_read_vld信号,则拉低dna_read_rdy,完成一次dna数值传输流程。

猜您喜欢


开关二极管是重要的电子元件,应用于各种电路中。主要功能是控制电流的流动,起到开关的作用。了解开关二极管的工作原理,不仅有助于我们更好地设计电路,还能提高电路的效...
2025-04-07 22:30:35
在现代工业和日常生活中,粘合剂的应用无处不在。根据其成分,粘合剂可以分为溶剂基和水基两种类型。溶剂基粘合剂以有机溶剂为基础,具有较强的粘接力和优良的耐温性,适用...
2013-11-26 00:00:00
保险丝作为重要的保护元件,有着着保障设备安全、避免短路和过载的关键作用。宝利欧6保险丝因其稳定的性能和高品质的制造工艺,受到众多用户的青睐。本文将围绕“宝利欧6...
2020-04-24 02:35:30
盘头内六角机螺钉三组合是应用于机械装配中的紧固件,其参数设计直接影响到装配的稳定性和安全性。螺钉的材质通常采用高品质碳钢或不锈钢,以确保其耐腐蚀性和强度。螺纹标...
2009-01-22 00:00:00
光的精确控制是光学成像、传感和通信的关键要求。用于此目的的传统镜头有局限性,需要更精确和紧凑的解决方案。为了满足这一需求,研究人员开发了超透镜,这是一种由纳米材...
2023-07-27 09:52:00
二极管是重要的半导体器件,应用于电子电路中。主要功能是允许电流在一个方向流动,而阻止在相反方向流动。二极管的种类繁多,各种二极管具有不同的性能和作用,适用于不同...
2025-04-03 00:00:02
贴片电阻,这种小巧的电子元件,在现代电子设备中扮演着至关重要的角色。它如同电路中的「减速带」,控制着电流的流动,确保电路的稳定运行。其工作原理基于欧姆定律:电压...
2024-11-26 11:29:11