新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 测试复杂的多总线SoC器件

测试复杂的多总线SoC器件

作者:■ Credence系统公司 Ross Youngblood时间:2005-04-27来源:eaw收藏

使用多个复杂的总线已经成为系统级芯片()器件的标准,这种总线结构的使用使测试工程师面临处理多个时钟域问题的挑战。早期器件的测试中,工程师可以依赖某些自动化测试设备(ATE)的双时域能力测试相对简单的总线结构。
目前测试工程师面临更复杂的器件,这些器件反应了越来越多使用多个高速总线结构的趋势。使用有效的技术和下一代测试系统,如Credence(科利登)的Octet,测试工程师能够成功地管理与复杂器件(如北桥器件)中多总线结构相关的独立时钟域。通过掌握ATE的能力,测试开发过程中,测试工程师能够开发出更有效的解决方案,加速这些复杂器件的面市时间。多总线结构传统地被认为是最大化系统生产力成本效益的方法,尤其在高度集成的制造工艺被广泛使用之前的处理器设计中,因为那时无法生产成本效益较高的片上高速缓存。早期的微处理器使用简单的总线结构,只有两组总线,每组总线有自己的时钟域。在这些器件中,两个时钟域间有简单的倍数关系:例如后向高速缓存总线的工作速率是前端总线的两倍。尽管这些器件可以采用与传统ATE原理相同的方法测试,工程师发现,实际上时序设置资源将被耗尽,很多向量无法运行在那些测试系统上。对于更复杂的时钟域应用,测试工程师可以利用流行的技术,使用双时域ATE系统测试这些器件。

多时钟域器件
测试这些早期器件充满了挑战性。目前,测试工程师必须处理包含多个工作在独立时钟域下的高速总线。同时这些器件的应用需求要求总线结构本身必须进行改变。随着早期的并行总线变得越来越宽,越来越快,设计者面对不断增加的困难,包括管理越来越多的数据和与并行总线设计中使用的常用系统时钟相关的时钟延迟。在这些情况下,不可能进行简单的通过/失效(pass/fail)功能测试,因为时钟延迟会引入足够的变化,使本来固定的测试向量有非确定性。最近出现的源同步串行结构为设计者提供了获得高速数据传输率的替换方法,这种方法不会引入与高速并行总线有关的延迟问题。该方法中,接收器件将发送器件发出的时钟和数据一同取出。
为了测试这些多时钟域总线和较新的异步串行总线,工程师需要一种测试系统,这种系统可以尽可能地模拟器件,最终对其进行测试。这叫做原型模式测试(见图1)。 在原型模式下进行测试,可以改进总的失效覆盖率和器件诊断,因为可以独立改变任一总线和保持其它总线的运行速度。具备这个能力还可以改进测试时间,因为时间设置不需要改变,且测试向量/时序较容易开发。
为了满足快速变化的消费者需求,先进的器件,如用于个人计算机系统的北桥和南桥器件,现在包括两个以上的时钟域,更复杂的是还包括数据速率超过400Mb/s的高速串行总线。北桥和南桥是传统个人计算机结构中的两个关键器件。南桥处理系统I/O功能,北桥负责系统处理器、图形子系统、存储器和PCI 夹层总线间的高速通信。
复杂IC(如北桥器件)的特点是能够完全独立操作的高速总线,所以测试必须支持独立的周期长度和有独立循环和匹配循环功能的时序设置。
例如,图2中北桥器件有三个独立的时域,三个时域间速率没有整数关系。本例中3ns时域产生了问题。通过时序设置切换,这个时钟域的时序可以被强行转换为1.875ns时序周期。测试工程师也可以将器件的测试向量拆分为一个3ns时域和一个1.875ns时域,在两个独立的时间基础下同时运行两个向量。图2描述了测试中需要支持的多种总线速度关系的一种。这些总线可以在测试过程中改变它们之间的速度关系:某些情况下,一组总线与其它总线速率是非整数关系,另外一些情况下,其它总线又成为问题,增加了多时域器件中的时域。
早期的ATE结构通常只支持单一的高速时序发生,但是下一代测试系统,如Credence的Octet和Quartet,十多年前就可以支持四个或更多的域。使用先进的多时域系统,如Octet提供的工具和特性,测试工程师能够进行成本效益较高的测试,可以满足复杂多时域IC,如北桥器件的测试需求。

