边界扫描:通过在ASIC的I/O引脚插入边界扫描单元(Boundary Scan cells),并在芯片周围将他们连接成移位寄存器,从而将扫描链路加入网表中。
两个多路选择器控制了单元的数据通路:
正常模式:(1)当mode为0时,单元处于正常模式,data_in通过多路选择器传输到data_out,扫描链不影响ASIC工作
JTAG操作模式:
(1)扫描:当shiftDR为1,数据在clockDR的有效沿通过scan_in,并通过data_out输出
(2)捕获:当shiftDR为1,在clockDR的有效沿,数据波载入捕获寄存器
(3)更新:当mode为1,在updateDR的有效沿捕获寄存器的输出被移入更新寄存器
module BSC_Cell(
input data_in,
input scan_in,
input shiftDR,
input mode,
input clockDR,
input updateDR,
output data_out,
output reg scan_out);
reg update_reg;
always@(posedge clockDR)
begin
scan_out<=shiftDR?scan_in:data_in;
end
always@(posedge updateDR)
begin
updateDR<=scan_out;
end
assign data_out=mode?updateDR:data_in;
endmodule
边界扫描方法可以测试PC板上的多片芯片、芯片间的板上布线、芯片引脚和核心逻辑之间的连接等(测试器可以将内嵌有边界扫描电路和专用测试存取端口(TAP,JTAG端口)的ASIC核心逻辑模块分离出来,并加以测试)
JTAG端口除了可以测试ASIC和印制电路板的制造缺陷之外,可用来对可配置的PLD和FPGA器件编程,还可以通过控制处理器和