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
互联网公司已经站在了数字经济的风口,阿里巴巴这样“起飞”