测试开发
处理这种复杂度的器件,测试开发必须对被测器件有广泛的了解。通常,复杂器件被送到测试部门而没有足够的来自设计部门的器件数据,测试工程师要将器件返还给工程部门,取得所需的数据。过去,测试工程师只需要知道电源引脚和地引脚的位置,I/O引脚的分配则可以任意进行。快速总线器件出现后,工程师发现他们必须对测试系统资源做特殊分配,以管理这些高速总线。将来,PCI高速总线和其它源同步总线(SSB)要分配特殊的测试系统通道资源,达到既可以支持传统数字测试功能,又能支持新的用于测试SSB的测试功能,如抖动发生/探测,伪随机位数据流的发生和捕获,以及时钟恢复功能。随着数据速率不断增加,测试工程师需要更细致的关于被测器件的数据,以设计出合适的测试结构和过程。随着这些器件的数据速率超过几百Mb/s,测试设置变得更加关键,需要对结构设计更加小心。工程师必须保证差分路径长度和阻抗的匹配,并尽可能地使用高质量的器件。如果没有认真地考虑这些问题,工程师会发现,导致测试失效的原因是不合适的负载板设计和信号路径,而不是器件本身的失效。没有关于被测器件全面的信息,工程师不能保证可以对来自设计部门的所有测试向量进行测试。一组总线的工作速度可能高于设计速度,这将导致芯片的重加工。而低速设计中,任何ATE的输入/输出引脚可以分配给任一DUT输入/输出引脚,所以不用考虑这些问题。以前关于被测器件的信息可以在开发测试结构的同时进行了解,而今天理解被测器件则有必要在开发之前进行。如果工程师没有足够关于被测器件的信息,不仅会增加负载板重设计加工的风险(通常加工这些负载板需要15000-30000美元),同时也无法满足客户紧迫的产品开发进度。所以,进行结构布局之前,测试工程师应该尽可能多地收集有关器件总线功能的信息,包括总线标准和从CAD部门了解器件中使用总线的特性。
通过比较设计部门提供的数据和公开发表的标准,测试工程师能够对被测器件总体的信息和特定时钟域的特殊性有更好的了解。有了这些信息,测试工程队伍能够掌握器件的关键特性,包括独立时钟域的数量;每个时钟域的最高频率;每个时钟域的管脚数;最小电压摆幅;差分信号;端接。

多时钟域测试方法
如图2 所示,北桥部分电路的特点是有多种总线,若对这部分进行测试,需要将独立时钟域限制在一定的数量。这些总线由内部锁相环定时,内部锁相环使用频率较低的时钟作为参考时钟。前端总线(FSB)的时钟频率为133MHz,但数据可能以四倍于这个速率的频率传输。这个例子中,AGP的时钟是66MHz,但内部锁相环将该时钟8倍频后获得533MHz的频率。“Quad Pumped”是另一种表达方式,说明数据由一个内部时钟定时,这个时钟频率是主时钟的三倍。
北桥电路中,尽管多个不同的时钟可以归为同一时钟域,但是DCLKIN引脚(存储器时钟)无法与支持其它时钟的测试周期保持整数倍的关系。为了处理这种不同步的波形,支持时序设置的测试系统能够提供在连续的向量中进行不同时序沿放置的能力。例如,测试向量发生软件能够生成八个时序设置的重复向量,该向量可以在测试系统中进行复制。
在SoC测试系统中,如Octet, 测试工程师可以较容易地支持多个时序设置。而使用早期的ATE,测试工程师发现支持较高频率方面会受到限制,或者ATE根本不支持任何时序设置。
通常,测试工程师可以从两个常用的方案中任选一个来处理多时钟域问题:使用单一测试系统周期或多个测试系统周期。
?单一的测试系统周期。这种方法中,测试向量利用时序设置减少时钟域关系。这种方法的好处是测试结构布局不依赖具体器件;缺点是所有被锁定的时钟频率必须为某个基本时钟的倍数,测试工程师不能对每个总线独立进行频率参数的shmoo调试。而且这种方法可能会耗尽所用ATE的时序设置/时序沿存储器资源,一旦这种情况发生,测试向量必须重新仿真生成,才能保证所有的时钟和数据速率是整数倍关系。
?多个测试系统周期。这种方法中,测试向量被拆分为多个向量,每个向量是以不同的测试周期仿真生成的。这种方法对时序设置资源的要求较低,允许不同时域的独立编程。而另一方面,这种方法对测试板结构有依赖性,且CAD到测试的过程更复杂,需要合适的ATE软件支持。
最理想的是同时使用两种方法,测试工程师可以灵活的进行时域调试,但同时也增加了测试向量的处理工作。
将测试向量转换为符合测试系统周期标准的过程叫做“周期化”。典型的测试向量发生工具不作特殊定义,会生成有单一时域的向量,但很多较老ATE平台的时序设置资源有限,这样生成的向量无法在这种测试系统上运行或必须降低测试频率。采用多测试系统周期生成向量会更困难,但测试工程师可以在不同测试速度下只对一部分I/O进行处理。测试过程中不同的向量组被加载并独立地运行。如果对引脚的排列不作特殊设定,则很难分辩用于不同时钟域的引脚。这种情况下可以使用脚本程序将向量文件中的引脚按不同的总线分组以便于检验。不同的ATE在支持时钟域数量和每个时钟域可包含引脚数方面有不同的限制。所以,工程师在设计测试结构前理解器件时钟域的要求非常重要。

