掌桥专利:专业的专利平台
掌桥专利
首页

一种芯片测试电路和方法

文献发布时间:2024-04-18 19:58:21


一种芯片测试电路和方法

本申请涉及芯片技术领域,尤其涉及一种芯片测试电路和方法。

基于芯片的大规模生产,芯片的逻辑测试需要大量复用数字输入/输出(input/output,I/O)资源生成芯片测试所需的测试向量(Test Vector)。随着摩尔定律发展,逻辑模式的逻辑模块增长趋势与芯片的I/O资源增长极不同步,即用于芯片测试的Scan测试技术中,虽然逻辑模块的规模增长,但是由于I/O资源的限制,逻辑模块的并行测试率降低,会导致Scan测试串行化,且同一个I/O资源分配给更多的逻辑模块使用时,会导致I/O资源与Scan链(chain)的压缩比上升,使得Scan测试效率降低。

为了提升Scan的测试效率,如何获取到Scan可复用的I/O资源,成为了当前的瓶颈问题。过去,针对SerDes I/O资源在Scan测试时是直接复用为低速(25~100Mhz)的数字I/O资源实现的,而复用为低速的数字I/O资源能提升的测试数据的传输带宽非常有限,并不能持续获得更大的Scan测试数据传输带宽,不能满足芯片的实际量产需求,Scan测试效率较低。目前的国际标准测试协议中,描述了如何使用串行和解串行器(Serializer and DeSerializar,SerDes)的串并转换功能实现Scan数据的高速传输,并行后充当芯片测试的Scan I/O,可以解决I/O传输带宽的限制问题。Scan I/O是其一种典型形态,芯片的测试加载也需要考虑到其他大带宽测试数据流。

发明内容

本申请实施例提供一种芯片测试电路和方法,立足于利用串行和解串行器提供大带宽的测试数据流或测试总线,不约束该总线的后续测试用途,能够利用高速串行测试接口接收测试机台的高速率测试数据并转换为多通道输入数据,解放单个通道的测试数据传输带宽限制,提升芯片测试效率。

为达到上述目的,本申请实施例采用如下技术方案:

第一方面,提供一种芯片测试电路,该芯片测试电路包括高速串行测试接口、第一变速器和第二变速器,高速串行测试接口与测试机台基于电容耦合方式互连,且采用差分传输方式接收测试机台传输的数据;高速串行测试接口,用于接收测试机台发送的高速串行输入数据,将高速串行输入数据转换为多通道输入数据,向第一变速器发送多通道输入数据;高速串行输入数据的速率大于或等于1.25Gbps;第一变速器,用于将多通道输入数据归一为单通道输入数据,单通道输入数据用于对待测试电路进行测试,待测试电路与芯片测试电路耦合;第二变速器,用于从待测试电路接收单通道输出数据,将单通道输出数据转换为多通道输出数据,并向高速串行测试接口发送多通道输出数据;其中,单通道输出数据与单通道输入数据对应;高速串行测试接口,还用于将多通道输出数据转换为高速串行输出数据,向测试机台发送高速串行输出数据。

这样,在高速串行测试接口接收高速串行数据并转换为多通道输入数据的情况下,高速串行输入数据和转换后的多通道输入数据的传输可以大幅提升测试数据的传输速率。其次,本申请利用高速串行测试接口接收高速串行输入数据和输出多通道输入数据的情况下,即使芯片内要测试的逻辑资源不断增加,用于测试数据传输的I/O资源也只占用了芯片较少的I/O管脚(高速串行输入数据的管脚、高速串行输出数据的管脚、多通道的输入数据的管脚和多通道的输出数据的管脚)。而且,经过上下行的变速器(Gearbox,其输入端和输出端的位宽与频率会进行变化)可实现多通道输入数据的位宽归一整合,可提升测试总线(Bus)的走线频率。

在一种可能的设计中,多通道输入数据在M个通道上传输,M为大于1的整数;第一变速器,用于在1倍频时钟域下接收多通道输入数据,对多通道输入数据进行位宽转换,得到单通道输入数据;在M倍频时钟域下输出单通道输入数据;第二变速器,用于在M倍频时钟域下接收单通道输出数据,对单通道输出数据进行位宽转换,得到多通道输出数据;在1倍频时钟下输出多通道输出数据;其中,单通道输入数据占用的位宽和单通道输出数据占用的位宽固定。

举例来说,多通道输入数据在4个通道上传输,第一变速器的输入端在1倍频时钟域下接收4通道输入数据,第一变速器的输出端在4倍频时钟域下输出单通道输入数据。这样,通过将多通道输入数据进行位宽整合归一,以4倍频输入数据,可提升测试数据在测试总线的走线频率。类似的,当第二变速器以4倍频接收单通道输出数据,也提升了单通道输出数据反馈给测试机台的速率,从而总体提升了芯片测试效率。

在一种可能的设计中,第一变速器包括第一缓存器和第一位宽转换电路;第一缓存器,用于缓存在1倍频时钟域下从高速串行测试接口接收的多通道输入数据;第一位宽转换电路,用于按照输出单通道输入数据的通道位宽从第一缓存器读取多通道输入数据,得到单通道输入数据,并在M倍频时钟域下输出单通道输入数据;第二变速器包括第二缓存器和第二位宽转换电路;第二缓存器,用于缓存在M倍频时钟域下接收到的单通道输出数据;第二位宽转换电路,用于按照输出多通道输出数据的每个通道的位宽从第二缓存器读取单通道输出数据,得到多通道输出数据,并在1倍频时钟域下输出多通道输出数据。

这样一来,第一变速器可以通过将多通道输入数据进行缓存后由位宽转换部件进行位宽整合归一,在M倍频时钟域下输入归一后的单通道输入数据,可提升测试数据在测试总线的走线频率。类似的,当第二变速器以M倍频接收单通道输出数据,也提升了单通道输出数据反馈给测试机台的速率,从而总体提升了芯片测试效率。

