强大的JTAG边界扫描2-BSDL文件

1. 什么是bsdl文件? 上一篇文章,我们介绍了jtag边界扫描的基础知识,今天我们来看看边界扫描测试必须使用到的一个文件,bsdl文件。bsdl,boundary scan description language的缩写,即边界扫描描述语言,属于vhdl的一个子集,内容符合vhdl的语法标准,用于描述jtag在指定设备中的实现方式,只要设备符合jtag标准,那么它必须具有对应的bsdl文件。bsdl文件主要包括以下信息: 当前芯片所支持的最大tck频率
定义了管脚的名称和序号
定义了电源、时钟、配置、io管脚等等。每个管脚的类型,如vcc、gnd、clk,管脚的名称及序号
所有可用命令寄存器
所有可用的数据寄存器,包括可能的预设值,例如:器件的idcode
bsdl目前有两种标准ieee 1149.1和ieee 1149.6。ieee 1149.6在ieee 1149.1标准的基础上丰富了一些内容,它可以兼容ieee 1149.1。 2. bsdl文件的获取 方式1:bsdl library https://www.bsdl.info/ 这个网站几乎包括所有支持jtag芯片的bsdl文件,超过100家半导体公司的上万款芯片,包括mcu、dsp、powerpc、cpld、fpga等,现在还在持续更新中。支持通过芯片型号或idcode搜索对应的bsdl文件,可以在线进行预览,非常方便 方式2:各芯片的官方网站 在各大芯片厂商的官方网站一般会提供bsdl文件,下面以xilinx、altera、microsemi、st意法半导体为例,介绍如何获取bsdl文件。 xilinx fpga bsdl文件获取 xilinx cpld/fpga bsdl文件一般位于开发环境ise或vivado安装路径下:ise 14.7对应路径为,例如artix-7系列xc7a100t的bsdl文件位于: xilinx14.7ise_dsiseartix7data vivado 2018.3对应路径如下: vivadovivado2018.3ids_liteiseartix7data 除了开发环境的安装目录,xilinx还在官方网站上提供有各系列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文件获取 由于我的电脑没装quartus开发环境,所以不确定bsdl文件是否能在安装路径下找到,altera官方网站也可以进行下载: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文件获取 意法半导体mcu的bsdl文件可以到官方网站搜索bsdl,就会弹出对应系列的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文件的部分内容: -- --   bsdl file created/edited by bcad bsd editor version 3.1 -- --bsde $header: /devl/xcs/repo/env/jobs/impact/data/xc9500/xc95144.bsd,v 1.2 2000/10/24 0057 sanjays exp $ --bsde xilinx 144 macrocell fastflash isp cpld entity xc95144 is generic (physical_pin_map : string := die_bond ); port (     pb00_00: inout bit;     pb00_01: inout bit;     pb00_02: inout bit;     ........     vssint_4: linkage bit;     vssio_1: linkage bit;     vssio_2: linkage bit;     vssio_3: linkage bit;     vssio_4: linkage bit;     vssio_5: linkage bit;     vssio_6: linkage bit;     vssio_7: linkage bit;     vssio_8: linkage bit;     vssio_9: linkage bit ); use std_1149_1_1990.all; attribute pin_map of xc95144 : entity is physical_pin_map; constant die_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; attribute tap_scan_in    of tdi : signal is true; attribute tap_scan_out   of tdo : signal is true; attribute tap_scan_mode  of tms : signal is true; attribute tap_scan_clock of tck : signal is (1.00e+07, both); attribute instruction_length of xc95144 : entity is 8; attribute instruction_opcode of xc95144 : entity is     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) ; attribute instruction_capture of xc95144 : entity is 000xxx01; attribute instruction_disable of xc95144 : entity is highz; attribute idcode_register of xc95144 : entity is     0010 & 1001010100001000 & 00001001001 & 1; attribute usercode_register of xc95144 : entity is     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; attribute register_access of xc95144 : entity is     bypass ( conld, highz ), &     iscenable[12] ( iscen), &     isconfiguration[27] ( ferase, fbulk, fpgm, fvfy), &     iscdata[10] ( fpgmi, fvfyi); attribute boundary_cells of xc95144 : entity is          bc_1; attribute boundary_length of xc95144 : entity is 432; attribute boundary_register of xc95144 : entity is        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), &     ...省略部分... end xc95144; 4. bsdl文件的应用 bsdl文件可以在一些边界扫描的软件中被使用,如xjtag,topjtag等等,通过加载对应的bsdl文件可以实现对芯片外部所有管脚的读取和控制。具体使用方法,我会在后面的文章介绍。

realme X50 Pro国行发布会将仅有3分钟 过程将极为简单
升压型充电管理芯片FS4062介绍
ColorOS 6带来触控屏幕优化技术
仿生无人机优势愈加明显 软硬件一体化加大市场需求
3种常用的Elasticsearch数据迁移方案
强大的JTAG边界扫描2-BSDL文件
中国新能源汽车行业再迎政策利好,推进标准对接和数据共享
飞利浦S396怎么样 值不值得买
海信智慧别墅新方案,强稳定深智控别墅更有范
为什么电源纹波是低频?电源纹波产生原因及危害分析
学习模拟电路应该具备的能力
小米Note3、小米Max2最新消息:雷爸爸耍猴不要紧,小米Note3、小米Max2升级来袭
中国电信以及华为在新的5G千兆网络建设方向上提出了一致的方向
未来传感技术带来优质的数据将更好地保证人工智能进行机器学习
NE555+TC4022数字转速表,ne555+TC4022 Speed counter
金立GN9007拆机图解
采用VC++和Matlab混合编程搭建基于HMM的语音识别的实验平台
两个NPN三极管搭建的直流降压稳压电源输出电压是多少?怎么算的
三星推出T55系列显示器 曲率达到前所未有的1000R
互联网公司已经站在了数字经济的风口,阿里巴巴这样“起飞”