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

电子电路和用于设计电子电路的方法、设备和存储介质

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


电子电路和用于设计电子电路的方法、设备和存储介质

技术领域

本公开涉及电子领域,更具体而言涉及电子电路和用于设计该电子电路的方法、电子设备和存储介质。

背景技术

在芯片的制造过程和封装过程中不可避免的会因为各种原因(如工艺、材料等)导致芯片存在缺陷,这种缺陷会导致芯片无法正常工作。芯片测试的主要任务就是挑选出有缺陷的芯片。因为这种有缺陷的芯片流入市场后带来的开销将远远大于芯片测试的开销,因此芯片测试是芯片制造过程中至关重要的一环。

具体地,可以在芯片设计阶段向芯片中添加可测试性设计(design fortestablility,DFT)结构,并且制造具有DFT结构的芯片。可以利用自动测试向量生成(automatic test pattern generation,ATPG)工具生成针对各种芯片故障的多个测试向量(test pattern),并利用自动测试设备(automatic test equipment,ATE)对待测芯片输入测试向量。通过比较被测芯片的回应与预期回应是否一致,可以确定被测芯片中是否存在一些缺陷。随着芯片设计的复杂度及规模的不断攀升,被测芯片的测试时间也显著增加。

发明内容

根据上述问题,本公开的实施例旨在提供一种电子电路和用于设计电子电路的方法、电子设备、计算机可读存储介质和程序产品,电子电路用于控制待测电路的测试。

根据本公开的第一方面,提供一种电子电路。该电子电路包括扫描链,扫描链被配置为输出第一组信号,第一组信号表示具有第一数目的比特位的第一逻辑值。该电子电路还包括分组电路,分组电路被配置为基于从扫描链接收的第一组信号生成第二组信号,第二组信号表示具有第二数目的比特位的第二逻辑值,第二数目高于第一数目。该电子电路还包括待测电路集,待测电路集耦合至分组电路,待测电路集中的部分待测电路的门控时钟在待测电路集的捕获阶段基于第二逻辑值而被选择性地使能。分组控制门控时钟的使能端的逻辑简单,使得ATPG工具计算的难度显著降低,从而显著减少测试向量的数目并且相应地缩短测试时间。此外,在待测电路的测试中的逻辑值捕获阶段,通过扫描链和分组电路对待测电路进行分组分时控制,使得待测电路中的门控时钟被选择性地使能,可以使得芯片测试所需的功耗降低。

在第一方面的一种可能实现方式中,电子电路还包括优先级控制电路,优先级控制电路被配置为基于测试信号和第二逻辑值,生成控制信号集,其中待测电路集中的部分待测电路的门控时钟在待测电路集的捕获阶段基于控制信号集而被选择性地使能。通过优先级控制电路可以使测试信号的优先级最高,从而在测试的加载和卸载阶段,待测电路不受分组电路的影响,使得芯片测试的复杂度降低。

在第一方面的一种可能实现方式中,优先级控制电路被进一步配置为在测试信号为第一值的情形下,生成控制信号集;以及在测试信号为与第一值不同的第二值的情形下,生成测试信号集,测试信号集中的每个测试信号具有相同的逻辑值,待测电路集中的全部待测电路的门控时钟基于测试信号集而被使能。通过设置优先级控制电路,可以在待测电路的加载、捕获和卸载阶段实现测试所需要的功能,从而使得测试效率提高。

在第一方面的一种可能实现方式中,优先级控制电路包括至少一个逻辑门,每个逻辑门具有被耦合至分组电路的第一输入、被配置为接收测试信号的第二输入以及被耦合至待测电路集的输出。通过简单的逻辑门组合实现分组电路可以使得简化电路结构。

在第一方面的一种可能实现方式中,分组电路被进一步配置为在测试信号为第一值的情形下,生成第二组信号;以及在测试信号为与第一值不同的第二值的情形下,生成测试信号集,测试信号集中的每个测试信号具有相同的逻辑值,待测电路集中的全部待测电路的门控时钟基于测试信号集而被使能。通过将测试信号作为分组电路的一个输入,可以省去优先级控制电路,从而可以进一步简化电子电路的结构,简化的电路结构可以进一步降低用于测试芯片所需功耗。

根据本公开的第二方面,提供一种用于设计电子电路的方法。该方法包括供待测电路集。该方法还包括提供用于对待测电路集进行测试的扫描链。该方法还包括基于来自于扫描链的第一组信号和用于控制待测电路集中的待测电路的门控时钟的第二组信号来生成分组电路,第一组信号表示具有第一数目的比特位的第一逻辑值,第二组信号表示具有第二数目的比特位的第二逻辑值,第二数目高于第一数目,待测电路集中的部分待测电路的门控时钟在待测电路集的捕获阶段基于第二逻辑值而被选择性地使能。分组控制门控时钟的使能端的逻辑简单,使得ATPG工具计算的难度显著降低,从而显著减少测试向量的数目并且相应地缩短测试时间。此外,在待测电路的测试中的逻辑值捕获阶段,通过扫描链和分组电路对待测电路进行分组分时控制,使得待测电路中的门控时钟被选择性地使能,可以使得芯片测试所需的功耗降低。