在一种可能的设计中,测试电路还包括解码器、编码器、有限状态机FSM、第一流管道和第二流管道;第一流管道和第二流管道均包括多级存储单元;第一变速器的输出端与解码器的输入端耦合,解码器的输出端与第一流管道的输入端耦合;第一流管道的输出端与测试电路的测试总线耦合;第二变速器的输入端与编码器的输出端耦合,编码器的输入端与第二流管道的输出端耦合,第二流管道的输入端与测试总线耦合;FSM均与解码器、编码器、第一流管道和第二流管道耦合。

在一种可能的设计中,解码器,用于对单通道输入数据进行解码操作,将解码的测试数据发送给第一流管道,并将解码的指令发送给FSM;FSM,用于根据解码的指 令确定编码器、第一流管道和第二流管道的操作状态;第一流管道,用于根据FSM确定的第一流管道的操作状态将测试数据传输至测试总线;第二流管道,用于根据FSM确定的第二流管道的操作状态接收通过测试总线返回的测试结果,将测试结果发送给编码器;编码器,用于根据FSM确定的编码器的操作状态对测试结果进行编码,得到单通道输出数据,并向第二变速器发送单通道输出数据。

现有的芯片测试中,输入给芯片的测试数据不经过解码和编码流程,本申请通过解码器可以对接收到的输入数据进行解码得到测试数据,将测试数据通过第一流管道分级缓存后输出至测试总线。反馈的测试结果还可以经过第二流管道分级缓存后输出给编码器进行编码,得到单通道输出数据。其中,FSM根据解码得到的指令可以确定编码器、第一流管道和第二流管道的操作状态。这样一来,本申请提供了一种规范的芯片测试架构,可以适用于多种速率的测试数据的传输。

示例性的,测试电路还包括与多级存储单元中的每级存储单元耦合的门控电路;第一流管道包括第一级存储单元和第二级存储单元;第一级存储单元,用于缓存从解码器接收到的测试数据;第一级存储单元,还用于在接收到与第一级存储单元耦合的门控电路发送的时钟信号时,向第二级存储单元发送第一级存储单元中存储的测试数据;第二级存储单元,用于缓存从第一级存储单元接收到的测试数据。由此,本申请提供的第一流管道和第二流管道对输入数据的分级缓存输出,可以避免现有技术中利用FIFO进行数据缓存带来的芯片开销增大的问题。

在一种可能的设计中,测试电路还包括多个帧头对齐器和通道对齐器;每个帧头对齐器的输入端与高速串行测试接口的一个输出端口耦合,每个帧头对齐器的输出端与通道对齐电路的一个输入端耦合,通道对齐器的多个输出端与第一变速器的多个输入端口耦合;每个帧头对齐器,用于从高速串行测试接口的一个输出端口接收多通道输入数据中的一个通道输入数据,并对一个通道的输入数据进行数据的帧头对齐后输出给通道对齐器;通道对齐器,用于对从多个帧头对齐器接收到的多通道输入数据进行通道间数据对齐后输出给第一变速器。

这是由于高速串行测试接口输出的多通道输入数据输入到第一变速器时,输入的数据包可能发生乱序,因此,帧头对齐器可以将从高速串行测试接口接收到的多通道输入数据进行帧头对齐,以将多通道输入数据中每个通道的输入数据按照帧头对齐后的顺序发送至通道对齐器。

通道对齐器进行通道间数据对齐可以理解为,由于每个通道传输数据的速度可能存在不一致,一个数据包被切分为多份在多个通道上传输时,每份数据在不同的通道上传输时可能不能同时到达第一变速器,因此,通道对齐器可以将同一个数据包切分后的小数据包在不同通道上传输时同时达到第一变速器。

示例性的,每个帧头对齐器包括第三缓存器和帧头对齐电路;第三缓存器,用于缓存从高速串行测试接口的一个输出端口接收到的多通道输入数据中的一个通道输入数据;帧头对齐电路,用于从第三缓存器中读取一个通道输入数据,并对一个通道输入数据按照帧头进行排序后输出给通道对齐电路;

通道对齐器包括第四缓存器和通道对齐电路;第四缓存器,用于缓存从多个通道对齐电路发送的多个通道输入数据;通道对齐电路,用于从第四缓存器读取多个通道 输入数据,对多个通道输入数据进行通道间对齐后输出给第一变速器。

在一种可能的设计中,该测试电路还可以包括解扰器、扰码器、多路分配器和合路器。其中,解扰器用于对第一变速器输出的单通道输出数据进行解扰;扰码器用于对编码器输出的单通道输出数据进行加扰后发送给第二变速器;多路分配器,用于对从第一流管道接收到的单通道输入数据传输送到指定输出端的组合逻辑电路了;合路器,用于将从不同位宽的测试总线端口传输的测试结果均通过合路器反馈给第二流管道。

这样,通过扰码器和解扰器实现数据在芯片测试电路中的传输,只要扰码器的级数选择适当,则经扰码以后的码流则可以是充分随机的,从而改善信号在片外传输信道中的传输质量等。

而多路分配器可以理解为将单通道输入数据传输至32位宽的测试总线端口输出给待测试电路,或传输至64位宽的测试总线端口输出给待测试电路,或传输至128位宽的测试总线端口输出给待测试电路等。这种通过多路分配器而后合路器的实现方式可以满足测试数据在多种位宽的测试总线中传输,以实现对待测电路的测试。

第二方面,提供一种测试芯片的方法,芯片包括高速串行测试接口,高速串行测试接口与测试机台基于电容耦合方式互连,且采用差分传输方式接收测试机台传输的数据,该方法包括:芯片通过高速串行测试接口接收测试机台发送的高速串行输入数据,将高速串行输入数据转换为多通道输入数据;高速串行输入数据的速率大于或等于1.25Gbps;芯片将多通道输入数据归一为单通道输入数据,单通道输入数据用于对芯片内的待测试电路进行测试;芯片将从待测试电路接收到的单通道输出数据转换为多通道输出数据,单通道输出数据与单通道输入数据对应;芯片通过高速串行测试接口将多通道输出数据转换为高速串行输出数据,向测试机台发送高速串行输出数据。

