那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

獲取Xilinx FPGA芯片IDCODE的4種方法

電子電路開發(fā)學(xué)習(xí) ? 來源:電子電路開發(fā)學(xué)習(xí) ? 2023-07-03 13:01 ? 次閱讀

Xilinx任何一款FPGA型號都有一個唯一的IDCODE,用來區(qū)分不同的產(chǎn)品,同一型號不同封裝的FPGA IDCODE是一致的,可以通過JTAG、ICAP原語、AXI_HWICAP IP核等多種方式讀取。常見的應(yīng)用場景是同一套代碼兼容不同的芯片型號,比如現(xiàn)在使用的是XC7A35T,新產(chǎn)品更換成了XC7A100T,兩個芯片的封裝不同,管腳配置也不同,而這兩種硬件需要使用一套C/Verilog代碼,這樣就可以通過讀取IDCODE,來進(jìn)行自動區(qū)分不同的硬件,分別進(jìn)行不同的處理方式。本文介紹Xilinx所有FPGA芯片型號IDCODE的獲取方法,一共4種方式,總有一種適合你,這些方法同樣適用于別的廠家的FPGA/MCU,比如IntelLatticeMicrochip等等。

目錄

方式1:官方文檔

方式2:一個頭文件

方式3:BSDL文件

方法4:芯片IDCODE在線搜索網(wǎng)站

Xilinx FPGA部分型號IDCODE匯總

方式1:官方文檔

對于常用的Spartan-6系列可以在UG380文檔中找到對應(yīng)的IDCODE,Spartan-7、Artix-7、Kinte-7、Virtex-7可以在UG470文檔里找到對應(yīng)的IDCODE。

Spartan-6系列的IDCODE對照表位于UG380:Table 5-13: ID Codes

ebc778a0-1957-11ee-962d-dac502259ad0.png

7系列的IDCODE對照表位于UG470:Table 1-1: Bitstream Length

ebe20af8-1957-11ee-962d-dac502259ad0.png

ZYNQ系列沒有找到對應(yīng)的IDCODE說明文檔。

方式2:一個頭文件

在ISE開發(fā)環(huán)境下,最后一個版本14.7,可以在以下安裝路徑的文件中獲取到一些舊型號的IDCODE:


安裝路徑Xilinx14.7ISE_DSEDKswXilinxProcessorIPLibdrivershwicap_v8_01_asrcxhwicap_l.h

ec50c6f0-1957-11ee-962d-dac502259ad0.png

在Vivado開發(fā)環(huán)境下的xhwicap_l.h文件中,刪除了IDCODE。


安裝路徑VivadoSDK2018.3dataembeddedswXilinxProcessorIPLibdrivershwicap_v11_0srcxhwicap_l.h

方式3:BSDL文件

對于ZYNQ-7000系列,一只沒有找到IDCODE相關(guān)的說明文檔,終極解決辦法就是直接從BSDL邊界掃描文件中查找,關(guān)于邊界掃描,這是一個非常有意思的JTAG技巧,我們后面再介紹。只要有了FPGA芯片型號對應(yīng)的BSDL文件,就可以獲取到IDCODE,而且BSDL文件在安裝ISE或安裝Vivado時,就會保存在安裝路徑下。

以查找ZYNQ-7000系列XC7Z100的IDCODE為例,ISE開發(fā)環(huán)境,BSDL文件位于:


D:ProgramXilinx14.7ISE_DSISEzynqdataxc7z100*.bsd

Vivado開發(fā)環(huán)境,BSDL文件位于:


D:ProgramXilinxVivadoSDK2018.3datapartsxilinxzynqpublicsdlxc7z100*.bsd


D:ProgramXilinxVivadoVivado2018.3datapartsxilinxzynqpublicsdlxc7z100*.bsd

所謂的BSDL文件,其實(shí)就是一個VHDL文件,我們以文本方式打開,直接搜索關(guān)鍵字IDCODE_REGISTER,會定位到如下位置:

ec70e638-1957-11ee-962d-dac502259ad0.png

二進(jìn)制合并轉(zhuǎn)換之后,就得到了我們想要的IDCODE:


attributeIDCODE_REGISTERofXC7Z100:entityis "XXXX"&--version "0011011"&--family "100110110"&--arraysize "00001001001"&--manufacturer "1";--requiredby1149.1 --二進(jìn)制合并處理后 attributeIDCODE_REGISTERofXC7Z100:entityis "XXXX"&--version 0011011100110110000010010011--0x03736093

所以,如果想要獲取任何FPGA芯片的IDCODE,只需要獲取對應(yīng)的BSDL文件即可。

方法4:芯片IDCODE在線搜索網(wǎng)站

這里推薦一個在線的IDCODE搜索網(wǎng)站,其實(shí)本質(zhì)是一個BSDL匯總網(wǎng)站:BSDL Files Library for JTAG