在第二方面的一种可能实现方式中,该方法还包括将优先级控制电路耦合在待测电路集和分组电路之间,其中优先级控制电路被配置为基于第二组信号,生成控制信号集,控制信号集用于在待测电路集的捕获阶段,选择性地使能待测电路集中的部分待测电路的门控时钟。通过优先级控制电路可以使测试信号的优先级最高,从而在测试的加载和卸载阶段,待测电路不受分组电路的影响,使得芯片测试的复杂度降低。

在第二方面的一种可能实现方式中,将优先级控制电路耦合在待测电路集和分组电路之间包括:将优先级控制电路的至少一个逻辑门的第一输入耦合至分组电路;将至少一个逻辑门的第二输入耦合至测试信号;以及将至少一个逻辑门的输出耦合至待测电路集。通过简单的逻辑门组合实现分组电路可以使得简化电路结构。

在第二方面的一种可能实现方式中,基于第一组信号和第二组信号来生成分组电路包括:基于第二数目,确定第一数目;基于第二数目、第一数目和第二组信号的状态,生成关系表,关系表指示分组电路的第一组信号和第二组信号之间的关系;以及基于关系表生成分组电路。通过预定的算法可以确定针对分组电路的输出端的最小数目的输入端,从而简化分组电路的结构。

在第二方面的一种可能实现方式中,扫描链中的每个寄存器的输入和输出被耦合。这样可以使寄存器输出端的值在捕捉阶段保不变,从而降低ATPG工具的计算复杂度。

根据本公开的第三方面,提供一种计算机可读存储介质,存储多个程序,多个程序被配置为一个或多个处理器执行,多个程序包括用于执行根据第二方面的方法的指令。

根据本公开的第四方面,提供一种计算机程序产品,计算机程序产品包括多个程序,多个程序被配置为一个或多个处理器执行,多个程序包括用于执行根据第二方面的方法的指令。

根据本公开的第五方面,提供一种电子设备。电子设备包括:一个或多个处理器;包括计算机指令的存储器,计算机指令在由电子设备的一个或多个处理器执行时使得电子设备执行根据第二方面的方法。

根据本公开的第六方面,提供一种电子设备。电子设备包括待测电路提供单元、扫描链提供单元和分组电路生成单元。待测电路提供单元被配置为提供待测电路集。扫描链提供单元被配置为提供用于对待测电路集进行测试的扫描链。分组电路生成单元被配置为基于来自于扫描链的第一组信号和用于控制待测电路集中的待测电路的门控时钟的第二组信号来生成分组电路,第一组信号表示具有第一数目的比特位的第一逻辑值,第二组信号表示具有第二数目的比特位的第二逻辑值,第二数目高于第一数目,待测电路集中的部分待测电路的门控时钟在待测电路集的捕获阶段基于第二逻辑值而被选择性地使能。分组控制门控时钟的使能端的逻辑简单,使得ATPG工具计算的难度显著降低,从而显著减少测试向量的数目并且相应地缩短测试时间。此外,在待测电路的测试中的逻辑值捕获阶段,通过扫描链和分组电路对待测电路进行分组分时控制,使得待测电路中的门控时钟被选择性地使能,可以使得芯片测试所需的功耗降低。

在第六方面的一种可能实现方式中,电子设备进一步包括优先级控制电路提供单元,优先级控制电路提供单元被配置为将优先级控制电路耦合在待测电路集和分组电路之间,其中优先级控制电路被配置为基于第二组信号,生成控制信号集,控制信号集用于在待测电路集的捕获阶段,选择性地使能待测电路集中的部分待测电路的门控时钟。通过优先级控制电路可以使测试信号的优先级最高,从而在测试的加载和卸载阶段,待测电路不受分组电路的影响,使得芯片测试的复杂度降低。

在第六方面的一种可能实现方式中,优先级控制电路提供单元进一步被配置为:将优先级控制电路的至少一个逻辑门的第一输入耦合至分组电路;将至少一个逻辑门的第二输入耦合至测试信号;以及将至少一个逻辑门的输出耦合至待测电路集。通过简单的逻辑门组合实现分组电路可以使得简化电路结构。

在第六方面的一种可能实现方式中,分组电路生成单元进一步被配置为:基于第二数目,确定第一数目;基于第二数目、第一数目和第二组信号的状态,生成关系表,关系表指示分组电路的第一组信号和第二组信号之间的关系;以及基于关系表生成分组电路。通过预定的算法可以确定针对分组电路的输出端的最小数目的输入端,从而简化分组电路的结构。

在第六方面的一种可能实现方式中,扫描链中的每个寄存器的输入和输出被耦合。这样可以使寄存器输出端的值在捕捉阶段保不变,从而降低ATPG工具的计算复杂度。

应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了用于控制待测电路的常规电子电路的结构示意图。

图2示出了根据本公开的一些实施例的电子电路的仿真系统的示意图。

图3示出了根据本公开的一些实施例的用于控制待测电路的电子电路的结构示意图。

图4示出了根据本公开的另一实施例的用于控制待测电路的电子电路的结构示意图。

图5示出了根据本公开的一些实施例的用于生成电子电路的方法的示意流程图。

图6示出了根据本公开的一些实施例的用于生成分组电路的方法的示意流程图。

