XILINX 的7系列与UltraScale+系列FPGA的Device DNA获取方法与区别及代码仿真与上板案例

前言

在FPGA的开发过程中有时候会遇到一种需求:一个bit烧写文件只在本公司生成的硬件板子上生效,在其余的硬件上不生效。

在这种需求下,通常大家就需要绑定FPGA的DNA进行加密处理了(因为每一个FPGA的DNA都是只读不可更改的,具有唯一性,相当于人的身份证号码)。

今天我们就来谈谈FPGA怎么获取DNA号,并且讲讲XILINX的7系列与UltraScale系列的FPGA的DNA有什么区别。

在文末有例程获取方法哟

FPGA-DNA的获取方法

DNA的获取一般有2种方法,具体如下:

JTAG查询法

用JTAG连上FPGA后,如下图点击位置,输入DNA即可查看

原语+代码获取

原语获取

在vivado的原语获取界面输入dna,找到对应使用FPGA型号系列的DNA原语

DNA代码获取时序

然后通过编写代码调用读取DNA原语获取FPGA的DNA值

代码编写的主要时序以UG470(7系列FPGA配置手册)为例:其实一个时钟的shift出一个bit的dout值。

在这里插入图片描述

7系列与UltraScale/UltraScale+系列DNA的区别

其实7系列与UltraScale系列的DNA主要有2个区别:

  1. DNA的位数:7系列是57bit,UltraScale系列是96bit;
  2. DNA原语DOUT引脚输出的顺序:7系列是大端先出,UltraScale系列是小端先出;

7系列DNA输出顺序与位数

UltraScale系列DNA输出顺序与位数

在这里插入图片描述

代码案例

本人编写的DNA获取代码兼容XILINX 7系列与UltraScale系列,以及兼容国产复旦微的FPGA。

代码端口展示

参数说明:

DNA_DATA_WIDTH:57切换到7系列FPGA,96切换到UltraScale/UltraScale+系列

FDW_BIT:使用XILINX的FPGA时设置为0,使用复旦微的FPGA时设置为1;

两个系列原语调用展示

仿真验证结果展示

7系列DNA仿真时序结果

7系列FPGA-DNA的仿真结果与设置的仿真值一样;

UltraScale系列DNA仿真时序结果

UltraScale系列FPGA-DNA的仿真结果与设置的仿真值一样;

上板结果

在这里插入图片描述

可以看到KU115系列的FPGA从ILA获取的DNA与通过JTAG在VIVADO上查看的DNA一样。

获取资料

若需获取文中例程:

关注公众号后回复:DNA

如果本文对你有所帮助,欢迎点赞、转发、收藏、评论让更多人看到,赞赏支持就更好了

如果对文章内容有疑问,请务必清楚描述问题,留言评论或私信告知我,我看到会回复。

在这里插入图片描述

欢迎FPGA同行者关注微信公众号FPGA加速者,获取更多精彩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中月隐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值