第二方面的有益效果可以参见第一方面的说明,此处不再赘述。

在一种可能的设计中,多通道输入数据在M个通道上传输,M为大于1的整数;芯片将多通道输入数据归一为单通道输入数据包括:芯片对在1倍频时钟域下传输的多通道输入数据进行位宽转换,得到M倍频时钟域下传输的单通道输入数据;芯片将从待测试电路接收到的单通道输出数据转换为多通道输出数据包括:芯片对在M倍频时钟域下接收到的单通道输出数据进行位宽转换,得到在1倍频时钟下传输的多通道输出数据;其中,单通道输入数据占用的位宽和单通道输出数据占用的位宽固定。

示例性的,芯片将多通道输入数据归一为单通道输入数据包括:芯片缓存在1倍频时钟域下从高速串行测试接口接收的多通道输入数据;芯片按照输出单通道输入数据的通道位宽从第一缓存器读取多通道输入数据,得到单通道输入数据,并在M倍频时钟域下输出单通道输入数据;

芯片将从待测试电路接收到的单通道输出数据转换为多通道输出数据包括:芯片缓存在M倍频时钟域下接收到的单通道输出数据;芯片按照输出多通道输出数据的每个通道的位宽从第二缓存器读取单通道输出数据,得到多通道输出数据,并在1倍频时钟域下输出多通道输出数据。

在一种可能的设计中,在芯片将从待测试电路接收到的单通道输出数据转换为多通道输出数据之前,该方法还包括:芯片对单通道输入数据进行解码操作,以获取解 码的指令和测试数据;芯片将测试数据经过多级存储单元进行缓存后输出给芯片内的测试总线,通过测试总线将测试数据传输给待测试电路;芯片根据解码的指令,对从待测试电路返回的测试结果经过多级存储单元进行缓存,并对缓存后输出的测试结果进行编码,得到单通道输出数据。

示例性的,多级存储单元包括第一级存储单元和第二级存储单元;芯片将测试数据经过多级存储单元进行缓存后输出给芯片内的测试总线包括:控制第一级存储单元缓存从解码器接收到的测试数据;控制第一级存储单元在接收到与第一级存储单元耦合的门控电路发送的时钟信号时,向第二级存储单元发送第一级存储单元中存储的测试数据;控制第二级存储单缓存从第一级存储单元接收到的测试数据。

在一种可能的设计中,在芯片将多通道输入数据归一为单通道输入数据之前,该方法还包括:芯片对多通道输入数据中每个通道的输入数据进行数据的帧头对齐;芯片对帧头对齐后的多通道输入数据进行通道间数据对齐。

示例性的,芯片对多通道输入数据中每个通道的输入数据进行数据的帧头对齐包括:芯片控制第三缓存器缓存从高速串行测试接口的一个输出端口接收到的多通道输入数据中的一个通道输入数据;芯片控制帧头对齐电路从第三缓存器中读取一个通道输入数据,并对一个通道输入数据按照帧头进行排序后输出给通道对齐电路;

芯片对帧头对齐后的多通道输入数据进行通道间数据对齐包括:芯片控制第四缓存器缓存从多个通道对齐电路发送的多个通道输入数据;芯片控制通道对齐电路从第四缓存器读取多个通道输入数据,对多个通道输入数据进行通道间对齐后输出给第一变速器。

第三方面,提供一种通信装置,包括至少一个处理器,至少一个处理器与存储器耦合,至少一个处理器用于读取并执行存储器中存储的程序,以使得通信装置执行如上述第二方面以及第二方面的任一种可能的设计所述的方法。

第四方面,提供一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第二方面以及第二方面的任一种可能的设计所述的方法。

图1为本申请实施例提供的一种芯片的逻辑规模和可供Scan复用的I/O带宽的趋势示意图;

图2为本申请实施例提供的一种芯片测试设计架构示意图;

图3为本申请实施例提供的一种芯片测试电路的结构示意图;

图4为本申请实施例提供的一种芯片测试电路的结构示意图;

图5为本申请实施例提供的一种测试芯片的方法流程示意图;

图6为本申请实施例提供的一种多通道为4个32位宽通道时的芯片测试电路的结构示意图;

图7为本申请实施例提供的一种第一变速器和第二变速器的结构示意图;

图8为本申请实施例提供的一种1倍频时钟域和M倍频时钟域的实现方式示意图;

图9为本申请实施例提供的一种芯片测试电路中采用PLL来生成1倍频时钟域和4倍频时钟域的示意图;

图10为本申请实施例提供的一种FSM的状态示意图;

图11为本申请实施例提供的一种测试数据输入给第一流管道的示意图;

图12为本申请实施例提供的一种芯片测试电路的结构示意图;

图13为本申请实施例提供的一种帧头对齐电路和通道对齐电路的结构示意图;

图14为本申请实施例提供的一种芯片的结构示意图。

为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。如下所示:

可测性设计(design for testability,DFT):一种集成电路设计技术,可以将一些特殊结构在设计阶段植入电路,以便设计完成后对电路进行测试。

Scan测试:数字集成电路测试的重要方法之一,可以有效的筛选出坏片,提高产品质量。

SerDes:包括高速串并转换电路、时钟数据恢复电路、数据编解码电路、时钟纠正和通道绑定电路等,为各种高速串行数据传输协议提供了物理层基础。SerDes的TX发送端和RX接收端功能独立,而且均由物理媒介适配层(physical media attachment,PMA)和物理编码子层(physical coding sublayer,PCS)两个子层组成。

自动化测试机台(Automotive Tester Equipment,ATE):在半导体产业中意指集成电路(integrated circuit,IC)自动测试机,用于检测集成电路功能的完整性,为集成电路生产制造的最后流程,以确保集成电路生产制造的品质。

高速测试接口(High Speed Serial Test Interface,HSSTI):可以理解为高速串行测试工具,用于对芯片内部进行测试数据加载。

有限同步状态机(Finite state machine,FSM):由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。