图7示出了根据本公开的一些实施例的电子设备的示意性框图。

图8示出了可以用来实施本公开的实施例的示例设备的示意性框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

在常规的数字电路芯片设计中,为了降低芯片的功耗,通常将短时间不使用的部分电路的时钟关闭,一般使用集成门控时钟(integrated clock gating,ICG)器件来关闭时钟。而在测试的时候,为了保证DFT结构可以将寄存器初始化,一般将ICG的使能端通过一个测试模式信号来统一控制。统一控制会引起以下问题:(1)如果上述测试模式信号为使能信号,将产生较高的芯片功耗;(2)如果上述测试模式信号为禁用信号(即,不为使能信号),将导致ATPG工具计算的难度很大,且使得测试向量的数目大幅提升,显著增加测试时间。

图1示出了用于控制待测电路的常规电子电路100的结构示意图。如图1所示,电子电路100包括待测电路120-1、120-2、120-3、120-4…120-N-1、120-N(以下或统称为待测电路集120),其中N表示大于1的整数。待测电路集120中的待测电路可以包括输入端E、输出端Q、ICG以及诸如寄存器等的合适的逻辑元件(未示出)。待测电路集120中的待测电路中的ICG的使能(terminal enable,TE)端被耦合为接收测试信号110,使得通过测试信号110来统一控制。待测电路集120中的待测电路的输出端Q被耦合到用于比较实际输出与期望输出的器件130。

对于待测电路集120的测试可以分为三个阶段:(1)逻辑值加载(load)阶段,在该阶段中时钟为低频移位时钟,测试信号110被置位为1。此时待测电路的ICG处于导通状态,时钟信号可以直接从ICG的传递到输出端Q,使得时钟可以驱动待测电路中的时序器件,从而可以给时序器件赋初值;(2)逻辑值捕获(capture)阶段,在该阶段中时钟为高频功能时钟,测试信号110可以由ATPG工具选择为0或者1,以使得ICG处于关断状态或者导通状态;(3)逻辑值卸载(unload)阶段,在该阶段中测试信号110被置位为1,此时待测电路的ICG处于导通状态,时钟信号可以直接从ICG传递到输出端Q,使得时钟可以驱动待测电路中的时序器件,从而可以把时序器件在逻辑值捕捉阶段采样到的值移出在以由器件130进行观测。

针对待测电路集120的测试中的逻辑值捕捉阶段可能存在如下问题中的至少一些问题:(1)如果测试信号110为1,则待测电路中的所有高频时钟均处于导通状态,造成高的功率消耗;(2)如果测试信号110为0,则ATPG工具在给待测电路120中的寄存器加载数据时需要计算ICG的使能端在高频测试的两拍值,使时钟可以穿过门控时钟,从而覆盖门控时钟的逻辑。而使能端的逻辑通常比较复杂,导致ATPG工具计算的难度很大,且使得测试向量数目大幅提升,显著增加测试时间。

在本公开的一些实施例中,扫描链向分组电路提供经初始化的可控的输入信号,分组电路基于所接收的输入信号生成输出信号,并且优先级控制电路将输出信号和测试信号进行整合并且提供给待测电路。由于分组控制门控时钟的使能端的逻辑简单,使得ATPG工具计算的难度显著降低,从而显著减少测试向量的数目并且相应地缩短测试时间。此外,在待测电路的测试中的逻辑值捕获阶段,通过扫描链、分组电路和优先级控制电路分组控制待测电路,使得其中的门控时钟被选择性地使能,可以使得芯片测试所需的功耗降低。

图2示出了根据本公开的一些实施例的电子电路的仿真系统200的示意图。在一个实施例中,仿真系统200例如包括电子设备20和ATPG设备30。在一个实施例中,电子设备20例如是计算机或可以针对电子电路进行仿真的其它设备。电子设备20包括处理器24和存储器22,其中处理器24包括高速缓存26。备选地,在一些实施例中,高速缓存26也可以独立于处理器24,本公开的范围对此不进行限制。电子设备20可以包括输入装置、通信装置、显示器、音频装置等在此未被示出的其它部件。电子设备20例如可以包括台式计算机、笔记本、工作站、服务器等具有计算功能的设备。

电子设备20可以被安装有电子设计自动化(electronic design automation,EDA)软件28,在芯片的EDA设计过程中,可以由用户(未示出)向EDA软件28输入配置,由EDA软件28生成逻辑电路。EDA软件包括但不限于芯片设计辅助软件、可编程芯片辅助设计软件和系统设计辅助软件。在一个实施例中,EDA软件28可以根据用户配置分组电路的输出端数目以及输入信号和输出信号之间的对应关系来生成分组电路。备选地,在一些实施例中,EDA软件28可以根据待测电路120的数目确定分组电路的输出端数目,从而生成分组地电路。

ATPG设备30被配置为生成针对逻辑仿真的ATPG数据,并且将ATPG数据传输至电子设备20。虽然在图1中将电子设备20和ATPG设备30独立地设置,但是在一些实施例中,ATPG设备30可以与电子设备20集成在一起,本公开对此不进行限制。用于描述逻辑电路的网表文件可以通过各种有线或无线的方式传递至电子设备20。备选地,电子设备20还可以使用存储有网表文件的存储介质来读取该网表文件。ATPG设备30可以针对不同的待测电路120生成不同的ATPG数据。在一个实施例中,ATPG数据例如包括仿真周期数据、原始数据输入和故障仿真数据等。