理論上任何一個支持JTAG的芯片型號,都會有一個IDCODE用來作為唯一標(biāo)識。 直接輸入想要查找的芯片型號:

ec89d8be-1957-11ee-962d-dac502259ad0.png

點(diǎn)開對應(yīng)的BSDL文件:

ec9b3e7e-1957-11ee-962d-dac502259ad0.png

可以看到IDCODE為0x03736093

Microchip A3P125 FPGA芯片的IDCODE

ecb9ab2a-1957-11ee-962d-dac502259ad0.png

Altera EP4CE40F29 FPGA芯片IDCODE

ecdacc74-1957-11ee-962d-dac502259ad0.png

Xilinx FPGA部分型號IDCODE匯總


/*Virtex4Devices.*/ #defineIDCODE_XC4VLX150x01658093 #defineIDCODE_XC4VLX250x0167C093 #defineIDCODE_XC4VLX400x016A4093 #defineIDCODE_XC4VLX600x016B4093 #defineIDCODE_XC4VLX800x016D8093 #defineIDCODE_XC4VLX1000x01700093 #defineIDCODE_XC4VLX1600x01718093 #defineIDCODE_XC4VLX2000x01734093 #defineIDCODE_XC4VSX250x02068093 #defineIDCODE_XC4VSX350x02088093 #defineIDCODE_XC4VSX550x020B0093 #defineIDCODE_XC4VFX120x01E58093 #defineIDCODE_XC4VFX200x01E64093 #defineIDCODE_XC4VFX400x01E8C093 #defineIDCODE_XC4VFX600x01EB4093 #defineIDCODE_XC4VFX1000x01EE4093 #defineIDCODE_XC4VFX1400x01F14093 #defineIDCODE_V4_NUM_DEVICES17 /*Virtex5Devices*/ #defineIDCODE_XC5VLX300x0286E093 #defineIDCODE_XC5VLX500x02896093 #defineIDCODE_XC5VLX850x028AE093 #defineIDCODE_XC5VLX1100x028D6093 #defineIDCODE_XC5VLX2200x0290C093 #defineIDCODE_XC5VLX3300x0295C093 #defineIDCODE_XC5VLX30T0x02A6E093 #defineIDCODE_XC5VLX50T0x02A96093 #defineIDCODE_XC5VLX85T0x02AAE093 #defineIDCODE_XC5VLX110T0x02AD6093 #defineIDCODE_XC5VLX220T0x02B0C093 #defineIDCODE_XC5VLX330T0x02B5C093 #defineIDCODE_XC5VSX35T0x02E72093 #defineIDCODE_XC5VSX50T0x02E9A093 #defineIDCODE_XC5VSX95T0x02ECE093 #defineIDCODE_XC5VFX30T0x03276093 #defineIDCODE_XC5VFX70T0x032C6093 #defineIDCODE_XC5VFX100T0x032D8093 #defineIDCODE_XC5VFX130T0x03300093 #defineIDCODE_XC5VFX200T0x03334093 #defineIDCODE_V5_NUM_DEVICES20 /*Virtex6Devices*/ #defineIDCODE_XC6VHX250T0x042A2093 #defineIDCODE_XC6VHX255T0x042A4093 #defineIDCODE_XC6VHX380T0x042A8093 #defineIDCODE_XC6VHX565T0x042AC093 #defineIDCODE_XC6VLX75T0x04244093 #defineIDCODE_XC6VLX130T0x0424A093 #defineIDCODE_XC6VLX195T0x0424C093 #defineIDCODE_XC6VLX240T0x04250093 #defineIDCODE_XC6VLX365T0x04252093 #defineIDCODE_XC6VLX550T0x04256093 #defineIDCODE_XC6VLX7600x0423A093 #defineIDCODE_XC6VSX315T0x04286093 #defineIDCODE_XC6VSX475T0x04288093 #defineIDCODE_XC6VCX75T0x042C4093 #defineIDCODE_XC6VCX130T0x042CA093 #defineIDCODE_XC6VCX195T0x042CC093 #defineIDCODE_XC6VCX240T0x042D0093 #defineIDCODE_V6_NUM_DEVICES17 /*Spartan6Devices.*/ #defineIDCODE_XC6SLX40x04000093 #defineIDCODE_XC6SLX90x04001093 #defineIDCODE_XC6SLX160x04002093 #defineIDCODE_XC6SLX250x04004093 #defineIDCODE_XC6SLX25T0x04024093 #defineIDCODE_XC6SLX450x04008093 #defineIDCODE_XC6SLX45T0x04028093 #defineIDCODE_XC6SLX750x0400E093 #defineIDCODE_XC6SLX75T0x0402E093 #defineIDCODE_XC6SLX1000x04011093 #defineIDCODE_XC6SLX100T0x04031093 #defineIDCODE_XC6SLX1500x0401D093 #defineIDCODE_XC6SLX150T0x0403D093 #defineIDCODE_S6_NUM_DEVICES13 /*Kintex7Devices.*/ #defineIDCODE_XC7K30T0x03642093 #defineIDCODE_XC7K70T0x03647093 #defineIDCODE_XC7K160T0x0364C093 #defineIDCODE_XC7K325T0x03651093 #defineIDCODE_XC7K410T0x03656093 #defineIDCODE_XC7K235T0x0365B093 #defineIDCODE_XC7K125T0x0365C093 #defineIDCODE_XC7K290T0x0365D093 #defineIDCODE_XC7K355T0x03747093 #defineIDCODE_XC7K420T0x0374C093 #defineIDCODE_XC7K480T0x03751093 #defineIDCODE_K7_NUM_DEVICES11 /*Virtex7Devices.*/ #defineIDCODE_XC7VX80T0x03680093 #defineIDCODE_XC7VX82T0x03681093 #defineIDCODE_XC7VX330T0x03667093 #defineIDCODE_XC7VX415T0x03682093 #defineIDCODE_XC7V450T0x0366C093 #defineIDCODE_XC7VX485T0x03687093 #defineIDCODE_XC7VX550T0x03692093 #defineIDCODE_XC7V585T0x03671093 #defineIDCODE_XC7VX690T0x03691093 #defineIDCODE_XC7VX980T0x03696093 #defineIDCODE_V7_NUM_DEVICES10 /*Artix7Devices.*/ #defineIDCODE_XC7A150x03627093 #defineIDCODE_XC7A30T0x0362D093 #defineIDCODE_XC7A50T0x0362C093 #defineIDCODE_XC7A100T0x03631093 #defineIDCODE_XC7A200T0x03636093 #defineIDCODE_XC7A350T0x0363B093 #defineIDCODE_A7_NUM_DEVICES6 /*ZynqDevices.LatestasofJuly2023*/ #defineIDCODE_XC7Z0070x03723093 #defineIDCODE_XC7Z0100x03722093 #defineIDCODE_XC7Z0120x0373C093 #defineIDCODE_XC7Z0140x03728093 #defineIDCODE_XC7Z0150x0373B093 #defineIDCODE_XC7Z0200x03727093 #defineIDCODE_XC7Z0300x0372C093 #defineIDCODE_XC7Z0350x03732093 #defineIDCODE_XC7Z0450x03731093 #defineIDCODE_XC7Z1000x03736093 #defineIDCODE_ZYNQ_NUM_DEVICES10

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605983
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51170

    瀏覽量

    427214
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17317

    瀏覽量

    352630
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122125