CMD:Windows命令提示符,是Windows NT下的一个用于运行Windows控制面板程序或某DOS程序的shell程序;或在Windows CE下用于运行控制面板程序的外壳程序。

包结束(end of packet,EOP):数据流中的最后一个数据包的指令。

随着芯片的测试模块数量增多,同一个I/O资源可以分配给更多的逻辑资源使用,即芯片中的逻辑模块虽然增长,但是I/O资源并未随之增长,芯片的测试效率较低。如图1所示为芯片的数字逻辑规模和可供Scan测试向量复用的传输带宽的趋势示意图,横轴表示年份,两个纵轴分别表示数字逻辑规模和Scan测试向量的传输带宽。可以看出,随着时间的推进,表示芯片的逻辑规模的两条曲线:曲线1示出的网络工程(X-network project)逻辑规模和曲线2示出的终端工程(Terminal project)的逻辑规模增长迅速;但是,数字管脚总带宽的2条曲线中,曲线3和曲线4示出的是:随着X-network project中I/O资源的访问频率8Gbps到10Gbps的增长,以及Terminal project中I/O资源的访问频率6.4Gbps到8Gbps的增长,其I/O资源的管脚总带宽(I/O数量ⅹ访问频率)增长缓慢。

目前,基于电气和电子工程师协会(Institute of Electrical and Electronics Engineers, IEEE)1149.10的国际标准的测试协议,描述了如何使用SerDes的串并转换功能通道来实现Scan数据的高速传输,并行后可充当芯片测试的Scan I/O,可以解决数字I/O传输带宽的限制问题。例如,可以使用单通道(single lane)的SerDes I/O作为基本功能通道来复用,提供尽可能多的Scan测试带宽。但是,1149.10标准并未规定和限定具体用户厂商的具体架构和设计,同时该技术也与各厂商使用的SerDes直接相关,暂无成熟的Scan数据的高速传输设计架构,即技术成熟度低,只有相关的包(Packets)协议部分,并未规范其电路架构和实现方式,需要从设计、验证、测试向量、诊断等一系列的生态系统支撑。而且,各大厂商都选择在串并转换后的编解码电路内部构造出了两个复杂的先进先出(First In First Output,FIFO)来实现Scan测试带宽,内部存在较大的开销。

综上所述,芯片的Scan测试需要复用I/O资源来完成逻辑模块(或者pattern图形)扩展。但是随着工艺的深入,逻辑规模的增长,所需要的I/O资源数量与实际芯片的I/O带宽资源不成正比增长,亟需扩充可复用的I/O带宽资源。

对此,本申请提出一种测试数据加载传输的芯片测试电路,可以利用高速串行测试接口,例如HSSTI,将从测试机台接收到的高速串行输入数据转换成在多个通道传输的输入数据,通过第一变速器将多通道的输入数据再归一为单通道的输入数据进行芯片测试,并将测试后得到的单通道的输出数据通过第二变速器转换为多个通道的输出数据,通过该高速串行测试接口将多个通道的输出数据转换为高速串行输出数据反馈给测试机台。这样,在高速串行测试接口接收高速串行输入数据并转换为多通道输入数据的情况下,高速串行输入数据和转换后的多通道输入数据的传输可以大幅提升测试数据的传输速率。其次,本申请利用高速串行测试接口接收高速串行输入数据和输出多通道输入数据的情况下,即使芯片内要测试的逻辑资源不断增加,用于测试数据传输的I/O资源也只占用了芯片较少的I/O管脚(高速串行输入数据的管脚、高速串行输出数据的管脚、多通道的输入数据的管脚和多通道的输出数据的管脚)。而且,经过上下行的变速器(Gearbox,其输入端和输出端的位宽与频率会进行变化)可实现多通道输入数据的位宽归一整合,可提升测试总线(Bus)的走线频率。

本申请中的高速串行输入数据可以理解为速率大于或等于1.25Gbps的串行输入数据。

如图2所示,本申请的芯片测试设计架构可以应用于自动化测试机台(automotive tester equipment,ATE)与被测设备(device under test,DUT)的对接场景中。这里的DUT例如可以为芯片。

示例性的,ATE可以实现例如5~10Gbps单通道的高速码流,匹配本申请提供的设计架构时,可以实现极大带宽的测试数据传输,满足超大规模芯片的测试I/O需求,可以近似于100~400个普通低速100Mhz数字I/O的复用资源。

例如,如图3所示,在芯片中,本申请提供的芯片测试电路可以包括高速串行测试接口、第一变速器和第二变速器。高速串行测试接口与测试机台基于电容耦合方式互连,且采用差分传输方式接收所述测试机台传输的数据。这种耦合方式和数据的传输方式是为了匹配高速串行测试接口从测试机台接收高速串行输入数据。

其中,测试机台的输出端a与高速串行测试接口的输入端b耦合,高速串行测试 接口的多个RX端口与第一变速器的多个输入端(c、d、…)耦合,第一变速器的输出端e与测试总线耦合;第二变速器的输入端f与测试总线耦合,第二变速器的多个输出端(g、h、…)与高速串行测试接口的多个TX端耦合,高速串行测试接口的输出端i与测试机台的输入端j耦合。

高速串行测试接口,可以用于接收测试机台发送的高速串行输入数据,将高速串行输入数据转换为多通道输入数据,并向第一变速器发送多通道输入数据;例如高速串行数输入数据为5Gbps,高速串行测试接口通过单个通道(b端口)接收5GGbps的串行输入数据,将该串行输入数据转换为多通道输入数据后,通过高速串行测试接口的多个RX端口将输出该多通道输入数据。这里的多通道输入数据包括要对芯片的待测试电路进行测试的测试数据。

第一变速器,用于将多通道输入数据归一为单通道输入数据,单通道输入数据用于对待测试电路进行测试,待测试电路与芯片测试电路耦合。这里的归一例如可以通过位宽转换方式实现。例如将4个通道,每个通道传输32位的多通道输入数据经过位宽转换,得到单通道的32位输入数据,单通道的32位输入数据的传输频率是4个通道中每个通道的传输频率的4倍。