测试系统问题
除了了解被测器件的特性,测试工程师要有效地使用多时钟域测试方法理解所有测试系统的能力同样重要。除知道测试系统支持的时域数量外,工程师还需要理解时序设置资源和高频限制。高速测试中的关键问题是环路延迟(RTD)。
RTD是信号从测试系统的PE卡驱动电路将信号传输到DUT,再从DUT返回PE卡所用的时间。测试过程中,测试系统将信号传输到DUT的路径长度延长了器件有效的引脚间延时。Octet测试系统的特点之一是信号传输路径非常短,但是对多数ATE来说,信号从PE卡传送到DUT的距离都大于器件实际应用中与系统其它组成器件间的通讯距离。即使从测试接口板到DUT间的距离很短,还要考虑到测试头内部弹簧针到PE卡驱动器的距离。
尽管ATE的PE卡中对RTD做了补偿,但如果测试向量中编程的信号状态转换时间小于信号从PE卡传送到DUT所需的时间,就可能出现问题,因为这时测试系统试图在器件状态转换的同时对器件输出进行采样。这种情况下ATE的采用对象是PE驱动器而不是DUT。当器件工作在120Mb/s(周期为8.3ns)速率以上时,对于没有死态或等待状态的引脚输出到输入状态的转换,RTD会引起问题。120Mb/s的数据传输速率考虑了可能的数据建立/保持和传输延迟因素,如果数据不为零,这些因素会将时钟和数据关系复杂化。
测试工程师可以使用不同的方法处理RTD问题。一种方法是,仿真的时候为器件引脚从输出到输入状态转换设定足够的时间。考虑到RTD因素,这一时间通常需延长2~6ns,具体的时间由不同的ATE特性决定。另一种方法包括当引脚从输出状态到输入状态转换时,不对输出周期进行采样,但这种方法会减小错误覆盖率。一个更有效的方法是使用“fly-by”端接,这是一种消除RTD的方法。“fly-by”技术使用测试系统两个引脚:一个用于驱动数据,另一个用于读取数据。除了消除RTD,这种方法还可以使测试工程师能够使用被测器件的测试板验证测试系统的时序精度。
使用测试系统软件提供的示波器工具,“fly-by”技术还可以提供干净的波形。
实际上结合shmoo图等工具,ATE示波器检验可以为测试工程师提供验证测试设置功能的工具。通过仔细检验示波器数据,测试工程师可以更好的理解到达DUT的信号。实际上高速测试中,测试工程师有理由怀疑任何没有经过示波器检验的输入DUT的波形。同时示波器的质量决定测量波形的质量。■



关键词: SoC SoC ASIC

评论


相关推荐

技术专区

关闭