图3示出了根据本公开的一些实施例的用于控制待测电路的电子电路300的结构示意图。如图3所示,电子电路300包括分组电路310以及扫描链320,分组电路310被耦合在扫描链320和待测电路120之间。在一些实施例中,电子电路300可以进一步包括耦合在分组电路310和待测电路120之间的优先级控制电路330。待测电路集120与图1中描述的相同或相似,在此不再赘述。

在电子电路300中,分组电路310、扫描链320以及优先级控制电路330用于在测试中控制待测电路集120,特别是在测试的捕获阶段控制待测电路集120中的ICG的关断和导通。ICG在待测电路集120中的部分待测电路在不需要工作的情形下,关闭该电路的时钟,从而降低功耗。在一些实施例中,可以通过在时钟路径上增加逻辑门对时钟进行控制来实现ICG。可以理解,ICG可以是基于与门的门控,可以是基于锁存器的门控,还可以是基于寄存器的门控,本公开在此不做限制。

扫描链320本质上是将时序电路中的触发器连接成多个“移位寄存器”。每一个移位寄存器的输入输出值都可以被单独观测。在一个实施例中,扫描链320可以包括第一数目的串联连接的寄存器,如图3中所示的包括3个串联连接的寄存器322、324和326。可以理解,在另一些实施例中,扫描链320可以包括更多或更少的寄存器。备选地,在一些实施例中,还可以存在一条或者多条扫描链,本公开在此不做限制。扫描链320中的寄存器322、324和326的Q端被耦合至分组电路310。

扫描链320在操作过程中包括两个阶段,即,移位阶段和捕捉阶段。在移位阶段中,寄存器322、324和326的移位使能(shift enable,SE)端接收到SE确立信号,寄存器322、324和326因此在各自的移位输入(shift input,SI)端依次接收移位逻辑值。在一个示例中,扫描链320接收“110”的SI。在捕捉阶段,扫描链320的寄存器322、324和326均已被移入初始逻辑值。寄存器322、324和326的SE端接收解确立信号,并且SI端被禁用。此时,寄存器322、324和326的逻辑值序列,例如“110”,在Q端作为第一组信号被提供给分组电路310。第一组信号表示具有第一数目的比特位的第一逻辑值,该第一数目为扫描链320中的寄存器的数目。在另一些实施例中,第一组信号还可以表示具有任意数目的比特位的逻辑值序列,本公开在此不做限制。

在一些实施例中,如图3所示,寄存器322、324和326中的每个寄存器的DI端被耦合到其Q端,这样可以使寄存器的Q端的值在捕捉阶段保不变,从而降低ATPG工具计算复杂度。可以理解,扫描链320可以容易地控制分组电路的输入信号(扫描链输出的第一组信号),即,使得逻辑电路的初始化控制变得更加简单。此外,扫描链320可以将复杂的时序逻辑电路拆分为组合逻辑电路和寄存器。由于组合逻辑电路的测试生成算法已经比较完善,在测试向量自动生成方面比时序电路容易,并且可通过ATPG工具自动生成高覆盖率的测试向量,因此可以显著降低芯片测试的难度。

如上所述,分组电路310耦合至扫描链320,并且被配置为从扫描链320中的寄存器322、324和326接收第一组信号,例如“110”。分组电路310可以被配置为基于从扫描链320接收的第一组信号生成第二组信号,第二组信号表示具有第二数目的比特位的第二逻辑值。在一个实施例中,表1示出了分组电路310的真值表,其中作为分组电路310的输入的第一组信号具有四比特位的逻辑值(即扫描链320中存在四个寄存器),而作为分组电路320的输出的第二组信号具有八比特位的逻辑值(即分组电路310具有8个输出)。虽然表1中所示的为第一组信号和第二组信号之间的一一对应的关系,但可以理解,根据需要也可以存在两个或更多不同的第一组信号(例如0000和1111)同时对应于一个第二组信号,本公开在此不做限制。可以理解,在一些实施例中,第二数目高于第一数目,使得可以简减少分组电路310的输入端数目,从而简化电路。备选地,在一些其他实施例中,也可以设置诸如冗余输入或者根据芯片需求设置其他类型的输入,本公开并不排除第一数目等于或者高于第二数目的情况。

分组电路310的输出被耦合至待测电路集120的中的待测电路的ICG的使能端,以使能ICG(输出的第二逻辑值为“1”)或禁用ICG(输出的第二逻辑值为“0”)。在一些实施例中,第二组信号可以是独热码(即只有一位为“1”)和全零码的形式,独热码意味着每次只有一个或者一组ICG处于使能状态(即第二组信号中的第二逻辑值“1”所对应的输出的一个或者一组ICG)。备选地,在一些其他实施例中,第二组信号可以具有多个第二逻辑值“1”,即一次可以使多个或者多组ICG处于使能状态。

表1