第二变速器,用于从待测试电路接收单通道输出数据,将单通道输出数据转换为多通道输出数据,并向高速串行测试接口发送多通道输出数据;其中,单通道输出数据与单通道输入数据对应。例如单通道输出数据可以在以4倍频的频率下输入至第二变速器,第二变速器对单通道输出数据进行位宽转换得到4通道输出数据时,以1倍频的频率输出4通道输出数据。

高速串行测试接口,还用于将多通道输出数据转换为高速串行输出数据,向测试机台发送串行输出数据。例如,可通过高速串行测试接口的多个TX端口从第二变速器接收4通道输出数据,高速串行测试接口将4通道输出数据再转换为高速串行输出数据输出给测试机台。

由此,本申请利用高速串行测试接口从测试机台接收高速串行数据并转换为多通道输入数据传输的情况下,可提升测试数据的接收速率;高速串行测试接口从第二变速器接收到通道输出数据并转换为高速串行输出数据的情况下,可提供测试结果的反馈速率。而且,可占用高速串行测试接口较少的I/O资源传输测试数据。并且,通过上下行的变速器的为输入数据和输出数据的位宽转换和频率转换,可提升测试数据在测试总线的走线频率。

应用图3示出的芯片测试电路,本申请提供一种如图4所示的芯片测试电路。该芯片测试电路还包括解码器、编码器、FSM、第一流管道和第二流管道。第一流管道和第二流管道包括多级存储单元。这里的第一流管道和第二流管道可以理解为streaming pipe。

第一变速器的输出端e与解码器的输入端k耦合,解码器的输出端l与第一流管道的输入端m耦合;第一流管道的输出端n与测试电路的测试总线耦合;

第二变速器的输入端f与编码器的输出端o耦合,编码器的输入端p与第二流管道的输出端q耦合,第二流管道的输入端r与测试总线耦合;

FSM均与解码器的第三端s、编码器的第三端t、第一流管道的第三端u和第二流 管道的第三端v耦合。

应用图4示出的芯片测试电路,该解码器,可以用于对单通道输入数据进行解码操作,将解码的测试数据发送给第一流管道,并将解码的指令发送给FSM;

FSM,用于根据解码的指令确定编码器、第一流管道和第二流管道的操作状态;

第一流管道,用于根据FSM确定的第一流管道的操作状态将测试数据传输至测试总线;

第二流管道,用于根据FSM确定的第二流管道的操作状态接收通过测试总线返回的测试结果,将测试结果发送给所述编码器;

编码器,用于根据FSM确定的编码器的操作状态对测试结果进行编码,得到单通道输出数据,并向第二变速器发送单通道输出数据。

应用图4示出的芯片测试电路,本申请提供一种测试芯片的方法,如图5所示,该方法包括:

501、芯片通过高速串行测试接口接收测试机台发送的高速串行输入数据,将高速串行输入数据转换为多通道输入数据。

其中,串行输入数据可以理解为将组成数据和字符的码元,按时序逐位予以传输。高速串行输入数据例如可以理解为在单个通道上传输速率高于100Mhz,且传输带宽为5~10Gbps的串行输入数据。多通道输入数据可以理解为在多个通道上传输的数据,例如将单个通道上传输的一个数据包切分为4份,在4个通道上传输输入数据。

示例性的,测试机台为ATE,高速串行测试接口为HSSTI时,如图6所示,HSSTI可以接收ATE发送的高速串行输入数据,将高速串行输入数据转换为在4个通道上传输,得到4通道输入数据。高速串行输入数据的传输速率为5Gbps,位宽为128位,将128位宽的高速串行输入数据切换为4份在4个通道输入至第一变速器,每个通道的位宽为32位。

502、芯片将多通道输入数据归一为单通道输入数据,单通道输入数据用于对芯片内的待测试电路进行测试。

在一些实施例中,假设多通道输入数据在M个通道上传输,M为大于1的整数。第一变速器,可以用于在1倍频时钟域下接收多通道输入数据,对多通道输入数据进行位宽转换,得到单通道输入数据;在M倍频时钟域下输出单通道输入数据。其中,单通道输入数据占用的位宽固定。

其中,HSSTI输出的M个通道中每个通道的位宽通常与业务模式有关,例如可以为16位、32位或40位等。图6中示出的是32位的位宽。

在一些实施例中,如图7所示(以4个32位宽通道示例),第一变速器包括第一缓存器和第一位宽转换电路;

第一缓存器,用于缓存在1倍频时钟域下从高速串行测试接口接收的多通道输入数据;第一位宽转换电路,用于按照输出单通道输入数据的通道位宽从第一缓存器读取多通道输入数据,得到单通道输入数据,并在M倍频时钟域下输出单通道输入数据;

示例性的,当第一变速器在1倍频时钟域下接收到4个32位宽通道的输入数据时,可以将这4个32位宽通道的输入数据先缓存在第一缓存器中,而后第一位宽转换电路可以从第一缓存器中以32位宽读取输入数据,并在M倍时钟域下输出单通道的32位 宽输入数据,实现多通道数据归一化处理。

其中,这里的1倍频时钟域和M倍频时钟域的实现方式可以有多种。举例来说,如图8所示,假设M为4,第一变速器的两侧存在同源无频偏的时钟源在HSSTI中,第一变速器可以在以4分频的时钟域(CLK分频4)下通过第一时钟管脚(rxoclk)接收4个32位宽通道的输入数据,并在1分频的时钟域下通过第二时钟管脚(rxauxclk)输出单通道32位宽输入数据。换句话说,第一变速器在1倍频时钟域下通过rxoclk接收4个32位宽通道的输入数据,在4倍频时钟域下通过rxauxclk输出归一后的单通道32位宽输入数据。第二变速器的实现方式与第一变速器类似,第二变速器在4倍频时钟域下通过rxauxclk接收单通道32位宽输出数据,在1倍频时钟域下通过rxoclk输出4个32位宽通道的输出数据。在另一些方式中,也可以采用在ATE中设置同源无频偏的时钟域来保证第一变速器两侧时钟域同源。

