新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 简述BSDL边界扫描语言,BSDL边界扫描语言的应用

简述BSDL边界扫描语言,BSDL边界扫描语言的应用

作者:时间:2018-07-30来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/201807/384481.htm

(1)attribute INSTRUCTION_LENGTH of EPM7128SL84:enTIty is 10;

指令长度(INSTRUCTION_LENGTH)属性定义了所有操作码的长度必须为10位。

(2)attribute INSTRUCTION_OPCODE of EPM7128SL84:entity is

“BYPASS (1111111111), ”

“EXTEST (0000000000),”

“SAMPLE (0001010101),”

“IDCODE (0001011001)”;

指令操作码(INSTRUCTION_OPCODE)属性指出器件所支持的指令的二进制代码,如器件标志代码指令IDCODE的位图形为“0001011001” ,所有字串中最右边的位最靠近TDO。根据1149.1标准,旁路、外部测试和采样指令是强制性的,且旁路指令BYPASS为全“1”串,外部测试 EXTEST指令为全“0”串。


(3)attribute INSTRUCTION_CAPTURE of EPM7128SL84:entity is “0101010101”;

指令捕获(INSTRUCTION_CAPTURE)属性说明,当 TAP控制器处于捕获指令寄存(Capture-IR)状态时,位图形“0101010101”被装入指令寄存器的移位寄存器部分,当送入新指令时,此位图形被移出,IEEE 1149.1标准规定其最低两位为“01”,其余位由厂商自行定义,这样可以保证通过Capture信号可以检测到扫描链上固定为“0”和固定为“1”的故障。

(4)attribute IDCODE_REGISTER of EPM7128SL84:entity is

“0000”“0111000100101000”“00001101110”“1”;

标志寄存器属性描述芯片内置在标志寄存器里的芯片ID码。IEEE 1149.1标准规定芯片ID码为32位,最右边的一位是最靠近TDO的。如图1所示,标志寄存器的LSB是IEEE 1149.1标准强制为“1”的最低位,表示器件标志寄存器的存在;第1位至11 位是厂商代码号“01110110000”,这个代码表示Altera公司;第12位至27位是芯片型号 “0001010010001110”,即十六进制“7128”(从右至左);第28位至31位是芯片版本号“0000” [2]。

2.2 边界扫描寄存器描述

这是BSDL整体结构的最重要部分,它描述了边界扫描单元(BSC)的长度及每个BSC的单元号与属性。

(1)attribute BOUNDARY_LENGTH of EPM7128SL84:entity is 288;

边界扫描长度属性表示EPM7128SL84 芯片共有 288个边界扫描单元。

(2)attribute BOUNDARY_REGISTER of EPM7128SL84:entity is

--num(cell, port, function, safe [ccell, disval, rstl])

“0 (BC_4, IN84, input, X),”

“1 (BC_4, *, internal, X),”

“2 (BC_4, *, internal, X),”

……

“144 (BC_4, IO41, input, X),”

“145 (BC_1, *, control, 0),”

“146 (BC_1, IO41, output3, X, 145, 0, Z),”

……

“279 (BC_4, IO4, input, X),”

“280 (BC_1, *, control, 0),”

“281 (BC_1, IO4, output3, X, 280, 0, Z),”

……

“285 (BC_4, IN1, input, X),”

“286 (BC_4, *, internal, X),”

“287 (BC_4, *, internal, X)”;

对边界扫描寄存器单元(BSC)属性的描述由单元号与4个或7个圆括号内的数据子段组成,这些BSC的排列顺序可以是任意的,但每个单元都必须被定义。单元号从0到287 (BOUNDARY_LENGTH-1)进行编号,0单元是最靠近TDO的单元。括号中数据子段的名称为: cell, port, function, safe [ccell, disval, rstl],后三个方括号内的可选子段只有在function子段的值为 out put3或bidir时才被定义。它们的含义如下:

· 单元子段:确定器件所使用的边界扫描单元。EPM7128SL84芯片采用的BSC类型为标准单元 BC_1与BC_4,其属性已经在VHDL组件STD_1149_1_1994中加以定义;

· 通道子段:说明与对应BSC相连的系统管脚。其名称与BSDL“logical port des cription”属性中描述的管脚逻辑名称相一致。“*”表示此BSC 为输出控制单元或内部单元;

·功能子段:表示该BSC的主要功能。EPM7128SL84芯片BSC所涉及的功能有“input”、 “control”,“output3”和“internal”4种;

input:表示一个简单的实现输入管脚接收的 BSC;

control:表示一个进行输出使能控制,或输出驱动与双向管脚的单元方向控制的BSC;

output3:表示一个为三态输出提供数据的 BSC;

internal:表示一个用于捕获系统内部逻辑的 BSC,它不与任何系统管脚相连;

·安全子段:当ATPG软件提供一个额外随机值时,safe子段定义了一个要装入捕获寄存器CAP 与更新寄存器UPD(如果存在的话)的值,以防止系统逻辑因为过激励信号等原因造成的错误连接。这个值可以是“0”,“1”或“X”。“X”表示 “0”,“1”均可;

·控制单元子段:说明对功能为output3或bidir的BSC进行输出使能控制的控制单元号;

· 无效值子段:为禁用对应的系统管脚,要给由ccell子段指定的控制单元赋的值;

· 无效状态子段:给出被禁用驱动器的状态。这个状态可以是高阻态(Z)、弱“1”态(weak1)或弱“0”态(weak0)[2]。

EPM7128SL84 芯片的管脚与边界扫描单元如图2所示,与输入输出管脚IO41相对应的三个BSC单元号分别为144,145和146。



评论


相关推荐

技术专区

关闭