文章目录
- STD Logic
- SOC 设计中的 DFT (Design for Testability) 简介
- 正常寄存器电路
- 转换为扫描寄存器(Scan Flip-Flop)
- 扫描链连接示例
STD Logic
本文介绍 SOC 设计中 DFT 中的 std logic.
SOC 设计中的 DFT (Design for Testability) 简介
SOC(系统级芯片)设计中,DFT 是确保设计的可测试性以提高芯片生产可行性和良品率的关键部分。DFT 技术能够在设计阶段插入测试结构,使生产后的芯片可以方便地被测试,以检测潜在的制造缺陷和功能性错误。常见的 DFT 技术包括扫描链插入、内建自测试(BIST)、边界扫描(Boundary Scan)等。
STD Logic 在 DFT 中的作用 在 DFT 的设计中,STD Logic
主要是指标准逻辑模块,它用于实现和支持测试结构,通常通过额外的硬件模块增强可测试性。例如:
-
标准扫描单元(Scan Flip-Flops):用于将普通的寄存器转换为可测试单元,支持移位和功能模式。
-
测试模式选择逻辑(Test Control Logic):控制芯片的测试模式选择,例如通过选择器输入控制扫描模式或正常运行模式。
-
插入内部测试接口,例如 JTAG(用于边界扫描)。
例子:基于 STD Logic 的扫描链设计
在扫描链设计中,STD Logic 通常被用于创建链路和控制逻辑。这是一个简单的扫描链示例:
正常寄存器电路
普通的寄存器包括输入、时钟和输出:
module Register (
input wire clk,
input wire D,
output reg Q
);
always @(posedge clk) begin
Q <= D;
end
endmodule
转换为扫描寄存器(Scan Flip-Flop)
将普通寄存器转换为可用于 DFT 的扫描寄存器:
module ScanRegister (
input wire clk, // 时钟信号
input wire test_mode, // 测试模式使能
input wire scan_in, // 扫描链输入
input wire D, // 数据输入
output reg Q, // 数据输出
output wire scan_out // 扫描链输出
);
always @(posedge clk) begin
if (test_mode)
Q <= scan_in; // 测试模式下使用扫描链输入
else
Q <= D; // 正常模式下使用数据输入
end
assign scan_out = Q; // 输出连接到下一级扫描寄存器
endmodule
扫描链连接示例
多个扫描寄存器可以通过 scan_in
和 scan_out
串联连接,构成完整的扫描链:
module ScanChain (
input wire clk,
input wire test_mode,
input wire scan_in,
input wire [3:0] D,
output wire [3:0] Q,
output wire scan_out
);
wire [2:0] scan_intermediate;
ScanRegister sr0(.clk(clk), .test_mode(test_mode), .scan_in(scan_in),
.D(D[0]), .Q(Q[0]), .scan_out(scan_intermediate[0]));
ScanRegister sr1(.clk(clk), .test_mode(test_mode), .scan_in(scan_intermediate[0]),
.D(D[1]), .Q(Q[1]), .scan_out(scan_intermediate[1]));
ScanRegister sr2(.clk(clk), .test_mode(test_mode), .scan_in(scan_intermediate[1]),
.D(D[2]), .Q(Q[2]), .scan_out(scan_intermediate[2]));
ScanRegister sr3(.clk(clk), .test_mode(test_mode), .scan_in(scan_intermediate[2]),
.D(D[3]), .Q(Q[3]), .scan_out(scan_out));
endmodule
总结 STD Logic
在 DFT 中通过引入额外的逻辑模块来支持功能模式和测试模式的切换。像扫描链这样的技术依赖于标准化的逻辑单元,使整个设计的可测试性和可扩展性大大提升。在实际应用中,逻辑门的优化、时序分析和测试覆盖率是设计成功的关键。