再举例来说,如图9所示,如果HSSTI不能内部分频产生1分频和4分频时钟域时,又或者HSSTI 4分频的时钟并没有输出到该模块的管脚上,可以考虑在HSSTI外,利用1分频的第二时钟管脚,例化一个CLK分频4的时钟,第一变速器可以用该时钟接收4个32位宽通道的输入数据。注意,此时的输入数据是来源于HSSTI内部原第一时钟管脚时钟域的,这里需要确保接收的输入数据时钟域与CLK4之间进行相应的同步处理。

在一些实施例中,第一变速器输出的单通道输入数据的位宽固定,与向第二变速器输入的单通道输出数据的位宽相同,即向第二变速器输入的单通道输出数据的位宽也固定。例如在图6的示例中,第一变速器归一后的位宽默认定义为32位,向第二变速器输入的位宽也默认为32位。也就是说,向第一变速器输入的多通道输入数据中每个通道的位宽为16或32或40等任何位宽时,都将该多通道输入数据归一为32位的固定帧格式之后再继续进行处理。这种基于固定帧格式来处理每帧数据包可以形成简单高效的传输方式。这里HSSTI的多通道输入数据中每个通道的位宽通常与业务模式有关。

503、芯片对单通道输入数据进行解码操作,以获取解码的指令和测试数据。

示例性的,当第一变速器采用上述变速器的位宽归一化输出32位宽的单通道输入数据给解码器时,解码器可以对单通道输入数据进行解码,以识别到输入数据流的帧头、帧尾、指令和内容等。其中,一个单通道输入数据可以理解为一帧数据。FSM可以根据解码得到的指令确定编码器、第一流管道和第二流管道的操作状态,即执行步骤504。这里的内容可以理解为测试数据,例如为Scan测试数据。

504、芯片根据解码的指令确定编码器、第一流管道和第二流管道的操作状态。

也可以理解为,解码器将解码得到的指令发送给FSM,FSM可以根据解码的指令,定制出编码器、第一流管道和第二流管道相应的状态机序列。例如,编码器进入编码状态的序列,第一流管道对测试数据在多级存储单元中进行缓存的序列,以及第二流管道对反馈的测试数据在多级存储单元中进行缓存的序列。

上文已说明,第一变速器输出的单通道输入数据的位宽固定,向第二变速器输入的单通道输出数据的位宽也固定,那么FSM可以理解为基于固定位宽为一个状态的FSM,每一数据帧可以被定义为一个状态。

示例性的,根据IEEE 1149.10协议的定义要求,单通道输入数据的数据流中:

帧头的格式可以为:帧头8位+CMD8位+16位Payload(内容),统一命名为“CMD”;

循环冗余校验(Cyclic Redundancy Check,CRC)的格式占用32位,统一命名为“CRC”;用于对单通道输入数据进行校验;

帧尾的格式占用32位,统一命令为“EOP”。

当解码器根据该定义要求识别到帧头和帧尾,以及帧头和帧尾中间的单通道输入数据即为一帧完整的数据。

其中,CMD的类型可以包括普通CMD、CHCMD(Chselect CMD,通道选择CMD)和测试CMD(ScanCMD)。当解码器识别到这3种CMD并发送给FSM时,FSM可以根据这3种CMD进入3种状态。

如图10所示为FSM的状态示意图。当FSM接收到解码的指令中的普通CMD时,FSM可以跳转到CMD的状态,即进入对测试电路进行配置的状态。配置的过程中,FSM的状态为空闲态(idle)-CMD-CRC-EOP。该配置过程例如可以理解为对测试电路进行复位等处理。即先要解锁测试电路,进行电路配置,例如选择解码器中的一些变量,执行对第一流管道和第二流管道的存储单元的级数配置,以及对测试总线、位宽和速率的配置等;

当FSM接收到解码的指令中的CHCMD时,FSM可以跳转到CHCMD的状态,即进入通道选择的操作状态,以确定传输测试数据的测试总线。该过程中FSM的状态可以为idle-CHCMD-CH内容-CRC-EOP。例如测试总线包括位宽为32、64以及128位的总线,CHCMD指令后的内容(Chselect content,CH内容)指示选择32位位宽的测试总线时,FSM便指示第一流管道传输的测试数据在32位位宽的测试总线上进入芯片内部。

当FSM接收到解码的指令和内容中的测试CMD时,FSM可以跳转到测试CMD的状态,即进入测试数据的传输状态,以在测试总线上传输测试数据。该过程中FSM的状态可以为idle-测试CDM-测试内容-CRC-EOP。当FSM识别到测试CDM时,可以指示解码器和第一流管道传输测试数据至总线。

505、芯片将测试数据经过多级存储单元进行缓存后输出给芯片内的测试总线,通过测试总线将测试数据传输给待测试电路。

也就是说,当第一流管道从解码器接收到测试数据时,第一流管道可以通过多级存储单元对测试数据进行多级缓存后输出至测试总线。

在一些实施例中,该测试电路还包括与多级存储单元中的每级存储单元耦合的门控电路;第一流管道包括第一级存储单元和第二级存储单元;

第一级存储单元,用于缓存从解码器接收到的测试数据;

第一级存储单元,还用于在接收到与第一级存储单元耦合的门控电路发送的时钟信号时,向第二级存储单元发送第一级存储单元中存储的测试数据;

第二级存储单元,用于缓存从第一级存储单元接收到的测试数据。

示例性的,图11示出的是测试数据输入给第一流管道的示意图,当解码器对单通道输入数据进行解码得到测试数据时,测试数据输入给第一流管道。其中,第一流管道为3级存储单元:1级存储单元、2级存储单元和3级存储单元,每级存储单元包括 多个存储单元(存储单元例如可以为寄存器,图11示出了32个寄存器)。每级存储单元耦合有一个门控电路,用于对测试数据进行打拍。例如当门控电路A接收到写使能(write_enable)信号1时,门控电路A可以向1级存储单元发送时钟信号(WCLK)1,1级将存储单元中的测试数据发送给2级;在一段时间后,门控电路B接收到写使能信号2时,门控电路B可以向2级发送时钟信号2,2级将存储单元中的测试数据发送给3级;一段时间后,门控电路C接收到写使能信号3时,门控电路C可以向3级发送时钟信号3,3级将存储单元中的测试数据发送至测试总线。写使能信号可以由FSM中的计数器(counter generator)触发。

