在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于Xilinx FPGA如何獲取FPGA的Device DNA

電子設計 ? 來源:XILINX技術社區 ? 作者:Evening ? 2021-01-02 09:44 ? 次閱讀

作者:Evening

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找到。

pIYBAF9uHniAc3TZAAF3q3q28Sw668.png

接下來說一下這個源語和源語相關的使用方法,這個源語本質上就是讀取FUSE寄存器表里面的FUSE_DNA寄存器,里面還包含了一個移位寄存器,源語中的接口本質上都是操作移位寄存器,這個移位寄存器的長度和器件類型有關,是56或者96bit。源語里面的READ信號,是用于把DNA的值裝載到移位寄存器里面,DIN是移位寄存器的輸入,DOUT是移位寄存器的輸出,SHIFT是移位寄存器的移位使能,CLK是移位寄存器的操作時鐘,官方提供的源語模型和時序圖如下,

pIYBAF9uHnmAW8amAAAXTfT6kg4876.png

o4YBAF9uHnqAGW8bAAAv6gIdl5w929.png

對于用戶來說,調用這個源語,我們只需要按照操作移位寄存器的流程操作就好了,我們目的是讀出源語里面的移位寄存器的值,所以我們設計的思路應該是首先拉高READ先讓移位寄存器裝載DNA的值,然后在時鐘上升沿使能SHIFT,這樣子就能讓移位寄存器里面的值移位出來,下面是核心代碼:
module dna_read(
input sys_clk,

input dna_read_rdy,
output [95:0] dna_read_dat,
output dna_read_vld);

wire dna_dout;
wire dna_read;
wire dna_shift;

DNA_PORTE2 #(
.SIM_DNA_VALUE (96'd0)
)DNA_PORTE2_inst(
.DOUT (dna_dout),
.CLK (sys_clk),
.DIN (dna_dout),
.READ (dna_read),
.SHIFT (dna_shift)
);

reg [95:0] dna_reg = 0;
reg [7:0] dna_cnt = 0;

always @ (posedge sys_clk)
begin
if(dna_read_rdy) begin
dna_cnt end
else begin
dna_cnt end
end