在一些实施例中,第一数目基于第二数目而被确定。例如,可以根据预先确定的算法从第一数目中得出第二数目。在一些其他实施例中,还可以根据用户输入来确定第二数目。将在下文详细描述第二数目的确定。分组电路310可以是译码器电路,其可以由不同的逻辑元件根据不同的耦合方式被连接在一起,以实现表1中所示的信号转换的功能。分组电路310还可以包括其他类型的电路,本公开在此不做限制。

在一些实施例中,如图3所示,优先级控制电路330可以被耦合在分组电路310和待测电路120之间,优先级控制电路330还被耦合至测试信号110。优先级控制电路330被配置为在待测电路集120的测试阶段,基于测试信号110和从分组电路310接收的第二组信号中的第二逻辑值,生成控制信号集。控制信号集可以被进一步输出至待测电路集120中的部分待测电路的门控时钟的使能端,使得门控时钟被选择性地使能或者禁用。如上文所阐述的,测试信号110用于在测试的三个阶段统一控制待测电路集120中的ICG的使能或者禁用。测试信号110可以具有第一值(例如“0”)和与第一值不同的第二值(例如“1”),第一值可以表示禁用信号,第二值可以表示使能信号。请注意,第一值和第二值仅仅是示例性的,还可以根据需要应用不同的值,本公开在此不做限制。

优先级控制电路330可以被构造为使得测试信号110的优先级最高。在一些实施例中,在测试信号110为第二值(例如“1”)的情形下,优先级控制电路330可以被配置为生成测试信号集,测试信号集中的每个测试信号具有相同的逻辑值,待测电路集120中的全部待测电路的门控时钟基于测试信号集而被使能。测试信号集可以应用于测试中的逻辑值的加载和卸载阶段。在加载和卸载阶段,测试信号110为第二值“1”,此时,优先级控制电路330可以被配置为生成所有比特位均为逻辑值“1”的测试信号集,而不管第二组信号中的第二逻辑值。可以理解,此时待测电路集120中的所有ICG均被使能而不管分组电路310的输出信号的状态如何。例如,对于表1中的第二组信号中的任何一个信号,优先级控制电路330均生成测试信号集11111111。

在一些其他实施例中,在测试信号为第一值(例如“0”)的情形下,优先级控制电路330被配置为生成控制信号集。控制信号集可以应用于测试中的逻辑值的捕获阶段。在捕获阶段,测试信号为第一值“0”,此时测试信号110不影响优先级控制电路330的输出信号,优先级控制电路330输出与第二组信号相同的输出信号,或者相对应的输出信号。例如,对于表1中的第二组信号中的00010000,优先级控制电路330也生成对应的控制信号集00010000。

在一些实施例中,优先级控制电路330可以由至少一个逻辑或门构成。如图3所示,优先级控制电路330可以包括3个逻辑或门。逻辑或门的第一输入被耦合至分组电路310,逻辑或门的第二输入被配置为接收测试信号110,逻辑或门的输出被耦合至待测电路集120。可以理解,根据图3中的优先级控制电路330的结构,在逻辑值的加载阶段和卸载阶段,测试信号110为使能信号(即为逻辑值“1”),逻辑或门的输出均为“1”,待测电路120-1、120-2、120-3、120-4…120-N-1、120-N中的ICG处于使能状态。在逻辑值的捕获阶段,测试信号110为禁用信号(即为逻辑值“0”),由优先级控制电路330生成的控制信号集来选择性地使能待测电路集120中的部分待测电路的门控时钟,例如优先级控制电路330生成控制信号集100,此时仅使能待测电路集120中的第一组待测电路(120-1、120-2)。

可以理解,本申请实施例不对优先级控制电路330的结构进行限定。除了由图3所示的优先级控制电路330的一种实现方式之外,优先级控制电路330还可以由与门、非门、异或门、与非门、同或门以及其组合构成。优先级控制电路330可以是任何能够实现将测试信号110的优先级设置为最高优先级的电路,即在测试信号110为使能信号时,使得待测电路120的ICG导通而不管分组电路310的输出如何。此外,虽然图3示出了分组电路的三个输出分别耦合至3个或门,以用于分别控制待测电路集120中的3组待测电路(120-1、120-2);(120-3、120-4);(120-N、120-N-1),但本领域技术人员应当理解,根据芯片测试需要,待测电路120可以根据需要被分成任意数目的组,并且每组中可以存在不同数目的待测电路。

图4示出了根据本公开的另一实施例的用于控制待测电路的电子电路400的结构示意图。电子电路400与图3中的电子电路300的不同之处在于,电子电路400可以包括扫描链320和分组电路410,而不具有优先级控制电路330。在一个实施例中,可以将测试信号110作为分组电路410的一个输入,分组电路310可以实现如表2所示的信号转换。此时,分组电路410可以实现关于图3描述的优先级控制电路330一样的功能,即使得测试信号110的优先级最高。在一些实施例中,在测试信号110为第二值(例如“1”)的情形下,分组电路410可以被配置为生成测试信号集,测试信号集中的每个测试信号具有相同的逻辑值,待测电路集120中的全部待测电路的门控时钟基于测试信号集而被使能。测试信号集可以应用于测试中的逻辑值的加载和卸载阶段。在加载和卸载阶段,测试信号110为第二值“1”,此时,分组电路410可以被配置为生成所有比特位均为逻辑值“1”的测试信号集,而不管分组电路410的输入信号(第一组信号)如何,如表2中第一行所示。此时待测电路集120中的所有ICG均被使能。

