可编程逻辑阵列(PLA)检测:原理、方法与挑战
可编程逻辑阵列(PLA)作为早期可编程逻辑器件的重要代表,因其结构规整、易于实现组合逻辑与有限状态机,在数字系统设计中曾广泛应用。为确保PLA实现的功能正确可靠,完备且高效的测试技术至关重要。本文将系统阐述PLA的检测原理、核心方法及面临的技术挑战。
一、PLA结构与潜在故障
一个标准PLA包含三部分:
- 与阵列 (AND Array):可编程的“与”门网络,生成输入信号的乘积项(最小项)。
- 或阵列 (OR Array):可编程的“或”门网络,将选定的乘积项相加以形成输出。
- 输入/输出缓冲器:驱动输入信号和输出信号。
其可编程性通过熔丝、反熔丝或浮栅晶体管等工艺实现,这也引入了潜在的物理缺陷,映射到逻辑层表现为两类主要故障模型:
- 固定型故障 (Stuck-at Faults, SAF):信号线(输入、输出、内部节点)永久固定为逻辑0(Stuck-at-0, SA0)或逻辑1(Stuck-at-1, SA1)。
- 桥接故障 (Bridging Faults):两条或多条本不该连接的信号线发生短路。
- 交叉点故障 (Crosspoint Faults):PLA特有的故障,指在可编程点(交叉点)上:
- 多余器件故障:本应“断开”的编程点错误“连通”。
- 缺失器件故障:本应“连通”的编程点错误“断开”。
- 增长/缩减故障:影响乘积项或输出项的范围。
二、PLA检测的核心原理与方法
PLA检测的目标是施加一组输入向量(测试集),通过观察输出响应,尽可能高的覆盖率(如SAF覆盖率)检测上述故障。主要方法包括:
-
功能测试 (Functional Test):
- 原理:基于PLA实现的逻辑功能(真值表或布尔方程)生成测试向量,验证所有可能的输入组合或关键功能路径。
- 优点:直观,与具体实现无关。
- 缺点:对于输入较多(n个输入有2^n种组合)的PLA,测试集过大,测试时间过长,效率低下;可能无法检测某些结构相关的故障(如特定交叉点故障)。
-
基于故障模型的测试 (Fault Model Based Test):
- 原理:针对特定故障模型(主要是SAF和交叉点故障)生成测试向量。
- 关键步骤:
- 故障激活 (Fault Activation):施加输入向量,使故障点在无故障电路与有故障电路上产生不同的逻辑值。
- 故障传播 (Fault Propagation):确保激活的故障效应(错误值)能传播到至少一个可观察的输出端口。
- 主要算法与技术:
- 布尔差分法 (Boolean Difference):计算输出函数对故障信号的布尔差分,直接得到能检测该故障的输入条件。
- D算法 (D-Algorithm) / PODEM (Path-Oriented Decision Making):这些针对一般组合电路的自动测试向量生成(ATPG)算法经过适配,可用于PLA,在搜索激活和传播路径时考虑PLA的两级结构特点。
- 针对PLA结构的专用算法:利用PLA结构特性(如乘积项共享)设计更高效的算法,例如通过分析乘积项与输出项的关系来推导测试。目标是生成最小化或接近最小化的测试集。
-
测试点插入 (Test Point Insertion):
- 原理:在原始PLA设计中增加额外的输入控制点或输出观察点。
- 目的:提高内部节点的可控性(Controllability)和可观测性(Observability),解决因冗余逻辑或扇出重组导致的测试难题,降低测试生成复杂度。
- 代价:增加额外的芯片面积和引脚。
-
内建自测试 (Built-In Self-Test, BIST):
- 原理:在PLA芯片内部集成测试向量生成器(如线性反馈移位寄存器LFSR)和输出响应分析器(如多输入特征寄存器MISR)。
- 流程:
- 测试模式:BIST电路自动生成伪随机或确定性测试向量施加到PLA。
- PLAs输出响应被压缩成特征码(Signature)。
- 将最终特征码与预存的正确特征码(Golden Signature)比较。
- 优点:显著降低外部测试设备要求,支持现场测试和周期性测试,测试速度快。
- 挑战:需要额外的硬件开销,测试覆盖率依赖于向量生成策略和响应压缩方法,可能存在混叠(Aliasing)问题(即不同的错误响应产生相同的错误特征码)。
三、PLA检测的挑战与发展
- 测试集规模与效率:随着PLA规模增大,生成高覆盖率的最小测试集计算复杂度高。研究更高效的ATPG算法和启发式方法仍是重点。
- 新型故障模型:随着工艺进步(如纳米级),新的物理缺陷机制(如瞬态故障、电阻性开路/短路)需要更精确的故障模型和测试方法。
- 可测性设计 (Design for Testability, DFT):BIST和测试点插入等DFT技术已成为现代PLA及更复杂PLD(如FPGA)设计流程中的标准环节,在设计和测试之间寻求最优平衡。
- 与FPGA测试的融合:现代FPGA通常包含可编程逻辑块(其基础结构类似PLA)、互连资源、存储器等。PLA测试技术是构建完整FPGA测试策略的基础组成部分。
四、结论
可编程逻辑阵列(PLA)的检测是一个涉及结构分析、故障建模、测试生成算法和可测性设计的综合技术领域。基于故障模型的结构化测试方法(辅以ATPG算法)是核心,而内建自测试(BIST)和测试点插入等可测性设计技术则是应对大规模、高复杂度电路的必然选择。随着集成电路工艺和设计方法的持续演进,PLA及相关可编程逻辑器件的测试技术也将不断发展,以满足对芯片高可靠性和低成本测试的持续追求。