跳转到主要内容

Xilinx FPGA的DNA是什么?

judy 提交于

本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s/2ZVFAaSiRmRnKc6cTv5y6g"&gt; 傅里叶的猫微信公众号</a></span>

对于Xilinx的FPGA,每一片都有一个专门的ID,就像我们的身份证号一样,每个都不一样,Xilinx也形象的把这个ID叫做DNA。7系列以及之前FPGA的DNA有57bit,Ultrascale FPGA的DNA有96bit,Zynq Ultrascale+的FPGA有两个DNA,PL端一个,PS端也有一个。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555104-22…; alt=""></center>

DNA都是只读的,我们不可以修改。

有两种方法可以读到这个DNA的值,一种是连上JTAG后,可以直接看到FPGA的DNA信息,以K7为例:
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555104-22…; alt=""></center>

第二种方法就是通过例化DNA_PORT模块,来获取。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555104-22…; alt=""></center>

这个模块就是通过移位寄存器来获取,每个时钟移位一次,当移位57次后就可以将DNA数据全部读出。程序比较简单,这里就不展示了。

PS端的DNA就是通过读地址0xFFCC100C、0xFFCC1010 和0xFFCC1014 来获取。