在一些其他实施例中,在测试信号为第一值(例如“0”)的情形下,分组电路410被配置为生成控制信号集。控制信号集可以应用于测试中的逻辑值的捕获阶段。在捕获阶段,测试信号为第一值“0”,此时测试信号110不影响分组电路410的输出信号(第二组信号),分组电路410仅根据第一组信号输出第二组信号,如表2中除第一行之外的行所示。此时待测电路集120中的部分ICG被选择性地使能。

可以理解,电子电路400的架构同样可以保证在待测电路集120的捕获阶段每次只使一组ICG或者多组ICG导通,并且在待测电路集120的的加载或者卸载阶段,保证ICG处于导通状态而不管分组电路410输出的逻辑信号如何。将优先级控制电路330并入分组电路410可以进一步简化电子电路的结构,简化的电路结构降低用于测试芯片所需功耗。

表2

图5示出了根据本公开的一些实施例的用于设计电子电路的方法500的示意流程图。可以理解,所生成的电子电路可以是上文描述的电子电路300或者400。上面针对图2-图3所描述的各个方面可以选择性地适用于方法500。

在502,诸如计算机之类的电子设备20提供待测电路集。例如,电子设备20可以将待测电路集提供给EDA软件28,EDA软件28可以读取待测电路集中的待测电路的特征,例如其内部的逻辑元件等。待测电路集可以是图1、图3或者图4所示的待测电路集120。在一个实施例中,EDA软件28可以获取待测电路集120中被测试信号110控制的待测电路120-1、120-2、120-3、120-4、120-N和120-N-1,以供设计分组电路使用。将在下文结合图6详细描述分组电路的设计。EDA软件28还可以获取待测电路的其他特征,本公开在此不做限制。

在504,电子设备20提供用于对所述待测电路集进行测试的扫描链。扫描链本质上是将时序电路中的触发器连接成多个“移位寄存器”。扫描链可以是图3或图4中所示的扫描链320,扫描链可以向分组电路提供可控的输入信号,即第一组信号,并且扫描链的输入输出值都可以被单独观测。关于扫描链的连接方式和操作方式在上文已经阐述,在此不再赘述。可以由一定数目的寄存器串联形成扫描链,例如在图3中,由3个寄存器322、324、326串联形成。寄存器的数目可以由分组电路的输出端的数目确定,将在下文结合图6详细阐述扫描链的数目的确定。在一些实施例中,扫描链中的每个寄存器的输入和输出被耦合,也即如图3所示,每个寄存器的DI端耦合至其Q端,这样可以使寄存器Q端的值在捕捉阶段保不变,从而降低ATPG工具的计算复杂度。

在506,电子设备20基于来自于扫描链的第一组信号和用于控制待测电路集中的待测电路的门控时钟的第二组信号来生成分组电路。第一组信号表示具有第一数目的比特位的第一逻辑值,第二组信号表示具有第二数目的比特位的第二逻辑值。第一组信号和第二组信号可以如上文中的表1和表2所示。可以理解,出于简化电路和便于控制的目的,分组电路的输入端数目小于输出端数目,也即第二数目高于第一数目。如上文所描述的,在待测电路集的捕获阶段,第二组信号所具有的第二逻辑值可以用于选择性地使能待测电路集中的部分待测电路的门控时钟。

在一些实施例中,电子设备20可以接收用户关于分组电路的所有特征的用户输入并且然后根据这些特征使EDA软件28生成分组电路,诸如作为分组电路的输入的第一组信号、作为分组电路的输出的第二组信号。在一些其他实施例中,电子设备20可以接收用户关于分组电路的一部分特征的用户输入,诸如第二组信号所包含的比特位的第二数目,然后基于待测电路120的特征和预先确定的算法来生成分组电路。备选地,在一些实施例中,电子设备20可以基于待测电路120的特征(例如在502处获取的被测试信号110控制的待测电路)而无需用户输入来生成分组电路。将在下面结合图6详细描述分组电路的生成。

图6示出了根据本公开的一些实施例的用于生成分组电路的方法600的示意流程图。可以理解,所生成的分组电路可以是上文描述的分组电路310。上面针对图2-图3所描述的各个方面可以选择性地适用于方法600。

在602,电子设备20基于第二数目,确定第一数目。第一数目为第一组信号所具有的第一逻辑值得比特位的数目,也即分组电路的输入端的数目,例如,如表1所示,第一数目为4。第二数目为第二组信号所具有的第二逻辑值得比特位的数目,也即分组电路的输出端的数目,例如,如表1所示,第二数目为8。在一些实施例中,第二数目可以等于在502处获取的被测试信号110控制的待测电路的数目。在这种情况下,分组电路的每个输出端仅控制待测电路集120中的一个待测电路的门控时钟的使能。在一些其他实施例中,第二数目可以小于在502处获取的被测试信号110控制的待测电路的数目。在这种情况下,分组电路的每个输出端控制待测电路集120中的一组待测电路的接通,例如,如图3或者图4所示,利用3个输出端控制3组待测电路(120-1、120-2)、(120-3、120-4)、(120-N和120-N-1)。可以理解,第二数目可以由待测电路的特征确定,第二数目也可以由用户输入而被确定,本公开在此不作限制。

