转向使用即插即用的分层 DFT 的好处
时间:10-24
来源:互联网
点击:
作者:Ron Press,明导
对于许多现有的和未来的集成芯片器件来说,一项主要挑战就是如何为庞大数量的设计创建测试图案。对于有百万门甚至数亿门的设计,传统上等到设计完成再创建测试图案的方法是不切实际的,产生所有这些图案需要庞大的计算能力和相当多的时间。分层可测试性设计通过在区块或内核上完成了 DFT 插入和图案生成解决了这个问题。这大大减少了图案生成时间和所需的计算资源。它还能让你在设计过程中提前完成大部分 DFT 和图案生成,从而大幅提高可预测性并降低风险。本文将介绍分层 DFT 流程的:插入扫描包装器 (Wrapper)、为内核生成灰盒图像,将内核级图案重定向到集成芯片顶层的简单映射步骤。
传统的全芯片 ATPG 正日渐衰退
在集成芯片设计在尺寸和性能上不断改进的同时,ATPG(自动测试图案生成)工具在与之并进上有着不俗的表现。伴随着工艺节点的逐代往前发展,新的制造工艺缺陷也不断迸发出来,相应的用于检测新缺陷的新故障模型和测试图案类型也随之被开发。测试机台上为了达到 必须数量的测试图案所需要的测试周期数一度变得不太现实,于是有了嵌入式压缩技术来解决这个问题。这种方法事效率有了百倍的提高,也让 ATPG 得以跟得上现代设计的步伐。此外,分布式多进程和多线程的多重处理 ATPG 使得ATPG 的运行时间能够得到很好的控制。然而,由于许多设计已经变得如此庞大而复杂,即便 ATPG 解决了众多难题,但是等到集成芯片设计完成后再创建测试图案传统方法还是存在诸多挑战。
整个设计完成后,对于创建测试图案和测试芯片这个整体,还可能存在几个更重要的问题:
除上述问题之外,有时把大部分的测试资源集中在某一区块或内核上才更有意义。这是因为两个区块所需的测试图案类型和时钟可能完全不同,不能同时测试。让我们来看一个简单的例子,在一块芯片中对内核1例化了两次,对内核2例化了一次。下面的几种情况可能会使同时测试内核1和内核2变得效率低下,甚至可能是无效的,例如:
为什么即插即用是合理的?
即插即用的总体思路在现代社会日益流行。这种方法使用起来非常方便,只需插入即可。随着供应商和客户变得更加分散和多元化,各类企业都希望在这种状况下保持竞争力,那么它就成为了一种必然选择。现如今,如果没有供众多外部供应商提供应用软件的即插即用接口,那么任何手机都是没有竞争力的。
对于集成芯片测试目前面临的一些挑战来说,即插即用让整合变得简单同样也非常重要。甚至集成电路测试基础架构也已经开始更多地采用IJTAG [IEEE P1687]来实现即插即用。针对内核和测试图案的 DFT 同样可以被视为即插即用型设计。
这种方法带来的一个重要好处就是,在设计过程中你可以在内核层面提前完成所有工作。这降低了许多类型的风险,因为任何问题都可以提前解决,让最终芯片测试架构和结果变得更可预见。在内核层面做更多的测试工作还能让各单独的开发团队独立工作,然后向做芯片集成工作的同事交付标准的 DFT 操作和测试图案等数据。此外,一旦设计和图案数据完成,同样的数据可以被重新用于任何使用该内核的芯片设计。
即插即用方法同样非常灵活。如果设计出现问题,需要进行工程更改(ECO),那么只需要对进行ECO的内核重新生成测试图案。
使用包装器链打造独立内核
分层和内核的即插即用方法的基本要求之一是,确保每个内核可以独立进行测试。关键是要使得对内核的控制和观测的访问如访问内核的输入输出端口般方便。我们利用包装器链这一特殊扫描链来实现这种访问。 DFT 工具可以从内核IO开始,并横穿内核逻辑直到找到第一个寄存器,然后将其包括在包装器链中。这些单元由于同时执行功能性任务和测试任务,因而被称为共享包装器单元。许多设计包含寄存器IO,这样进出内核的信号的时序能得到很好地确定。这使包装器插入变得非常简单。但是,IO和触发器之间有太多的组合逻辑是很常见的。因此,在插入包装器链前, DFT 工具让用户看到每个IO和触发器之间有逻辑规模的评估。又或者,用户可以设置一个阈值,在未超过该阈值情况下可以使用现有的功能触发器,反之则将自动添加一个新的专用包装器单元。高效的工具可以确定尽可能多的共享包装器单元,而把添加专用包装器单元作为最终手段。这可以节省大量的硅片面积并减少对功能时序的影响。
包装器链会自动与内核内部扫描链进行平衡,使之能够有效地用于嵌入式压缩。包装器链使用独立的扫描使能 (scan_enable) 信号,所以无论有无外部链接都能支持内核的高速测试。它们使得包装器能用于芯片顶层各个内核间的互连测试。
包装器链不仅使内核变得独立,同时还支持顶层IC建模和规则检查。一旦包装器链被插入, DFT 工具程序可以分析任何内核,并找出IO和包装器链之间存在什么样的逻辑。利用该逻辑,内核的部分图像被写出,我们称之为灰盒(图1)。灰盒被用来验证内核在顶层的连接是否正确(设计规则检查),同时也被用来创建各种内核之间的简单互连测试。因为灰盒仅使用少量的内核逻辑,设计图像通常比完整的内核设计小一个数量级。因此,也不再需要把全部的内核网表包含到IC设计中。
图1:当扫描链插入内核,包装器链的结构允许将内核隔离为一个完整的包装器内核,如左图所示。右图显示了一个灰盒模型,其中顶层测试只需要内核IO和包装器链之间的逻辑。
片上时钟控制器 (OCC) 有时在内核内,有时置于 IC 顶层。分层 DFT 支持支持以上两种方法。但是,如果 OCC 位于内核内部,那么内核本身就更加独立。否则,共享同一个 OCC的内核彼此依赖,使得多核同时测试受限。
灰盒生成具有额外的灵活性,用户可以根据需求定义归入(或排除出)灰盒的任何 DFT 逻辑或其他逻辑。
对于许多现有的和未来的集成芯片器件来说,一项主要挑战就是如何为庞大数量的设计创建测试图案。对于有百万门甚至数亿门的设计,传统上等到设计完成再创建测试图案的方法是不切实际的,产生所有这些图案需要庞大的计算能力和相当多的时间。分层可测试性设计通过在区块或内核上完成了 DFT 插入和图案生成解决了这个问题。这大大减少了图案生成时间和所需的计算资源。它还能让你在设计过程中提前完成大部分 DFT 和图案生成,从而大幅提高可预测性并降低风险。本文将介绍分层 DFT 流程的:插入扫描包装器 (Wrapper)、为内核生成灰盒图像,将内核级图案重定向到集成芯片顶层的简单映射步骤。
传统的全芯片 ATPG 正日渐衰退
在集成芯片设计在尺寸和性能上不断改进的同时,ATPG(自动测试图案生成)工具在与之并进上有着不俗的表现。伴随着工艺节点的逐代往前发展,新的制造工艺缺陷也不断迸发出来,相应的用于检测新缺陷的新故障模型和测试图案类型也随之被开发。测试机台上为了达到 必须数量的测试图案所需要的测试周期数一度变得不太现实,于是有了嵌入式压缩技术来解决这个问题。这种方法事效率有了百倍的提高,也让 ATPG 得以跟得上现代设计的步伐。此外,分布式多进程和多线程的多重处理 ATPG 使得ATPG 的运行时间能够得到很好的控制。然而,由于许多设计已经变得如此庞大而复杂,即便 ATPG 解决了众多难题,但是等到集成芯片设计完成后再创建测试图案传统方法还是存在诸多挑战。
整个设计完成后,对于创建测试图案和测试芯片这个整体,还可能存在几个更重要的问题:
- 对一个大规模世纪的全芯片生成测试图案需要一个超大工作站。有些公司对现有的设计已经需要使用有256 Gig加很多交换空间的工作站。
- 超大规模设计的测试图案生成可能需非常长的运行时间。
- 测试图案生成必须要等到设计周期的后期,并可能成为关键路径的一部分。如果 ATPG 过程中出现问题,那么它可能会影响设计下线。
- 由于全芯片一起测试,功耗可能会高于预期。
除上述问题之外,有时把大部分的测试资源集中在某一区块或内核上才更有意义。这是因为两个区块所需的测试图案类型和时钟可能完全不同,不能同时测试。让我们来看一个简单的例子,在一块芯片中对内核1例化了两次,对内核2例化了一次。下面的几种情况可能会使同时测试内核1和内核2变得效率低下,甚至可能是无效的,例如:
- 两个内核使用主芯片上的同一个时钟控制器,但需要不同的时钟序列。
- 内核1需要500个测试图案,内核2则需要5000个测试图案。如果对它们并行测试,那么在完成前500个测试图案之后,到内核1的所有IO将会被浪费。
为什么即插即用是合理的?
即插即用的总体思路在现代社会日益流行。这种方法使用起来非常方便,只需插入即可。随着供应商和客户变得更加分散和多元化,各类企业都希望在这种状况下保持竞争力,那么它就成为了一种必然选择。现如今,如果没有供众多外部供应商提供应用软件的即插即用接口,那么任何手机都是没有竞争力的。
对于集成芯片测试目前面临的一些挑战来说,即插即用让整合变得简单同样也非常重要。甚至集成电路测试基础架构也已经开始更多地采用IJTAG [IEEE P1687]来实现即插即用。针对内核和测试图案的 DFT 同样可以被视为即插即用型设计。
这种方法带来的一个重要好处就是,在设计过程中你可以在内核层面提前完成所有工作。这降低了许多类型的风险,因为任何问题都可以提前解决,让最终芯片测试架构和结果变得更可预见。在内核层面做更多的测试工作还能让各单独的开发团队独立工作,然后向做芯片集成工作的同事交付标准的 DFT 操作和测试图案等数据。此外,一旦设计和图案数据完成,同样的数据可以被重新用于任何使用该内核的芯片设计。
即插即用方法同样非常灵活。如果设计出现问题,需要进行工程更改(ECO),那么只需要对进行ECO的内核重新生成测试图案。
使用包装器链打造独立内核
分层和内核的即插即用方法的基本要求之一是,确保每个内核可以独立进行测试。关键是要使得对内核的控制和观测的访问如访问内核的输入输出端口般方便。我们利用包装器链这一特殊扫描链来实现这种访问。 DFT 工具可以从内核IO开始,并横穿内核逻辑直到找到第一个寄存器,然后将其包括在包装器链中。这些单元由于同时执行功能性任务和测试任务,因而被称为共享包装器单元。许多设计包含寄存器IO,这样进出内核的信号的时序能得到很好地确定。这使包装器插入变得非常简单。但是,IO和触发器之间有太多的组合逻辑是很常见的。因此,在插入包装器链前, DFT 工具让用户看到每个IO和触发器之间有逻辑规模的评估。又或者,用户可以设置一个阈值,在未超过该阈值情况下可以使用现有的功能触发器,反之则将自动添加一个新的专用包装器单元。高效的工具可以确定尽可能多的共享包装器单元,而把添加专用包装器单元作为最终手段。这可以节省大量的硅片面积并减少对功能时序的影响。
包装器链会自动与内核内部扫描链进行平衡,使之能够有效地用于嵌入式压缩。包装器链使用独立的扫描使能 (scan_enable) 信号,所以无论有无外部链接都能支持内核的高速测试。它们使得包装器能用于芯片顶层各个内核间的互连测试。
包装器链不仅使内核变得独立,同时还支持顶层IC建模和规则检查。一旦包装器链被插入, DFT 工具程序可以分析任何内核,并找出IO和包装器链之间存在什么样的逻辑。利用该逻辑,内核的部分图像被写出,我们称之为灰盒(图1)。灰盒被用来验证内核在顶层的连接是否正确(设计规则检查),同时也被用来创建各种内核之间的简单互连测试。因为灰盒仅使用少量的内核逻辑,设计图像通常比完整的内核设计小一个数量级。因此,也不再需要把全部的内核网表包含到IC设计中。
![](../img/eec-system/system-194965cid2od2jtts.jpg)
图1:当扫描链插入内核,包装器链的结构允许将内核隔离为一个完整的包装器内核,如左图所示。右图显示了一个灰盒模型,其中顶层测试只需要内核IO和包装器链之间的逻辑。
片上时钟控制器 (OCC) 有时在内核内,有时置于 IC 顶层。分层 DFT 支持支持以上两种方法。但是,如果 OCC 位于内核内部,那么内核本身就更加独立。否则,共享同一个 OCC的内核彼此依赖,使得多核同时测试受限。
灰盒生成具有额外的灵活性,用户可以根据需求定义归入(或排除出)灰盒的任何 DFT 逻辑或其他逻辑。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)