1. 什么是BSDL文件?
上一篇文章,我們介紹了JTAG邊界掃描的基礎(chǔ)知識(shí),今天我們來(lái)看看邊界掃描測(cè)試必須使用到的一個(gè)文件,BSDL文件。BSDL,Boundary Scan Description Language的縮寫,即邊界掃描描述語(yǔ)言,屬于VHDL的一個(gè)子集,內(nèi)容符合VHDL的語(yǔ)法標(biāo)準(zhǔn),用于描述JTAG在指定設(shè)備中的實(shí)現(xiàn)方式,只要設(shè)備符合JTAG標(biāo)準(zhǔn),那么它必須具有對(duì)應(yīng)的BSDL文件。BSDL文件主要包括以下信息:-
當(dāng)前芯片所支持的最大TCK頻率
-
定義了管腳的名稱和序號(hào)
-
定義了電源、時(shí)鐘、配置、IO管腳等等。每個(gè)管腳的類型,如VCC、GND、CLK,管腳的名稱及序號(hào)
-
所有可用命令寄存器
-
所有可用的數(shù)據(jù)寄存器,包括可能的預(yù)設(shè)值,例如:器件的IDCODE
2. BSDL文件的獲取
方式1:BSDL Library
https://www.bsdl.info/ 這個(gè)網(wǎng)站幾乎包括所有支持JTAG芯片的BSDL文件,超過(guò)100家半導(dǎo)體公司的上萬(wàn)款芯片,包括MCU、DSP、PowerPC、CPLD、FPGA等,現(xiàn)在還在持續(xù)更新中。支持通過(guò)芯片型號(hào)或IDCODE搜索對(duì)應(yīng)的BSDL文件,可以在線進(jìn)行預(yù)覽,非常方便
方式2:各芯片的官方網(wǎng)站
在各大芯片廠商的官方網(wǎng)站一般會(huì)提供BSDL文件,下面以Xilinx、Altera、Microsemi、ST意法半導(dǎo)體為例,介紹如何獲取BSDL文件。Xilinx FPGA BSDL文件獲取
Xilinx CPLD/FPGA BSDL文件一般位于開發(fā)環(huán)境ISE或Vivado安裝路徑下:ISE 14.7對(duì)應(yīng)路徑為,例如Artix-7系列XC7A100T的BSDL文件位于:Xilinx14.7ISE_DSISEartix7data Vivado 2018.3對(duì)應(yīng)路徑如下:
VivadoVivado2018.3ids_liteISEartix7data 除了開發(fā)環(huán)境的安裝目錄,Xilinx還在官方網(wǎng)站上提供有各系列FPGA的BSDL文件下載:
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/device-models/bsdl-models/artix-series-fpgas.html
Altera FPGA BSDL文件獲取
由于我的電腦沒(méi)裝Quartus開發(fā)環(huán)境,所以不確定BSDL文件是否能在安裝路徑下找到,Altera官方網(wǎng)站也可以進(jìn)行下載:IEEE 1149.1 BSDL 文件下載https://www.intel.cn/content/www/cn/zh/support/programmable/support-resources/board-layout/bsd-11491.html IEEE 1149.6 BSDL 文件下載
https://www.intel.cn/content/www/cn/zh/support/programmable/support-resources/board-layout/bsd-11496.html
Microsemi FPGA BSDL文件獲取
Microchip(Microsemi)FPGA的BSDL模型下載地址:https://www.microsemi.com/product-directory/design-resources/1717-bsdl-models
ST MCU BSDL文件獲取
意法半導(dǎo)體MCU的BSDL文件可以到官方網(wǎng)站搜索BSDL,就會(huì)彈出對(duì)應(yīng)系列的BSDL文件包。部分系列的BSDL文件下載地址:STM32F1: https://www.st.com/content/ccc/resource/technical/ecad_models_and_symbols/bsdl_model/75/4a/50/d0/ad/aa/49/92/stm32f1_bsdl.zip/files/stm32f1_bsdl.zip/jcr:content/translations/en.stm32f1_bsdl.zip STM32F2: https://www.st.com/content/ccc/resource/technical/ecad_models_and_symbols/bsdl_model/e9/d6/86/75/13/99/46/c8/stm32f2_bsdl.zip/files/stm32f2_bsdl.zip/jcr:content/translations/en.stm32f2_bsdl.zip STM32F17: https://www.st.com/content/ccc/resource/technical/ecad_models_and_symbols/bsdl_model/ad/a6/69/0f/70/95/49/92/stm32f7_bsdl.zip/files/stm32f7_bsdl.zip/jcr:content/translations/en.stm32f7_bsdl.zip
3. BSDL文件示例
下面是Xilinx CPLD XC95144的BSDL文件的部分內(nèi)容:-- --BSDLFilecreated/editedbyBCADBSDEditorVersion3.1 -- --BSDE$Header:/devl/xcs/repo/env/Jobs/iMPACT/data/xc9500/xc95144.bsd,v1.22000/10/240057sanjaysExp$ --BSDEXilinx144macrocellFastFLASHISPCPLD entityXC95144is generic(PHYSICAL_PIN_MAP:string:="DIE_BOND"); port( PB00_00:inoutbit; PB00_01:inoutbit; PB00_02:inoutbit; ........ VSSINT_4:linkagebit; VSSIO_1:linkagebit; VSSIO_2:linkagebit; VSSIO_3:linkagebit; VSSIO_4:linkagebit; VSSIO_5:linkagebit; VSSIO_6:linkagebit; VSSIO_7:linkagebit; VSSIO_8:linkagebit; VSSIO_9:linkagebit ); useSTD_1149_1_1990.all; attributePIN_MAPofXC95144:entityisPHYSICAL_PIN_MAP; constantDIE_BOND:PIN_MAP_STRING:= "PB00_00:PAD25,"& "PB00_01:PAD18,"& "PB00_02:PAD19,"& "PB00_03:PAD27,"& "PB00_04:PAD21,"& "PB00_05:PAD22,"& "PB00_06:PAD32,"& "PB00_07:PAD23,"& "PB00_08:PAD24,"& "PB00_09:PAD34,"& ........ "VSSIO_3:PAD51,"& "VSSIO_4:PAD80,"& "VSSIO_5:PAD99,"& "VSSIO_6:PAD110,"& "VSSIO_7:PAD120,"& "VSSIO_8:PAD137,"& "VSSIO_9:PAD160"; attributeTAP_SCAN_INofTDI:signalistrue; attributeTAP_SCAN_OUTofTDO:signalistrue; attributeTAP_SCAN_MODEofTMS:signalistrue; attributeTAP_SCAN_CLOCKofTCK:signalis(1.00e+07,BOTH); attributeINSTRUCTION_LENGTHofXC95144:entityis8; attributeINSTRUCTION_OPCODEofXC95144:entityis "BYPASS(11111111),"& "CONLD(11110000),"& "EXTEST(00000000),"& "FERASE(11101100),"& "FBULK(11101101),"& "FPGM(11101010),"& "FPGMI(11101011),"& "FVFY(11101110),"& "FVFYI(11101111),"& "HIGHZ(11111100),"& "IDCODE(11111110),"& "INTEST(00000010),"& "ISCEN(11101000),"& "SAMPLE(00000001),"& "USERCODE(11111101)"; attributeINSTRUCTION_CAPTUREofXC95144:entityis"000XXX01"; attributeINSTRUCTION_DISABLEofXC95144:entityis"HIGHZ"; attributeIDCODE_REGISTERofXC95144:entityis "0010"&"1001010100001000"&"00001001001"&"1"; attributeUSERCODE_REGISTERofXC95144:entityis "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; attributeREGISTER_ACCESSofXC95144:entityis "BYPASS(CONLD,HIGHZ),"& "ISCENABLE[12](ISCEN),"& "ISCONFIGURATION[27](FERASE,FBULK,FPGM,FVFY),"& "ISCDATA[10](FPGMI,FVFYI)"; attributeBOUNDARY_CELLSofXC95144:entityis "BC_1"; attributeBOUNDARY_LENGTHofXC95144:entityis432; attributeBOUNDARY_REGISTERofXC95144:entityis "0(BC_1,*,internal,X),"& "1(BC_1,*,internal,X),"& "2(BC_1,*,internal,X),"& "3(BC_1,*,controlr,0),"& "4(BC_1,PB07_16,output3,X,3,0,Z),"& "5(BC_1,PB07_16,input,X),"& "6(BC_1,*,controlr,0),"& "7(BC_1,PB07_15,output3,X,6,0,Z),"& "8(BC_1,PB07_15,input,X),"& "9(BC_1,*,controlr,0),"& "10(BC_1,PB07_14,output3,X,9,0,Z),"& ...省略部分... endXC95144;
4. BSDL文件的應(yīng)用
BSDL文件可以在一些邊界掃描的軟件中被使用,如XJTAG,TopJTAG等等,通過(guò)加載對(duì)應(yīng)的BSDL文件可以實(shí)現(xiàn)對(duì)芯片外部所有管腳的讀取和控制。具體使用方法,我會(huì)在后面的文章介紹。 ?-
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
120932 -
JTAG
+關(guān)注
關(guān)注
6文章
401瀏覽量
71769 -
vhdl
+關(guān)注
關(guān)注
30文章
817瀏覽量
128265
原文標(biāo)題:強(qiáng)大的JTAG邊界掃描2-BSDL文件
文章出處:【微信號(hào):mcu149,微信公眾號(hào):電子電路開發(fā)學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論