需要说明的是,门控电路和解码器以及FSM的时钟信号可以同源,即均来自同一个主时钟(main clock)。第一流管道可以根据FSM确定的第一流管道的操作状态(接收到的多个使能信号)将测试数据传输至测试总线。

506、芯片根据解码的指令,对从待测试电路返回的测试结果经过多级存储单元进行缓存,并对缓存后输出的测试结果进行编码,得到单通道输出数据。

当测试数据在芯片内部经过多种时序转换和多种接口传输得到测试结果返回至第二流管道时,第二流管道的内部结构与图11示出的第一流管道的结构类似,即测试结果返回至第二流管道时,第二流管道根据FSM确定的第二流管道的操作状态接收通过测试总线返回的测试结果,经过第二流管道中的多级存储单元将测试结果返回给编码器。编码器再对测试结果进行编码,得到单通道输出数据。

可以理解,本申请中,FSM确定的编码器、第一流管道和第二流管道的操作状态应与编码器、第一流管道和第二流管道对数据处理的时机吻合,以实现状态和数据的无缝衔接。

在本申请实施例中,这种状态和数据的无缝衔接可以通过FSM确定第一流管道和第二流管道对数据进行缓存的存储单元的级数实现,即通过streaming pipe的存储单元的级数实现。也就是说,第一流管道和第二流管道的存储单元的级数符合:FSM触发编码器进入对单通道响应数据进行编码的状态,与单通道响应数据返回至编码器的时刻一致。

也就是说,第一流管道中的存储单元的级数和第二流管道中的存储单元的级数,可以用于确定编码器对测试结果进入编码的等待时间。即当测试数据发出后,经过第一流管道的存储单元的级数和第二流管道的存储单元的级数后,当测试结果到达编码器编译时,此时,FSM刚好触发编码器进入编码状态,与测试结果返回至编码器的时机匹配,可实现无延迟的流水型测试数据传输。这种实现方式不需要任何FIFO缓存测试数据和测试结果,通过固定帧FSM实现了测试数据输入和测试结果输出的完全流水处理,实现难度和代价较低,对物理实现和时序较为友好。

507、芯片将从待测试电路接收到的单通道输出数据转换为多通道输出数据,单通道输出数据与单通道输入数据对应。

编码器可以将得到的单通道输出数据发送给第二变速器,第二变速器,用于在M倍频时钟域下接收单通道输出数据,对单通道输出数据进行位宽转换,得到多通道输出数据;在1倍频时钟下输出多通道输出数据。

在一些实施例中,第二变速器包括第二缓存器和第二位宽转换电路;

第二缓存器,用于缓存在M倍频时钟域下接收到的单通道输出数据;第二位宽转换电路,用于按照输出多通道输出数据的每个通道的位宽从第二缓存器读取单通道输出数据,得到多通道输出数据,并在1倍频时钟域下输出多通道输出数据。

可以理解,第二变速器的实现与第一变速器类似,假设多通道输出数据为4个32位宽的输出数据时,也可以通过类似图8或图9示出的电路结果实现在4倍频时钟域下接收单通道32位宽输出数据,在第二变速器的第二缓存器中缓存后,经过第二位宽转换电路将单通道32位宽输出数据转换为4个32位宽通道的输出数据,将4个32位宽通道的输出数据在1倍频时钟域下输出至高速串行测试接口,例如输出至HSSTI的多个TX端口。

508、芯片通过高速串行测试接口将多通道输出数据转换为高速串行输出数据,向测试机台发送串行输出数据。

示例性的,当HSSTI的多个TX端接收到4通道输出数据时,可以将4通道输出数据转换为高速串行输出数据,并通过单通道将高速串行输出数据发送给测试机台,以便测试机台可以通过接收到的高速串行输出数据确定芯片的待测试电路是否正常。

可以理解,本申请利用高速串行测试接口从测试机台接收高速串行数据并转换为多通道输入数据传输的情况下,可提升测试数据的接收速率;高速串行测试接口从第二变速器接收到通道输出数据并转换为高速串行输出数据的情况下,可提供测试结果的反馈速率,总体来说,提升了芯片测试效率。而且,可占用高速串行测试接口较少的I/O资源传输测试数据。并且,通过上下行的变速器的为输入数据和输出数据的位宽转换和频率转换,可提升测试数据在测试总线的走线频率。

并且,本申请可以基于第一变速器和第二变速器将位宽归一化,并基于归一化后的固定位宽的固定帧状态机、编码器、解码器以及streaming pipe完成芯片测试,HSSTI外围的编解码电路架构简单,也不需要FIFO等缓存结构,降低了芯片占用面积。

基于上述图5对应的测试芯片的方法,本申请还提供一种芯片测试电路。该芯片测试电路包括如图4中的电路结构以外,如图12所示,还包括多个帧头对齐(framer)器、通到对齐(Bonding)器、解扰器、扰码器、多路分配器(demultiplexer,DEMUX)以及合路器(MUX)。图12中,多通道输入数据是以4个32位通道输入数据为例示出的。高速串行测试接口以HSSTI示例的,测试机台以ATE示例的。

其中,多个帧头对齐器的多个输入端(s、t、…)与高速串行测试接口的多个输出端口耦合,多个帧头对齐器的多个输出端与通道对齐电路的多个输入端(v、w、…)耦合。也即每个帧头对齐器的输入端与高速串行测试接口的一个输出端口耦合,每个帧头对齐器的输出端与通道对齐器的一个输入端耦合。通道对齐器的多个输出端与第一变速器的多个输入端(c、d、…)耦合。解扰器的输入端与第一变速器的输出端e耦合,解扰器的输出端x与解码器的输入端k耦合;第一流管道的输出端n与多路分配器的输入端y耦合,多路分配器的输出端与测试总线耦合;合路器的输入端与测试总线耦合,合路器的输出端与第二流管道的输入端r耦合;扰码器的输入端与编码器的输出端o耦合,扰码器的输出端A与第二变速器的输入端f耦合。

