EDA(一)DFT之SOC测试压缩的新进展
引言
随着系统级芯片(System-on-Chip, SoC)技术的快速发展,SoC的测试成为了集成电路设计和制造过程中的一个重要环节。测试数据压缩技术能够有效减少测试数据量,降低测试成本,缩短测试时间,并减少测试设备的存储和带宽需求。近年来,SoC测试压缩领域取得了一系列新的进展,本文将对这些进展进行综述。
SoC测试压缩技术概述
一、测试压缩的基本概念
SoC测试压缩技术是一种用于减少SoC测试过程中所需存储和传输的测试数据量的方法。随着集成电路设计的不断发展,SoC的复杂性不断提高,导致测试数据量急剧增加,这不仅增加了测试成本,还延长了测试时间。为了解决这些问题,测试压缩技术应运而生,它通过特定的算法对测试数据进行编码,以减少数据的大小,同时保证测试的完整性和有效性。
测试压缩技术的基本概念包括:
数据编码:测试数据压缩涉及到将原始的测试向量(测试输入和预期输出)通过某种编码算法转换为更紧凑的形式。这种编码可以是基于游程长度的编码(如Run-length编码)、基于统计模型的编码(如Huffman编码和Golomb编码),或者是其他更高级的编码技术。
数据压缩率:压缩率是衡量测试压缩技术有效性的一个关键指标,它表示原始数据与压缩后数据大小的比例。高压缩率意味着更少的存储空间和更快的数据传输速度,但同时也可能增加解码的复杂性和计算资源需求。
解码过程:在测试过程中,压缩后的数据需要被解码回原始的测试向量,以便施加到SoC上进行实际的测试。解码过程需要高效且准确,以确保测试结果的正确性。
同步问题:测试数据压缩可能会引入同步问题,即在解码过程中需要确保数据的正确对齐和时序控制。为了解决同步问题,研究者们提出了多种同步技术,如改变编码树结构或插入虚拟值等方法。
软硬件协同:SoC测试压缩技术通常需要硬件和软件的协同工作。硬件部分包括压缩和解压缩电路,而软件部分则涉及到压缩算法的实现和测试流程的管理。
可测试性设计(DFT):为了使SoC更容易进行测试压缩,设计阶段通常会考虑可测试性设计,如内建自测试(BIST)和扫描链等技术,这些技术可以简化测试过程并提高测试压缩的效率。
SoC测试压缩技术的发展对于提高测试效率、降低成本以及缩短产品上市时间具有重要意义。随着技术的不断进步,未来可能会出现更多创新的压缩方法,以应对日益增长的测试数据量和复杂性。
二、测试压缩的重要性
SoC测试测试压缩对于处理大规模集成电路的测试数据尤为重要,它能够显著提高测试效率,降低测试成本,并提高测试设备的使用灵活性,在集成电路测试领域具有重要意义,主要体现在以下几个方面:
降低测试成本:随着芯片规模的不断扩大,所需的测试向量集也快速增长,这导致传统的自动测试设备(ATE)面临存储容量和处理能力的限制。测试压缩技术通过减少测试数据量,可以降低对ATE存储空间的需求,从而减少测试设备的投入成本和维护成本。
提高测试效率:测试数据压缩技术可以减少测试数据的传输和处理时间,从而提高整体的测试效率。这对于大规模生产环境尤为重要,因为它可以缩短产品上市的时间,提高生产效率。
提升测试质量:尽管测试数据被压缩,但通过解压缩模块可以在测试过程中恢复原始的测试向量,确保测试的完整性和有效性。这意味着即使在压缩数据的情况下,也能保持高故障覆盖率和测试质量。
适应性强:随着集成电路设计的不断发展,SoC的复杂性和集成度不断提高,测试压缩技术能够适应这些变化,有效处理大规模的测试数据。这对于应对未来芯片设计的挑战至关重要。
节省资源:测试压缩技术通过减少数据量,有助于节省存储资源和带宽资源。这对于资源有限的测试环境尤为重要,可以更有效地利用现有资源进行测试。
支持可测性设计:测试压缩技术与可测性设计(DFT)紧密相关,它支持在芯片设计阶段就考虑测试的需求,如引入压缩和解压缩模块,从而提高芯片的可测性。
推动技术创新:测试压缩技术的发展推动了相关领域的技术创新,如编码算法、解压缩硬件设计等,这些创新反过来又可以进一步提高测试压缩技术的效率和性能。
综上所述,SoC测试压缩技术对于降低成本、提高效率、保证测试质量、适应设计复杂性、节省资源和推动技术创新等方面都具有重要作用,是现代集成电路测试不可或缺的一部分。随着技术的不断进步,测试压缩技术将继续在SoC测试领域发挥关键作用。
SoC测试压缩的新进展
SoC测试压缩技术在编码方法上的改进是应对集成电路复杂性增加和测试数据量激增的关键策略。近年来,这一领域取得了一系列新进展。
一、编码方法的改进
近年来,研究者们提出了多种基于编码方法的优化和创新,提高了压缩效率和解压缩速度。以下是一些重要的新进展:
改进的Huffman编码:Huffman编码是一种基于字符出现频率的变长编码方法。在SoC测试压缩中,研究者们提出了改进的Huffman编码算法,通过为无关位赋值,使得测试数据中出现大量连续的字,从而在小字长下实现高压缩率。这种方法在保持高压缩率的同时,简化了解码器电路的复杂性。
改进的FDR编码(IFDR):FDR编码主要对“0”游程进行编码。为了克服这一局限性,提出了IFDR编码,它对测试数据中具有同样长度的连续“0”游程和“1”游程采用相同的编码,从而降低了编码的长度,并消除了长度为0的游程,提高了压缩率。
改进的翻转连续序列编码(ITCS):ITCS是一种基于牺牲额外的扩展编码位来换取原始数据无关位赋值和最优化编码选择自由度的编码方案。这种方法通过优化无关位的赋值策略,有效压缩了测试数据的存储量,减少了测试施加的时间。
分组位固定VL-LFSR重播种技术:这种技术通过分组算法优化输入,将相容位直接固定成确定的逻辑值,成为编码无关位。这种方法减少了需要用LFSR重播种结构来编码的确定位的数据量,提高了编码效率。
VSPTIDR编码:这是一种变长-变长前缀编码方法,它通过特定的编码策略来优化测试数据的压缩效果,提高压缩率,同时保持编码的前缀性质,以便于解码。
这些新进展的编码方法不仅提高了测试数据的压缩效率,还降低了测试成本和测试时间,同时保证了测试质量。随着SoC设计的不断进步和测试需求的日益增长,编码方法的改进将继续是SoC测试压缩技术发展的重要方向。未来的研究可能会集中在进一步提高压缩比率、简化硬件实现、降低同步开销以及提高压缩算法的适应性和鲁棒性等方面。
二、多扫描链测试数据压缩
SoC测试压缩技术的新进展之一是多扫描链测试数据压缩方法。随着SoC设计的复杂性增加,传统的单扫描链测试方法面临着数据量大、测试时间长等问题。多扫描链测试数据压缩方法通过并行处理多个扫描链,提高了压缩效率和测试速度。这种方法通过镜像对称参考切片等技术,减少了测试数据的冗余性。多扫描链技术通过将芯片设计分割成多个部分,并为每个部分创建独立的扫描链,从而提高了测试效率和压缩率。一些进展如下:
改进的翻转连续序列编码(ITCS):这种编码方案通过牺牲额外的扩展编码位来换取原始数据无关位赋值和最优化编码选择的自由度。ITCS能够有效地压缩测试数据的存储量,减少测试施加的时间,并且实验结果表明,其压缩效果优于EFDR编码。
分组位固定VL-LFSR重播种技术:这种技术通过分组算法优化输入,将相容位直接固定成确定的逻辑值,成为编码无关位。这样可以减少需要用LFSR重播种结构来编码的确定位的数据量,提高了编码效率。
基于镜像对称参考切片的多扫描链测试数据压缩方法:这种方法采用两个相互镜像对称的参考切片与扫描切片进行相容性比较,提出一种新的测试数据压缩策略。通过这种方式,可以在保持高压缩率的同时,减少测试数据量和测试时间。
Adaptive Scan和Scan Compression:这些技术通过将原始的扫描链分割为更短的扫描链,减少了加载时间和数据量。这种方法允许在不同的测试模式下灵活切换,以适应不同的测试需求。
多扫描链测试数据压缩的同步问题:随着多扫描链技术的发展,测试数据的同步问题也越来越受到关注。研究者们提出了多种同步策略,如改变编码树和插入虚拟值,以降低同步开销并提高测试的准确性。
这些新进展表明,多扫描链测试数据压缩技术正朝着更高效、更灵活的方向发展。通过这些技术的应用,可以有效地减少测试数据量,缩短测试时间,降低测试成本,同时保证测试的质量和可靠性。随着SoC设计的不断进步,多扫描链测试数据压缩技术将继续在SoC测试领域发挥重要作用。
三、基于预处理的压缩方法
预处理技术,如无关位预处理,通过优化测试数据的结构,提高了压缩效率。这种方法通过在测试数据压缩之前对数据进行特定的预处理,以提高压缩效率和降低压缩后的数据量。预处理步骤通常包括对测试数据的分析和转换,目的是优化数据结构,从而使得后续的压缩算法能够更加有效地工作。进展如下:
无关位预处理:在测试数据中,无关位(也称为don’t care位)通常较多,这为压缩提供了机会。基于预处理的压缩方法可以通过识别和处理这些无关位来提高压缩率。例如,通过对无关位进行赋值或分组,可以增加确定位的连续性,从而提高压缩效率。
改进的FDR码压缩方法:FDR(Fixed-Variable-Random)码是一种常见的测试数据压缩方法,它通过对测试数据中的固定位、可变位和随机位进行编码来实现压缩。基于预处理的方法可以对原始测试集进行改进,例如,通过提高确定位0在游程中的出现频率,从而在FDR码的基础上实现更高的压缩率。
多扫描链相容压缩:这种方法首先根据测试集无关位较多的特点,采用多扫描链相容压缩预处理测试数据,实现多扫描链测试数据的共享。这种预处理可以减少测试数据的冗余,为后续的压缩步骤打下基础。
基于蚁群算法的测试向量排序:蚁群算法是一种模拟自然界蚁群行为的优化算法。在测试数据压缩中,蚁群算法可以用来优化测试向量的排序,进一步提高压缩效率。通过这种方式,可以更有效地利用无关位,从而实现更高的压缩比。
这些基于预处理的压缩方法在SoC测试数据压缩领域的新进展,不仅提高了压缩效率,还有助于降低测试成本和测试时间。随着SoC设计的不断进步和测试需求的日益增长,这些方法将继续在SoC测试领域发挥重要作用。
四、低功耗测试技术
低功耗测试技术通过优化测试过程,减少了测试过程中的能耗。这对于移动设备和电池供电的SoC尤为重要,可以显著延长设备的使用时间。SoC测试压缩技术在低功耗测试领域的新进展主要集中在以下几个方面:
测试数据压缩与功耗优化:随着SoC集成度的提高,测试数据量和测试功耗也随之增加。为了解决这一问题,研究者们提出了结合测试数据压缩和功耗优化的方法。这些方法通过减少测试数据量,间接降低了测试过程中的功耗。例如,通过改进的编码方案和测试向量的优化排序,可以在保持测试质量的同时减少数据传输和处理所需的能量。
低功耗测试结构:研究者们提出了新的低功耗测试结构,如广播式测试压缩结构,通过有限状态机控制内部扫描链的选通,实现了对内部扫描链的自动动态控制。这种结构在压缩测试数据的同时,有效降低了扫描移位功耗和捕获功耗。
测试向量重排序:通过将测试功耗问题等效为旅行商问题(TSP),并结合蚁群算法和遗传算法,研究者们开发了测试向量重排序的方法。这种方法可以找到最优的向量顺序,从而减少测试过程中的动态功耗。
扫描链修改:利用扫描链修改的方法,通过调整扫描链的结构来减少数据传递间的跳变次数,从而降低测试功耗。这种方法不影响电路的逻辑功能,同时可以与测试数据压缩技术结合使用。
协同优化方案:提出了基于扫描链调整的测试数据压缩和测试功耗协同优化方案。该方案通过划分扫描单元相容组、重排序、无关位填充、测试向量重排序和扫描切片差分,实现了测试功耗和数据压缩率的双重优化。
机器学习算法的应用:在低功耗测试技术中,也开始引入机器学习算法进行预测性电源管理。通过算法预测芯片的工作状态和功耗需求,可以实现更加精细和智能的电源管理,从而降低功耗。
这些新进展不仅提高了SoC测试的效率和压缩率,还有助于降低测试过程中的功耗,对于提升SoC的能效和市场竞争力具有重要意义。
结论
SoC测试压缩技术的新进展为集成电路的测试提供了新的思路和方法。随着技术的不断进步,未来这些领域将继续取得更多突破,为芯片设计和制造带来更多的创新和价值。