原文標(biāo)題:獲取Xilinx FPGA芯片IDCODE的4種方法(支持任何FPGA型號)

文章出處:【微信號:mcu149,微信公眾號:電子電路開發(fā)學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于Xilinx FPGA如何獲取FPGA的Device DNA

    作者:Evening Xilinx每一個FPGA都有一個獨(dú)特的ID,也就是Device DNA,這個ID相當(dāng)于我們的身份證,在FPGA芯片生產(chǎn)的時候就已經(jīng)寫死在
    的頭像 發(fā)表于 01-02 09:44 ?4708次閱讀
    關(guān)于<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>如何<b class='flag-5'>獲取</b><b class='flag-5'>FPGA</b>的Device DNA

    從設(shè)備讀取的idcode與bsdl文件中的idcode不匹配該怎么辦?

    是采用324引腳BGA封裝的Xilinx Spartan-6 Lx45 FPGA我試著通過非常簡單的VHDL文件Verilog向我的電路板施法。但我不能為這個錯誤。它在Synthsize,實(shí)現(xiàn)設(shè)計和生成
    發(fā)表于 08-08 08:58

    為什么IDCODEidcode與bsdl文件不匹配?

    ,一切看起來都很好。但是當(dāng)我嘗試編程FPGA或嘗試接收IDCODE時,它會因以下消息而失敗。從設(shè)備接收的IDCODE與預(yù)期的IDCODE相同,但移位了一位數(shù)。信息:iMPACT - 當(dāng)
    發(fā)表于 08-20 10:32

    使用JTAG讀取IDCODE時出現(xiàn)問題如何解決

    我使用的是Virtex-II(XC2V250-4CS144)FPGA4Mbit Xilinx平臺閃存(XCF04S)。我在配置和編程FPGA
    發(fā)表于 06-10 10:20

    XILINX FPGA 芯片整體架構(gòu)是如何構(gòu)成的

    XILINX FPGA 芯片整體架構(gòu)是如何構(gòu)成的?XILINX FPGA 芯片有哪些資源?
    發(fā)表于 10-29 06:26

    芯片功能測試的五種方法

    芯片功能測試常用5種方法有板級測試、晶圓CP測試、封裝后成品FT測試、系統(tǒng)級SLT測試、可靠性測試。
    發(fā)表于 06-09 16:25

    Synopsys和Xilinx合作出版FPGA的SoC設(shè)計原型方法手冊

    Synopsys和Xilinx合作出版業(yè)界首本基于FPGA的SoC設(shè)計原型方法手冊。
    發(fā)表于 03-21 10:26 ?906次閱讀

    訪問集成Xilinx模數(shù)轉(zhuǎn)換器的三種方法介紹

    了解訪問集成Xilinx模數(shù)轉(zhuǎn)換器(XADC)的三種方法; 通過直接連接到PS,作為PS或Microblaze的AXI外設(shè),或作為邏輯的IP核。
    的頭像 發(fā)表于 11-20 06:16 ?2703次閱讀

    獲取Xilinx FPGA的DNA的兩個方法

    Xilinx每一個FPGA都有一個獨(dú)特的ID,也就是Device DNA,這個ID相當(dāng)于我們的身份證,在FPGA芯片生產(chǎn)的時候就已經(jīng)寫死在芯片
    發(fā)表于 12-22 14:31 ?4115次閱讀

    xilinxFPGA芯片選型手冊免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是xilinxFPGA芯片選型手冊免費(fèi)下載
    發(fā)表于 02-13 17:16 ?51次下載
    <b class='flag-5'>xilinx</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>芯片</b>選型手冊免費(fèi)下載

    介紹3種方法跨時鐘域處理方法

    介紹3跨時鐘域處理的方法,這3種方法可以說是FPGA界最常用也最實(shí)用的方法,這三種方法包含了單
    的頭像 發(fā)表于 09-18 11:33 ?2.2w次閱讀
    介紹3<b class='flag-5'>種方法</b>跨時鐘域處理<b class='flag-5'>方法</b>

    分享芯片功能測試的五種方法

    芯片功能測試常用5種方法有板級測試、晶圓CP測試、封裝后成品FT測試、系統(tǒng)級SLT測試、可靠性測試。
    的頭像 發(fā)表于 06-09 15:46 ?3153次閱讀
    分享<b class='flag-5'>芯片</b>功能測試的五<b class='flag-5'>種方法</b>!

    C語言獲取文件長度的兩種方法

    C語言中沒有直接獲取文件長度的接口,但是我們可以使用標(biāo)準(zhǔn)庫提供的函數(shù)來間接的獲取文件長度。這里提供兩種方法
    的頭像 發(fā)表于 10-10 16:15 ?1431次閱讀
    C語言<b class='flag-5'>獲取</b>文件長度的兩<b class='flag-5'>種方法</b>

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個系列和型號,以滿足不同應(yīng)用領(lǐng)域的需求。以下是一些主要的Xilinx FPGA
    的頭像 發(fā)表于 03-14 16:24 ?3529次閱讀

    簡單高效配置FPGA方法

    本文描述了一簡單高效配置FPGA方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設(shè)備。這
    的頭像 發(fā)表于 10-24 14:57 ?806次閱讀
    一<b class='flag-5'>種</b>簡單高效配置<b class='flag-5'>FPGA</b>的<b class='flag-5'>方法</b>
    德州扑克总督| 免费百家乐官网统计工具| 威尼斯人娱乐场wnsrdcylcbywz| 百家乐官网平台是最好的娱乐城 | 长江百家乐官网的玩法技巧和规则| 德州扑克锦标赛| 百家乐必胜绝技| 道真| BB百家乐HD| 678百家乐官网博彩娱乐场| 大发888娱乐总代理qq| 百家乐10法则| 百家乐官网娱乐城游戏| 百家乐群shozo权威| 高尔夫百家乐官网的玩法技巧和规则| 足球波胆| 百家乐电话投注怎么玩| 半圆百家乐官网桌布| 大发888 赌博网站| 网络百家乐路单图| 百家乐官网娱乐皇冠世界杯| 大发888国际娱乐bet| 百家乐的必胜方法| 百家乐官网经验博彩正网| 大发888手机版下载| 玩百家乐官网上高尔夫娱乐场| 石狮市| 免邮百家乐布桌| 百家乐官网是个什么样的游戏 | 伯爵百家乐官网娱乐网| 乐九| 海港城百家乐的玩法技巧和规则| 三公百家乐官网在线哪里可以| 百家乐官网最新打法| 老虎机作弊器| 百家乐投注方法网| 视频百家乐官网网站| 必博365| 百家乐玩法官网| 百家乐稳一点的押法| 百家乐官网真人游戏娱乐平台|