论文部分内容阅读
并行测试是系统芯片(System on Chip,简称SOC)测试中最有效的方法之一,其调度算法成为研究的热点。调度算法研究的主要目的是提高测试总线的利用率和测试数据传输的并行性。目前,关于SOC并行测试调度算法的研究主要有两类方法。第一类方法是在核与测试总线之间添加缓冲器,用来存储部分测试数据。当需要对被测核施加测试数据时,则从缓冲器中读取。第二类方法是在单位时间片内为每个核分配一定的带宽,并在同一时刻向不同的被测核传输测试数据,从而实现了并行测试。当测试数据量很大时,需要缓冲器存储的数据较多,因此第一类方法要求的缓冲器必然很大,使得测试成本提高。第二类方法是属于总线调度算法,这类方法在总线向核传送的数据量较大时,不能及时释放带宽,导致测试应用时间延长。为了避免这两种方法的缺点,本文主要从以下两方面进行改进。首先,本文提出一种基于添加缓冲器和基于总线调度的测试应用时间和测试硬件共同优化的测试结构。在该结构中,一方面,在总线调度的过程中,通过添加缓冲器可以调整被测核的输入端口数目,改变核与总线的连接带宽,提高调度的灵活性,进而增大调度算法的搜索空间。另一方面,在基于添加缓冲器方法的基础上利用总线调度方法实现对SOC的并行测试,以避免基于缓冲器方法的测试过程中并行测试退化为串行测试的情况。其次,本文针对提出的测试结构,设计了相应的测试调度算法。为了提高测试调度的灵活性,该算法将所有被测核的测试集分割成若干个小的测试子集。之后,对这些测试子集做调度序列产生,得到有一定海明距离的测试调度序列。对这些测试调度序列按照时间优先的原则进行调度,即当硬件开销与测试应用时间出现冲突的时候,首先考虑测试应用时间。对ITC’02的部分电路进行试验模拟,与相应的测试方法比较,测试应用时间和硬件开销均有大幅降低,其中对于基准电路p22810,测试应用时间降低了67.6%,硬件开销减少了44.4%。