电子设备可以根据第二数目,以及第二组信号的状态,即输出信号中逻辑值“1”的最大数目来确定第一数目。在一些实施例中,如果要覆盖第二组信号可以使待测电路集120中的所有ICG全部关断的情况,也即第二组信号中的逻辑值全部为“0”,则电子设备20可以通过如下关系式(1)和(2)来确定第一数目K:

K=ceil(log

其中X为分组电路的第一数目,Y为分组电路的第二组信号的状态,Z为针对第二组信号的最小编码数,ceil()为向上取整函数,例如ceil(x)返回大于等于x的最小整数,K为分组电路的第一数目。可以理解是,这里的K为所需的最小输入端数目。确定最小输入端数目可以简化分组电路,从而在后续的测试中减少电路功耗,节省硬件成本,提高测试效率。备选地,在一些其他实施例中,还可以设置比K多的第一数目,例如根据需要设置冗余输入端。上述关系式(1)和(2)仅仅是示例性的,还可以应用其他算法来确定分组电路的输入端数目,本公开在此不做限制。

在604,电子设备20基于第二数目、第一数目和第二组信号的状态,生成关系表,关系表指示分组电路的第一组信号和第二组信号之间的关系。例如,电子设备基于上述确定的第一数目、以及所接收的第二数目和第二组信号的状态,来确定如上文中表1和表2的关系表,其反映了分组电路的输出信号和输入信号之间的关系。

在一些实施例中,电子设备20可以根据如下算法确定关系表。设定I为分组电路的第一组信号(例如上文表1和表2中第一组信号的形式),O为分组电路的第二组信号(例如上文表1和表2中第二组信号的形式)。继续使用步骤602中关系式(1)和(2)中表示,O的比特位的数目为分组电路的第一数目X,其中最低比特位的序号为0,最高比特位的序号为X-1。将O[m:n]定义为:O的第m比特位至第n比特位,包括第n比特位;当m=X-1时或者m=n时,包括第m比特位;当m<X-1时,不包括第m比特位;当m>X-1时,O[m,n]等效为O[X-1,n]。例如,O比特位的数目为8,O[5:3]表示O的第5、4、3比特位,包括第4、3比特位,不包括第5比特位。O[0:0]代表O的第0比特位。O[8:6]代表O的第7、6比特位。针对上述设定,可以得到如下关系:

(1)每次使待测电路集中的一个或者一组ICG导通(第二组信号中有一个比特位的逻辑值为“1”):

0≤I<X 关系式(3)

O[I:I]=1,O其他位为“0”; 关系式(4)

(2)每次使待测电路集中的两个或者两组ICG导通(第二组信号中有两个比特位的逻辑值为“1”):

X≤I<X+ceil(X/2) 关系式(5)

O[2*(I-X+1):2*(I-X)]=1,O其他位为“0” 关系式(6)

(3)每次使待测电路集中的Y个或者Y组ICG导通(第二组信号中有Y个比特位的逻辑值为“1”):

(4)每次使待测电路集中的所有ICG关断(第二组信号中的所有比特位的逻辑值均为“0”):

O的所有比特位均为“0”

例如,电子设备20确定第一数目为4,第二数目为8,并且第二组信号的状态指示第二组信号中具有逻辑值“1”的比特位的数目为1(即第二组信号中只有一个比特位的逻辑值为“1”)。电子设备20然后可以通过如上关系式(3)和关系式(4),来确定上文中的表1作为关系表。

在604,电子设备基于所述关系表生成所述分组电路。例如,电子设备20然后可以使所确定关系表,例如上文中的表1或表2,被传输给EDA软件28,然后通过该EDA软件28生成分组电路。分组电路的功能和连接方式参考上文关于图3和图4的描述,在此不再赘述。

返回图5,根据502-506的描述而被提供或者生成的待测电路、分组电路和扫描链可以根据图3和图4所描述的方式被耦合或者连接在一起。可以理解,分组电路和扫描链可以根据如关于上文所描述的实现对待测电路集中的门控时钟的使能的分时分组控制。

如图3所示,电子设备20可以利用EDA软件28使优先级控制电路330耦合在所述待测电路集120和所述分组电路310之间。如上文所描述的,优先级控制电路330被配置为基于从述分组电路310接收的第二组信号,生成控制信号集,控制信号集用于在待测电路集120的捕获阶段,选择性地使能待测电路集120中的部分待测电路的门控时钟。在一些实施例中,计算设备20可以利用EDA软件28使优先级控制电路330的至少一个逻辑门(如图3所示,例如或门)的第一输入耦合至分组电路310,使至少一个逻辑门的第二输入耦合至测试信,以及使至少一个逻辑门的输出耦合至待测电路集120。关于优先级控制电路330的描述参见上文,在此不再赘述。可以理解,优先级控制电路330不是必须的,电子电路可以如图4所示省去优先级控制电路330,从而可以进一步简化电子电路的结构,简化的电路结构降低用于测试芯片所需功耗。

附加地或者备选地,在一些实施例中,电子设备20可以读取待测电路集120,然后从中得到所有被测试信号110控制的ICG。然后可以将被测试信号110控制的ICG平均分成若干组,使每组ICG的使能端一起被耦合至图3中的优先级控制电路330的一个输出,或者耦合至图4中的分组电路410的一个输出。然后可以将修改好的如图3或者图4所示的电路进行DFT设计。

通过以上关于图3至图6的描述,可以清楚地看出,利用本公开的电子电路,在针对待测电路的测试中的捕获阶段,可以实现对待测电路中的ICG的使能(导通)和禁用(关断)的分组分时控制,使得翻转率与ICG全部使能(测试信号为使能信号时)相比显著降低。与此同时,对待测电路集中的ICG的导通和关断的分组分时控制同时使得与ICG全部关断(测试信号为禁用信号时)相比,避免了ICG的使能端的复杂的逻辑计算,使得显著减低ATPG工具的计算复杂度,从而可以利用较少的测试向量数目实现较高的测试覆盖率,并且显著降低测试时间。通过如下表3中3个模块的对比可以发现,本公开与ICG全部导通和ICG全部关断相比,降低了翻转率并且减少了向量数目。本公开的分组分时控制可以在接近模块中的待测电路的ICG全部关断(测试信号为禁用信号)的功率消耗的情况下,利用更加少的测试向量数目来实现相同的覆盖率和测试效果。可以理解,本公开有利地实现了测试中的功率消耗和测试时间的关系的折中。

表3

图7示出了根据本公开的一些实施例的电子设备700的示意性框图。电子设备700可以包括多个模块,以用于执行如图5-图6中所讨论的方法中的对应步骤。如图7所示,电子设备700包括待测电路提供单元702、扫描链提供单元704和分组电路生成单元706。待测电路提供单元702被配置为提供待测电路集。扫描链提供单元704被配置为提供用于对待测电路集进行测试的扫描链。分组电路生成单元706被配置为基于来自于扫描链的第一组信号和用于控制待测电路集中的待测电路的门控时钟的第二组信号来生成分组电路,第一组信号表示具有第一数目的比特位的第一逻辑值,第二组信号表示具有第二数目的比特位的第二逻辑值,第二数目高于第一数目,待测电路集中的部分待测电路的门控时钟在待测电路集的捕获阶段基于第二逻辑值而被选择性地使能。分组控制门控时钟的使能端的逻辑简单,使得ATPG工具计算的难度显著降低,从而显著减少测试向量的数目并且相应地缩短测试时间。此外,在待测电路的测试中的逻辑值捕获阶段,通过扫描链和分组电路对待测电路进行分组分时控制,使得待测电路中的门控时钟被选择性地使能,可以使得芯片测试所需的功耗降低。

在一些实施例中,电子设备700进一步包括优先级控制电路提供单元708,优先级控制电路提供单元708被配置为将优先级控制电路耦合在待测电路集和分组电路之间,其中优先级控制电路被配置为基于第二组信号,生成控制信号集,控制信号集用于在待测电路集的捕获阶段,选择性地使能待测电路集中的部分待测电路的门控时钟。通过优先级控制电路可以使测试信号的优先级最高,从而在测试的加载和卸载阶段,待测电路不受分组电路的影响,使得芯片测试的复杂度降低。

在一些实施例中,优先级控制电路提供单元708进一步被配置为:将优先级控制电路的至少一个逻辑门的第一输入耦合至分组电路;将至少一个逻辑门的第二输入耦合至测试信号;以及将至少一个逻辑门的输出耦合至待测电路集。通过简单的逻辑门组合实现分组电路可以使得简化电路结构。

在一些实施例中,分组电路生成单元706进一步被配置为:基于第二数目,确定第一数目;基于第二数目、第一数目和第二组信号的状态,生成关系表,关系表指示分组电路的第一组信号和第二组信号之间的关系;以及基于关系表生成分组电路。通过预定的算法可以确定针对分组电路的输出端的最小数目的输入端,从而简化分组电路的结构。

在一些实施例中,扫描链中的每个寄存器的输入和输出被耦合。这样可以使寄存器输出端的值在捕捉阶段保不变,从而降低ATPG工具的计算复杂度。

图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。如图所示,设备800包括计算单元801,其可以根据存储在随机存取存储器(RAM)和/或只读存储器(ROM)802的计算机程序指令或者从存储单元808加载到RAM 803和/或ROM 802中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803和/或ROM 802中,还可存储设备800操作所需的各种程序和数据。计算单元801和RAM 803和/或ROM 802通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。

设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法500或600。例如,在一些实施例中,方法500或600可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由RAM和/或ROM和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM和/或ROM并由计算单元801执行时,可以执行上文描述的方法300的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法500或600。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种用于校正显示设备的灰阶显示曲线的方法、电子设备及计算机可读存储介质
  • 用于区块链网络的访问凭证生成方法、数据访问方法、存储介质、计算设备
  • 用于区块链网络的区块生成方法、同步方法、存储介质、计算设备
  • 电子电路,用于存储和读取信息的介质及相应的设备
  • 信息处理设备、非暂态存储介质、信息处理方法和电子电路
技术分类

06120116501645