在一些实施例中,每个帧头对齐器,用于从高速串行测试接口的一个输出端口所述多通道输入数据中的一个通道输入数据,并对这一个通道的输入数据进行数据的帧 头对齐后输出给通道对齐器。示例性的,如图13所示,每个通道对应的帧头对齐器可以包括第三缓存器和帧头对齐电路,第三缓存器可以用于对从高速串行测试接口的一个输出端RX接收到的多通道输入数据中的一个通道输入数据进行缓存,帧头对齐电路可以从第三缓存器中读取该通道传输的多个输入数据,并对多个输入数据按照帧头的顺序进行排序后输出。

通道对齐器,用于对从多个帧头对齐电路接收到的多通道输入数据进行通道间数据对齐后输出给第一变速器。示例性的,如图13所示,该通道对齐器可以包括第四缓存器和通道对齐电路,第四缓存器可以用于对接收到的多个通道对齐电路发送的输入数据进行缓存,通道对齐电路可以从第四缓存器中读取多个通道对齐电路对应的输入数据,并对多个输入数据按照同一个数据包的多份数据进行通道对齐,使得同一个数据包的多份数据传输速率一致,可同时到达第一变速器。

可以理解为,从HSSTI输出的4个32位宽通道的输入数据输入到第一变速器时,输入的数据包可能发生乱序,因此,framer可以将从HSSTI接收到的4个32位宽通道的输入数据进行帧头对齐,以将4个通道中每个通道的输入数据按照帧头对齐后的顺序发送至通道对齐器。通道对齐器进行通道间数据对齐可以理解为,由于每个通道传输数据的速度可能存在不一致,一个数据包被切分为4份在4个通道上传输时,每份数据在不同的通道上传输时可能不能同时到达第一变速器,因此,通道对齐器可以将同一个数据包切分后的小数据包在不同通道上传输时同时达到第一变速器。

解扰器用于对单通道输入数据进行解扰,也就是说,ATE发送的输入数据是经过加扰的。类似的,当要输出单通道输出数据时,也需要通过加扰器对单通道输出数据进行加扰。

多路分配器,可以理解将单通道输入数据传输送到指定输出端的组合逻辑电路。例如多路分配器将单通道输入数据传输至32位宽的测试总线端口输出给待测试电路,或传输至64位宽的测试总线端口输出给待测试电路,或传输至128位宽的测试总线端口输出给待测试电路等。

合路器,可以理解为将从不同位宽的测试总线端口传输的测试结果均通过合路器反馈给第二流管道。

当编码器对测试结果进行编码得到单通道输出数据时,扰码器用于对单通道输出数据进行加扰后输出给第二变速器。

此外,当第一变速器接收到framer发送的多通道输入数据时,第一变速器可以向第二变速器发送读启动触发信号(trigger the read operation),用于指示第二变速器开始工作。这时,图12中HSSTI、帧头对齐器、第一变速器以及第二变速器形成了一个闭环系统,近似于SerDes的远端并行环回模式,成为Deterministic系统。该SerDes的远端并行环回模式可以理解为SerDes进行串并转换后的并行数据不经过解包直接环回给SerDes的TX端口的通路。Deterministic系统可以理解为确知型系统,用于将SerDes的RX发送的输入数据经过确定的整个确知型系统延时后,存在确定的期望数据在SerDes的TX侧可以观测到。该闭环系统中,RX和TX构成相对稳定的相位关系,上行的第一变速器(写侧)与下行的第二变速器(读侧)形成了内部自驱动同步的响应方式,保持了芯片测试电路的确知性和唯一性。

可以理解,Deterministic系统有利于与传统的测试机台的波形生成语言(waveform generation language,WGL/标准测试接口语言(Standard for extensions to Standard Test Interface Language,STIL)格式向量对接,完成相应的芯片测试,降低了对测试机台的硬件和软件的标准要求,有利于测试机台量产的大规模实现。

本申请实施例还提供一种芯片14,该芯片14可以为任何待测试芯片。

在一些实施例中,如图14所示,该芯片14可以包括芯片测试电路、待测试电路和测试总线等。芯片测试电路与测试机台耦合。该芯片中的芯片测试电路以及内部结构可以为如本申请图3~图13所示的任一种电路结构。待测试电路可以为芯片内的逻辑模块,测试总线用于从芯片测试电路接收测试数据,该测试数据经过待测试电路处理后反馈测试结果,测试结果通过测试总线返回至芯片测试电路。

需要说明的是,本申请的测试机台为ATE以外,还可以为系统级测试(System Level Test,SLT)甚至其他的测试机台或导入板。

由此,本申请提供的芯片在包括上述测试电路,可以复用高速串行测试接口较少部分的RX和TX的I/O资源作为测试数据加载通道,传输高速串行输入数据,并进行串并转换后发送至第一变速器,并且通过第二变速器对反馈的测试结果进行多通道输出给高速串行测试接口,可以解决用于芯片测试的I/O传输带宽的限制,避免芯片内部逻辑资源增加造成的芯片量产的测试效率低下问题。并且,本申请不需要使用FIFO进行测试数据缓存,而是使用streaming pipe实现对测试数据的缓存,相对FIFO来说,占用的芯片面积较小。

通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的 形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种集成电路芯片测试分选装置及其工作方法
  • 一种集成电路IC芯片引脚修复设备及芯片引脚修复方法
  • 一种IIC存储芯片共用电路、电子装置及其备用电路切换方法
  • 测试保护电路及其控制方法、测试电路及芯片测试电路
  • 测试保护电路及其控制方法、测试电路及芯片测试电路
技术分类

06120116482908