// load dna data from the fuse dna register
assign dna_read = dna_cnt == 8'd63;
// for ultrascale
assign dna_shift = (dna_cnt >= 8'd100) && (dna_cnt

always @ (posedge sys_clk)
begin
dna_reg end

assign dna_read_dat = dna_reg;
assign dna_read_vld = dna_cnt == 8'd196;
endmodule

這是一個axis總線的模塊,在dna_read_rdy拉高表示外部準備好接收數據,這時候模塊讀取DNA的值,然后送出去給外部模塊,外部模塊收到數據和dna_read_vld信號,則拉低dna_read_rdy,完成一次dna數值傳輸流程。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1642

    文章

    21920

    瀏覽量

    612033
  • 寄存器
    +關注

    關注

    31

    文章

    5401

    瀏覽量

    122789
  • Xilinx
    +關注

    關注

    73

    文章

    2179

    瀏覽量

    123915
收藏 人收藏

    評論

    相關推薦

    xilinx FPGA IOB約束使用以及注意事項

    xilinx FPGA IOB約束使用以及注意事項 一、什么是IOB約束 在xilinx FPGA中,IOB是位于IO附近的寄存器,是FPGA
    的頭像 發表于 01-16 11:02 ?635次閱讀
    <b class='flag-5'>xilinx</b> <b class='flag-5'>FPGA</b> IOB約束使用以及注意事項

    【米爾-Xilinx XC7A100T FPGA開發板試用】Key-test

    硬件: 一Xilinx XC7A100T FPGA開發板 二12V電源適配器 三下載器 四 win10筆記本 軟件: 一Vivado (指導手冊有詳細的安裝下載流程) 二官方按鍵示例工程 按鍵示例
    發表于 01-09 16:08

    基于Xilinx ZYNQ7000 FPGA嵌入式開發實戰指南

    電子發燒友網站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開發實戰指南.pdf》資料免費下載
    發表于 12-10 15:31 ?32次下載

    【米爾-Xilinx XC7A100T FPGA開發板試用】測試一

    感謝米爾電子和電子發燒友提供的米爾-Xilinx XC7A100T FPGA開發板。 MYD-J7A100T用的 FPGAXILINX 公司 ARTIX-7 系列的 XC 7A1
    發表于 12-08 08:48

    XILINX FPGA Verilog編程大全2015

    不錯的FPGA編程書籍
    發表于 11-26 13:59 ?8次下載

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發燒友網站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發表于 11-15 15:28 ?0次下載
    采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動指南

    正點原子fpga開發指南

    正點原子(ZYNQ)是一種集成了ARM處理器和FPGA(現場可編程門陣列)的SoC(系統級芯片)解決方案,由Xilinx公司推出。它結合了處理器的靈活性和FPGA的可編程性,適用于需要高性能計算和可
    的頭像 發表于 11-13 09:35 ?1560次閱讀

    FPGA基礎知識及設計和執行FPGA應用所需的工具

    本文將首先介紹FPGA的基礎知識,包括FPGA的工作原理以及為什么要使用FPGA等,然后討論設計和執行FPGA應用所需的工具。
    的頭像 發表于 11-11 11:29 ?1551次閱讀
    <b class='flag-5'>FPGA</b>基礎知識及設計和執行<b class='flag-5'>FPGA</b>應用所需的工具

    Xilinx 7系列FPGA PCIe Gen3的應用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成塊,支持8.0Gb/s數據速率的PCI Express 3.0。本文介紹了7系列FPGA PCIe Gen3的應用接口及一些特性。
    的頭像 發表于 11-05 15:45 ?2372次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> PCIe Gen3的應用接口及特性

    詳解FPGA的基本結構

    ZYNQ PL 部分等價于 Xilinx 7 系列 FPGA,因此我們將首先介紹 FPGA 的架構。簡化的 FPGA 基本結構由 6 部分組成,分別為可編程輸入/輸出單元、基本可編程邏
    的頭像 發表于 10-25 16:50 ?2762次閱讀
    詳解<b class='flag-5'>FPGA</b>的基本結構

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構及應用,熟悉圖像算法的FPGA實現。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發工具。 3.有AI算法 fpga實現經驗優先。 4.本科及
    發表于 09-02 15:50

    一文了解FPGA比特流的內部結構

    比特流是一個常用詞匯,用于描述包含FPGA完整內部配置狀態的文件,包括布線、邏輯資源和IO設置。大多數現代FPGA都是基于SRAM的,包括Xilinx Spartan和Virtex系列。在FP
    的頭像 發表于 07-16 18:02 ?1.4w次閱讀
    一文了解<b class='flag-5'>FPGA</b>比特流的內部結構

    FPGA | Xilinx ISE14.7 LVDS應用

    今天給大俠帶來 Xilinx ISE14.7 LVDS應用,話不多說,上貨。 最近項目需要用到差分信號傳輸,于是看了一下FPGA上差分信號的使用。Xilinx FPGA中,主要通過
    發表于 06-13 16:28

    想通過CYUSB3014配置xilinx FPGA,如何下載CYUSB3014的FPGA配置實用程序工具?

    你好 我想通過 CYUSB3014 配置 xilinx FPGA,如何下載 CYUSB3014 的 FPGA 配置實用程序工具? 謝謝。
    發表于 05-22 07:31

    xilinx中的carry4原語在高云FPGA中用什么原語替代?

    xilinx中的carry4原語在高云FPGA中用什么原語替代
    發表于 05-09 16:13
    主站蜘蛛池模板: 波多野结衣三个女人蕾丝边 | 天堂最新版免费观看 | 日美一级毛片 | 狼狼狼色精品视频在线播放 | 女人午夜啪啪性刺激免费看 | 欧美日韩性高爱潮视频 | 在线天天干 | 中文字幕第二区 | 四虎影视网站 | 男女草逼视频 | 国产午夜免费视频片夜色 | 7777sq国产精品 | 高清一区二区在线观看 | 韩漫免费网站无遮挡羞羞漫画 | 在线91精品亚洲网站精品成人 | 精品成人网 | 福利盒子手机看片 | 色综合色综合色综合 | 婷婷综合色 | 黄色工厂在线播放 | 国产又黄又爽又猛的免费视频播放 | 中文三 级 黄 色 片 | 亚洲精品久久久久午夜福 | 婷婷激情狠狠综合五月 | 黄色大片视频 | a级网| 男女交性视频免费视频 | 超薄肉色丝袜精品足j福利 超黄视频在线观看 | 国产一级毛片午夜福 | 欧美片欧美日韩国产综合片 | 欧美天天射 | 久久久久久久国产精品电影 | 日本最色网站 | 18年大片免费在线 | 久久久午夜精品理论片 | 欧色视频| 欧美天天干 | 午夜免费观看福利片一区二区三区 | 亚洲伊人精品综合在合线 | xxx69欧美| 六月天婷婷 |