CN117980753A - 测试电路、集成电路、电子设备、测试电路的生成方法 - Google Patents
测试电路、集成电路、电子设备、测试电路的生成方法 Download PDFInfo
- Publication number
- CN117980753A CN117980753A CN202180101663.0A CN202180101663A CN117980753A CN 117980753 A CN117980753 A CN 117980753A CN 202180101663 A CN202180101663 A CN 202180101663A CN 117980753 A CN117980753 A CN 117980753A
- Authority
- CN
- China
- Prior art keywords
- input
- test
- bus
- dru
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 445
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 68
- 230000008878 coupling Effects 0.000 claims description 20
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 230000003111 delayed effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 32
- 230000005284 excitation Effects 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请公开了一种测试电路、集成电路、电子设备、测试电路的生成方法,涉及集成电路测试领域,用于实现测试总线上数据传输的时序一致,提高测试总线的传输速率。测试电路包括:第一输入总线、第二输入总线、第一输出总线、第二输出总线、第一动态路由单元DRU和第一寄存器;在一个时钟周期:第一DRU向被测电路输出来自第一输入总线的测试激励,并向第一输出总线输出来自被测电路的测试响应;或者,第一DRU向第一输出总线输出来自第一输入总线的数据;第一寄存器向第二输出总线输出来自第二输入总线的数据。
Description
本申请涉及集成电路测试领域,尤其涉及一种测试电路、集成电路、电子设备、测试电路的生成方法。
片上***(system on chip,SoC)芯片的集成规模越来越大,一块SoC芯片有可能包含几百甚至几千个核(Core),例如电路模块或者知识产权(intellectual property,IP)模块。各个核都要进行测试以确保功能正常,具体的,每个核包括测试电路和被测电路,被测电路通常包括多个输入通道(input channel)和多个输出通道(output channel),多个核的测试电路通过共用的测试总线相耦合,测试电路将来自测试总线的测试激励输出给被测电路的输入通道,并将来自被测电路的输出通道的测试响应输出给测试总线,最后通过观测测试响应是否符合预期来实现对被测电路的测试目的。
由于各个核的测试激励和测试响应都是通过共用的测试总线来传输。对于来自其他核的测试响应,或者,输出给其他核中被测电路的测试激励,本核中的测试电路均会进行透传,所耗费的时间很短;对于输入给本核中被测电路的测试激励,或者,本核中被测电路生成的测试响应,测试电路在进行处理时均会耗费较多的时间。当测试总线的传输距离较长时,这两种时间的不一致性就造成了各条测试总线传输的数据在时序上不一致,为了避免数据传输错误,因此会降低测试总线的传输速率。
发明内容
本申请实施例提供一种测试电路、集成电路、电子设备、测试电路的生成方法,用于实现测试总线上数据传输的时序一致,提高测试总线的传输速率。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种测试电路,包括:第一输入总线、第二输入总线、第一输出总线、第二输出总线、第一动态路由单元DRU和第一寄存器;第一输入总线用于通过第一DRU耦合至被测电路的输入通道,第一输出总线用于通过第一DRU耦合至被测电路的输出通道;第二输入总线用于通过第一寄存器耦合至第二输出总线;在一个时钟周期:第一DRU用于向被测电路的输入通道输出来自第一输入总线的测试激励,并向第一输出总线输出来自被测电路的输出通道的测试响应;或者,第一DRU用于向第一输出总线输出来自第一输入总线的数据;第一寄存器用于向第二输出总线输出来自第二输入总线的数据。
本申请实施例提供的测试电路,每条第一输入总线所耦合的DRU的数目与每条第二输入总线所耦合的寄存器的数目相同,使得通过DRU输出给本核中被测电路的测试激励并输出测试响应的时延、通过DRU透传数据的时延、通过第二输入总线in耦合的寄存器透传数据的时延相同,实现了测试总线上数据传输的时序一致,提高了测试总线的传输速率。
在一种可能的实施方式中,还包括第二DRU、第二寄存器和选择电路;第一输入 总线用于通过第一DRU、第二DRU和选择电路耦合至被测电路的输入通道;第一输出总线用于通过第一DRU和第二DRU耦合至被测电路的输出通道;第二输入总线用于通过第一寄存器和第二寄存器耦合至第二输出总线;选择电路用于选择第一DRU或第二DRU耦合至被测电路的输入通道。本申请不限定一条第一输入总线耦合一个或两个DRU,一条第二输入总线耦合一个或两个寄存器,第一输入总线耦合的DRU数目与第二输入总线耦合的寄存器的数目相同,使得各条输入总线传输数据的时延相同,当测试总线的传输距离较长时,可以避免各条输入总线传输的数据在时序上不一致,从而提高测试总线的传输速度。
在一种可能的实施方式中,在第一时钟周期,第一DRU用于向第二DRU输出测试激励;在第二时钟周期,选择电路选择第二DRU耦合至被测电路的输入通道,第二DRU用于向被测电路的输入通道输出测试激励,并向第一输出总线输出测试响应;或者,在第二时钟周期,选择电路选择第一DRU耦合至被测电路的输入通道,第一DRU用于向被测电路的输入通道输出测试激励,并向第一输出总线输出测试响应。在现有技术中,由于芯片的用于输入测试激励和输出测试响应的管脚数目(即总线带宽)有限,为了充分利用总线带宽,可以将输出给一个核的完整的测试激励拆分成多个部分分时传输到总线上,如果将这些部分分别输入被测电路的输入通道将产生错误的测试响应。而对于本申请实施例提供的测试电路,一个测试周期可以包括两个时钟周期,无论测试激励在哪个时钟周期输入,无论测试激励是否分为两个时钟周期分别输入,都可以在第二个时钟周期将测试激励输出给被测电路的输入通道,实现了分时输入的测试激励的各部分同时输入被测电路的输入通道,避免产生错误的测试响应。
在一种可能的实施方式中,选择电路包括第一与门、第二与门和第二选择器;其中,第二与门的第一输入端对输入信号进行反相;第一与门的输出端耦合至第一DRU以向第一DRU输出第一信号,第二与门的输出端耦合至第二DRU以向第二DRU输出第二信号;第一与门的第一输入端、第二与门的第一输入端以及第二选择器的控制端相耦合,并用于输入第三信号;第一与门的第二输入端和第二与门的第二输入端相耦合,并用于输入第四信号;第二选择器的两个输入端分别与第一DRU和第二DRU相耦合,第二选择器的输出端用于耦合至被测电路的输入通道;其中,第一信号用于控制第一DRU是否向被测电路的输入通道输出测试激励;第二信号用于控制第二DRU是否向被测电路的输入通道输出测试激励;第三信号用于控制选择电路选择第一DRU或第二DRU耦合至被测电路的输入通道;第四信号用于控制第一DRU或第二DRU是否向被测电路的输入通道输出测试激励。该实施方式提供了选择电路的一种可能结构。
在一种可能的实施方式中,第一DRU包括第三寄存器和第三选择器;第三寄存器的数据输入端用于耦合至第一输入总线,第三寄存器的数据输出端用于分别耦合至第三选择器的第二输入端以及被测电路的输入通道;第三选择器的第一输入端用于耦合至被测电路的输出通道;第三选择器的输出端用于耦合至第一输出总线,第三选择器的控制端用于输入第五信号,第五信号用于控制第三选择器将第一输入端或第二输入端与输出端导通。当第三选择器选择第一输入端与输出端导通时,可以在一个时钟周期实现将测试激励输出给被测电路的输入通道,并将来自被测电路的输出通道的测试 响应输出。
在一种可能的实施方式中,还包括复位输入总线、复位输出总线、多个第四寄存器,第四寄存器的数目等于第二输入总线耦合的寄存器的数目;复位输入总线通过多个第四寄存器耦合至复位输出总线,复位输入总线用于输入复位信号,复位输出总线用于向测试电路输出经多个第四寄存器延时后的复位信号。复位信号从复位输入总线输入到从复位输出总线输出的时间差等于数据从输入总线输入到从输出总线输出的时间差,对于各个核来说,从测试电路的启动到数据的到达之间的时间差相同,便于统一计算各个核中测试电路的状态机开始输出捕获使能信号的时间。
在一种可能的实施方式中,还包括多个第五寄存器,第一输入总线和第二输入总线分别耦合至A个第五寄存器,A为正整数。使得各条输入总线输入的数据经过相同时延输入测试电路,当测试总线的传输距离较长时,可以避免各条输入总线传输的数据在时序上不一致,从而提高测试总线的传输速度。
在一种可能的实施方式中,还包括多个第六寄存器,第一输出总线和第二输出总线分别耦合至B个第六寄存器,B为正整数。使得各条输出总线输出的数据经过相同时延传输至下一个核,当测试总线的传输距离较长时,可以避免各条输出总线传输的数据在时序上不一致,从而提高测试总线的传输速度。
在一种可能的实施方式中,还包括第一选择器;第一选择器的输出端用于耦合至一条第一输出总线或一条第二输出总线;第一选择器的两个输入端用于分别耦合至一条第一输入总线和一条第二输入总线;或者,用于分别耦合至两条第一输入总线,或者,用于分别耦合至两条第二输入总线。第一选择器可以实现测试电路为直通模式,即输出总线的序号与所耦合的输入总线的序号相同;或者,可以实现测试电路为移位模式,即输出总线的序号与所耦合的输入总线的序号之间为移位关系。
第二方面,提供了一种集成电路,包括多个核,每个核包括被测电路以及如第一方面及其任一实施方式所述的测试电路,多个核的测试电路之间通过测试总线相耦合。
第三方面,提供了一种电子设备,包括印刷电路板和设置于印刷电路板上的如第二方面所述的集成电路。
第四方面,提供了一种测试电路的生成方法,包括:获取测试总线的输入总线或输出总线的带宽、各个核中被测电路的输入通道的带宽和输出通道的带宽;根据测试总线的输入总线或输出总线的带宽、各个被测电路的输入通道的带宽和输出通道的带宽,确定各个测试电路中与各条输入总线耦合的动态路由单元DRU或寄存器的数目,并生成如第一方面及其任一实施方式所述的测试电路。
在一种可能的实施方式中,各个核中测试电路中与各条输入总线耦合的动态路由单元或寄存器的数目K通过以下方式得到:
其中,CI为一个核中被测电路的输入通道的带宽,CO为一个核中被测电路的输出通道的带宽,n为输入总线或输出总线的带宽。
第五方面,提供了一种电路测试方法,应用于通过如第一方面及其任一实施方式所述的测试电路来测试被测电路;该方法包括:生成配置信息和测试激励;配置信息用于配置测试电路的分频比以及选择第一动态路由单元DRU或第二DRU耦合至被测电路的输入通道,以将测试激励输入至被测电路;将配置信息和测试激励输入被测电 路;接收被测电路的测试响应;根据测试响应确定被测电路是否正常。
第六方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令;当指令被处理器执行时,如第二方面所述的方法被执行。
第七方面,提供了一种包括指令的计算机程序产品,当指令被处理器执行时,如第二方面所述的方法被执行。
关于第二方面至第七方面的技术效果可参照第一方面及其任一实施方式的技术效果。
图1为本申请实施例提供的一种集成电路的结构示意图;
图2为本申请实施例提供的一种集成电路中一个核的结构示意图;
图3为本申请实施例提供的另一种集成电路中一个核的结构示意图;
图4为本申请实施例提供的又一种集成电路中一个核的结构示意图;
图5为本申请实施例提供的一种动态路由单元的结构示意图;
图6为本申请实施例提供的一种集成电路中多个核的结构示意图;
图7为本申请实施例提供的一种测试激励在多个核中传输的示意图一;
图8为本申请实施例提供的一种测试激励在多个核中传输的示意图二;
图9为本申请实施例提供的一种测试激励在多个核中传输的示意图三;
图10为本申请实施例提供的一种测试激励在多个核中传输的示意图四;
图11为本申请实施例提供的一种测试激励在多个核中传输的示意图五;
图12为本申请实施例提供的一种测试激励在多个核中传输的示意图六;
图13为本申请实施例提供的一种各个信号的时序示意图;
图14为本申请实施例提供的一种测试电路的生成方法的流程示意图;
图15为本申请实施例提供的一种电路测试方法的流程示意图。
本申请实施例涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请中,除非另有明确的规定和限定,术语“耦合”、“连接”应做广义理解,例如,可以指物理上的直接连接,也可以指通过中间媒介实现电学上的连接,例如通过电阻、电感、电容或其他电子器件实现的连接。
本申请实施例提供了一种电子设备。在该电子设备中包括印刷电路板和设置于印刷电路板上的集成电路。该电子设备可以为手机(mobile phone)、平板电脑(pad)、电脑、智能穿戴产品(例如,智能手表、智能手环)、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备等电子产品。本申请实施例对电子设备的具体形式不做限定。
如图1所示,该电子设备中的集成电路包括多个核,每个核包括被测电路10以及与被测电路10对应的测试电路30,被测电路10与对应的测试电路30可以分开设置或集成设置在一起。其中,每个集成电路中的不同的被测电路10可以实现相同或不同功能。多个核的测试电路30之间通过测试电路30的测试总线20相耦合,测试总线20输入的测试激励通过测试电路30输入对应的被测电路10,被测电路10的测试响应通过测试电路30的测试总线20输出,从而实现对多个被测电路10的功能进行测试。
如图2所示,在一个核中,前文所述的被测电路10可以包括扫描结构100。前文所述的测试总线20可以包括多条输入总线(例如in[0]~in[7])、多条输出总线(例如out[0]~out[7])、内部联合测试工作组(internal joint test action group,IJTAG)(IEEE1687标准)总线ijtag、复位输入总线rst_in、复位输出总线rst_out以及时钟总线clk。前文所述的测试电路30除了包括测试总线20,还包括多个第一动态路由单元(dynamic routing unit,DRU)301、多个第一寄存器303、多个第一选择器305、调试接口307、分频器(divider,DIV)308、状态机(也称有限状态机(finite state machine,FSM))309以及多个第四寄存器310。
可选的,如图3或图4所示,前文所述的测试电路30还包括与多个第一DRU 301耦合的多个第二DRU 302和多个选择电路306,以及,与多个第一寄存器303耦合的多个第二寄存器304。可选的,如图4所示,测试电路30还包括多个第五寄存器311、多个第六寄存器312、多个第七寄存器313。
如图2-图4所示,被测电路(扫描结构100)包括多个输入通道channel_in和多个输出通道channel_out,其中,每个输入通道channel_in用于输入测试激励的一个比特位,测试激励在被测电路(扫描结构100)中运行之后,测试响应通过输出通道channel_out输出,每个输出通道channel_out用于输出测试响应的一个比特位。输入通道channel_in和输出通道channel_out的带宽可以相同或不同,本申请中以输入通道channel_in和输出通道channel_out的带宽均为4为例,但并不意在限定于此。
如图2-图4所示,分频器308的多个输入端分别耦合至IJTAG总线ijtag、时钟总线clk和复位输出总线rst_out,分频器308的输出端耦合至被测电路(扫描结构100)。来自IJTAG总线ijtag的调试信号用于控制分频器308的分频比,来自复位输出总线rst_out的复位信号用于控制分频器308的启停,分频器308将来自时钟总线clk的时钟信号分频后得到分频时钟信号并通过扫描时钟线scan_clk输出给被测电路(扫描结构100),以驱动被测电路(扫描结构100)运行。分频器308的分频比K的计算公式为:
其中,CI为一个核中被测电路(扫描结构100)的输入通道channel_in的带宽,CO为一个核中被测电路(扫描结构100)的输出通道channel_out的带宽,n为输入总线in或输出总线out的带宽。需要说明的是,按照该公式计算的各个核的K值可能不同,当多个核通过测试总线耦合时,选择所有核中的K值的最大值来作为各个核最终的K值,以保证各个核的传输时延相同,降低测试激励的复杂度。本申请主要以K为2为例进行说明,但并不意在限定于此。
如图2-图4所示,调试接口307的输入端耦合至IJTAG总线ijtag,调试接口307的一个输出端通过总线翻转线bus_twist耦合至多个第一选择器305的控制端。调试接口307根据来自IJTAG总线ijtag的调试信号,通过总线翻转线bus_twist向第一选择 器305的控制端输出翻转控制信号。如图3-图4所示,调试接口307的另外多个输出端分别通过选择线sel(例如sel0~sel3)耦合至各个选择电路306的第二选择器3063的控制端、第一与门3061的第一输入端以及第二与门3062的第一输入端。调试接口307根据来自IJTAG总线ijtag的调试信号,通过选择线sel(例如sel0~sel3)向第一与门3061的第一输入端、第二与门3062的第一输入端以及第二选择器3063的控制端输出选择信号。
如图2-图4所示,FSM 309的多个输入端分别耦合至IJTAG总线ijtag和复位输出总线rst_out,FSM 309通过控制线ctrl和扫描使能线en耦合至被测电路(扫描结构100),FSM 309通过捕获使能线cap_en耦合至第一DRU 301。其中,如图3-图4所示,FSM 309通过捕获使能线cap_en耦合至选择电路306的第一与门3061的第二输入端和第二与门3062的第二输入端,从而耦合至第一DRU 301和第二DRU 302。
来自IJTAG总线ijtag的调试信号用于控制FSM 309的状态转移,来自复位输出总线rst_out的复位信号用于控制FSM 309的启停,FSM 309通过控制线ctrl向被测电路(扫描结构100)输出控制信号,以控制被测电路(扫描结构100)的扫描测试状态;FSM 309通过扫描使能线en向被测电路(扫描结构100)输出扫描使能信号,以使能或去使能被测电路(扫描结构100)的扫描测试模式。
FSM 309通过捕获使能线cap_en输出捕获使能信号,对于图2所示的结构来说,该捕获使能信号控制第一DRU 301透传来自输入总线in的数据,或者,将存储的测试激励输入给被测电路(扫描结构100)的输入通道channel_in并将来自被测电路(扫描结构100)的输出通道channel_out的测试响应输出。对于图3或图4来说,该捕获使能信号用于输出给各个选择电路306的第一与门3061的第二输入端和第二与门3062的第二输入端输出捕获使能信号,以通过选择电路306控制第一DRU 301或第二DRU 302透传来自输入总线in的数据,或者,将存储的测试激励输入给被测电路(扫描结构100)的输入通道channel_in并将来自被测电路(扫描结构100)的输出通道channel_out的测试响应输出。因此FSM 309输出的捕获使能信号的状态有两种,示例性的,当捕获使能信号为低电平(“0”)时,控制第一DRU 301或第二DRU 302透传来自输入总线in的数据,当捕获使能信号为高电平(“1”)时,控制第一DRU 301或第二DRU 302向被测电路(扫描结构100)的输入通道channel_in输出存储的测试激励,并向输出总线out输出来自被测电路(扫描结构100)的输出通道channel_out的测试响应。通过FSM 309输出的捕获使能信号周期性变化,可以实现DRU与被测电路(扫描结构100)周期性地在分频时钟信号的跳变沿交互数据,这个周期称为测试周期,测试周期的长度即等于K*CLK,K为前文所述的分频比,CLK为时钟总线clk的时钟信号的周期。测试激励从第一DRU 301或第二DRU 302输入被测电路(扫描结构100)的输入通道channel_in的时机与分频时钟信号的跳变沿相匹配,具体见后文中关于第一DRU 301、第二DRU 302的描述。
每个选择电路306包括第一与门3061、第二与门3062和第二选择器3063,其中第二与门3062的第一输入端对输入信号进行了反相。第一与门3061的第一输入端、第二与门3062的第一输入端以及第二选择器3063的控制端相耦合,并用于输入来自调试接口307的选择信号(第三信号)。第一与门3061的第二输入端和第二与门3062 的第二输入端相耦合,并用于输入来自FSM 309的捕获使能信号(第四信号)。第一与门3061的输出端与第一DRU 301相耦合,以向第一DRU 301输出第一信号;第二与门3062的输出端与第二DRU 302相耦合,以向第二DRU 302输出第二信号;第二选择器3063的两个输入端分别与第一DRU 301和第二DRU 302相耦合,第二选择器3063的输出端用于耦合至被测电路(扫描结构100)的一个输入通道channel_in,以选择第一DRU 301或第二DRU 302耦合至被测电路(扫描结构100)的一个输入通道channel_in。
选择电路306用于根据来自调试接口307的选择信号来选择第一DRU 301或第二DRU 302耦合至被测电路(扫描结构100)的输入通道channel_in。以图3或图4为例,当FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”)时,如果调试接口307通过选择线sel输出的选择信号为高电平(“1”),则第一与门3061输出高电平(“1”),第二与门3062由于第一输入端经过了反相从而输出低电平(“0”),第二选择器3063选择第一输入端与输出端导通,使得第一DRU 302中的第三寄存器401(见图5)的数据输出端耦合至被测电路的一个输入通道channel_in。当FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”)时,如果调试接口307通过选择线sel输出的选择信号为低电平(“0”),则第一与门3061输出低电平(“0”),第二与门3062由于第一输入端经过了反相从而输出高电平(“1”),第二选择器3063选择第二输入端与输出端导通,使得第二DRU 303中的第三寄存器401(见图5)的数据输出端耦合至被测电路的一个输入通道channel_in。
输入总线in和输出总线out的带宽相同,示例性的,本申请以带宽为8位为例,但并不意在限定于此。输入总线in用于输入测试激励或者输入来自其他核中被测电路的测试响应,输出总线out用于输出本核中被测电路的测试响应或者透传的测试激励或测试响应。本申请中可以将耦合至DRU(例如第一DRU 301和第二DRU 302)的输入总线in称为第一输入总线in,例如图2-图4中的输入总线in[0]~in[3];将耦合至DRU(例如第一DRU 301和第二DRU 302)的输出总线out称为第一输出总线out,例如图2-图4中当第一选择器305将第一输入端与输出端导通时的输出总线out[0]~out[3];将未耦合至DRU的输入总线in称为第二输入总线in,例如图2-图4中的输入总线in[4]~in[7];将未耦合至DRU的输出总线out称为第二输出总线out,例如图2-图4中的当第一选择器305将第一输入端与输出端导通时的输出总线out[4]~out[7]。本申请不限定第一输入总线in与第二输入总线in之间的比例,第一输入总线in和第二输入总线in都可以有多条,也不限定第一输出总线out与第二输出总线out之间的比例,第一输入总线in和第二输入总线in都可以有多条。
第一选择器305包括第一输入端、第二输入端和输出端,第一选择器305的输出端耦合至一条第一输出总线out或一条第二输出总线out,第一选择器305的两个输入端用于分别耦合至一条第一输入总线in和一条第二输入总线in;或者,用于分别耦合至两条第一输入总线in;或者,用于分别耦合至两条第二输入总线in。第一选择器305用于将第一输入端或第二输入端与输出端导通。
第一输入总线in通过第一DRU 301(以及第二DRU 302和选择电路306)耦合至被测电路(扫描结构100)的一个输入通道channel_in。被测电路(扫描结构100)的 一个输出通道channel_out通过第一DRU 301(以及第二DRU 302)耦合至第一选择器305的第一输入端,进而耦合至第一输出总线out。从另一角度来看,第一输入总线in通过第一DRU 301(以及第二DRU 302)、第一选择器305耦合至第一输出总线out。第二输入总线in通过第一寄存器303(以及第二寄存器304)耦合至第一选择器305的第二输入端,进而耦合至第二输出总线out。
可以实现在一个时钟周期内:通过第一DRU 301(以及一个第二DRU 302)向被测电路(扫描结构100)的一个输入通道channel_in输出来自第一输入总线in的测试激励的一个比特位,并通过第一DRU 301(以及一个第二DRU 302)向第一输出总线输出来自被测电路(扫描结构100)的一个输出通道channel_out的测试响应的一个比特位;或者,通过第一DRU 301(以及一个第二DRU 302)向第一输出总线out输出(即透传)来自第一输入总线in的数据(测试激励或测试响应)的一个比特位。通过第一寄存器303(以及一个第二寄存器304)向第二输出总线out输出(即透传)来自第二输入总线in的数据(测试激励或测试响应)的一个比特位。
如图2-图4所示,当调试接口307通过总线翻转线bus_twist向第一选择器305的控制端输出的翻转控制信号为低电平(“0”)时,第一组第一选择器305(例如“第一组”所示)选择第一输入端与输出端导通,使得第一输入总线in(例如输入总线in[0]~in[3])所耦合的第一DRU 301(和第二DRU 302)耦合至输出总线out[0]~out[3](即为第一输出总线out);第二组第一选择器305(例如“第二组”所示)选择第二输入端与输出端导通,使得第二输入总线(例如图3或图4中的输入总线in[4]~in[7])所耦合的第一寄存器303和第二寄存器304耦合至输出总线out[4]~out[7](即为第二输出总线out)。此时,为直通模式,即输出总线out的序号与所耦合的输入总线in的序号相同。
再以图3或图4为例,当调试接口307通过总线翻转线bus_twist向第一选择器305的控制端输出的翻转控制信号为高电平(“1”)时,第一组第一选择器305(例如图3或图4中的“第一组”所示)选择第二输入端与输出端导通,使得第二输入总线(例如图3或图4中的输入总线in[4]~in[7])所耦合的第一寄存器303和第二寄存器304耦合至输出总线out[0]~out[3](即为第二输出总线out);第二组第一选择器305(例如图3或图4中的“第二组”所示)选择第二输入端与输出端导通,使得第一输入总线in(例如图3或图4中的输入总线in[0]~in[3])所耦合的第一DRU 301和第二DRU302耦合至输出总线out[4]~out[7](即为第一输出总线out)。此时,为移位模式,即输出总线out的序号与所耦合的输入总线in的序号之间为移位关系。
如图5所示,前文所述的第一DRU 301或第二DRU 302包括第三寄存器401和第三选择器402。第三寄存器401的数据输入端用于耦合至一条第一输入总线in,第三寄存器401的数据输出端用于分别耦合至第三选择器402的第二输入端以及被测电路(扫描结构100)的一个输入通道channel_in,第三寄存器401用于存储从第一输入总线in输入的数据;第三选择器402的第一输入端用于耦合至被测电路(扫描结构100)的一个输出通道channel_out;第三选择器402的控制端用于耦合至FSM 309的捕获使能线cap_en:其中,当应用于图2的第一DRU 301时,第三选择器402的控制端可以直接耦合至FSM 309的捕获使能线cap_en,当应用于图3-图4的第一DRU 301时, 第三选择器402的控制端通过耦合至前文所述的第一与门3061的输出端来间接耦合至FSM 309的捕获使能线cap_en,并从第一与门3061输入第一信号;当应用于图3-图4的第二DRU 302时,第三选择器402的控制端通过耦合至前文所述的第二与门3062的输出端来间接耦合至FSM 309的捕获使能线cap_en,并从第二与门3062输入第二信号;第一信号或第二信号用于控制第三选择器402将第一输入端或第二输入端与输出端导通;第三选择器402的输出端用于耦合至一条输出总线out。当第三选择器402的控制端输入低电平(“0”)时,第三选择器402将第二输入端与输出端导通,使得第三寄存器401存储的数据输出给一条输出总线out。当第三选择器402的控制端输入高电平(例如“1”)时,第三选择器402将第一输入端与输出端导通,使得来自被测电路(扫描结构100)的一个输出通道channel_out的测试响应的一个比特位输出给第一输出总线out。
具体的,当将该DRU作为图2的第一DRU 301时,第三寄存器401的数据输入端耦合至一条第一输入总线in,第三寄存器401的数据输出端一方面耦合至第三选择器402的第二输入端,另一方面耦合至第二选择器3063的第一输入端,以便通过第二选择器3063耦合至被测电路(扫描结构100)的一个输入通道channel_in,第三寄存器401用于存储从第一输入总线in输入的数据。第三选择器402的第一输入端耦合至被测电路(扫描结构100)的一个输出通道channel_out;第三选择器402的控制端耦合至FSM 309的捕获使能线cap_en,第三选择器402的输出端耦合至第二DRU 302中的第三寄存器401的数据输入端,以便耦合至一条第一输出总线out。
当将该DRU作为图3-图4的第一DRU 301时,第三寄存器401的数据输入端耦合至一条第一输入总线in,第三寄存器401的数据输出端一方面耦合至第三选择器402的第二输入端,另一方面耦合至第二选择器3063的第一输入端,以便通过第二选择器3063耦合至被测电路(扫描结构100)的一个输入通道channel_in,第三寄存器401用于存储从第一输入总线in输入的数据。第三选择器402的第一输入端耦合至被测电路(扫描结构100)的一个输出通道channel_out;第三选择器402的控制端耦合至第一与门3061的输出端,第三选择器402的输出端耦合至第二DRU 302中的第三寄存器401的数据输入端,以便通过第二DRU 302耦合至一条输出总线out。
当将该DRU作为图3-图4的第二DRU 302时,第三寄存器401的数据输入端耦合至第一DRU 301中的第三选择器的输出端,以便通过第一DRU 301耦合至一条第一输入总线in,第三寄存器401的数据输出端一方面耦合至第三选择器402的第二输入端,另一方面耦合至第二选择器3063的第二输入端,以便通过第二选择器3063耦合至被测电路(扫描结构100)的一个输入通道channel_in,第三寄存器401用于存储从第一DRU 301输入的数据。第三选择器402的第一输入端耦合至被测电路(扫描结构100)的一个输出通道channel_out;第三选择器402的控制端耦合至第二与门3062的输出端,第三选择器402的输出端耦合至第一选择器305,以便通过第一选择器305耦合至一条输出总线out。
下面对图2中一条第一输入总线in所耦合的第一DRU 301的工作原理进行描述。
当FSM 309通过捕获使能线cap_en输出的捕获使能信号为低电平(“0”)时,第一DRU 301为直通模式,在每个时钟周期,第一DRU 301将来自一条第一输入总 线in的数据(例如测试激励的一个比特位,或者,测试响应的一个比特位)输出。当FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”)时,在每个时钟周期,第一DRU 301将来自一条第一输入总线in的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道channel_in,并将来自被测电路(扫描结构100)的一个输出通道channel_out的测试响应的一个比特位输出。
另外,对于第二输入总线in耦合的第一寄存器303来说,在每个时钟周期,第一寄存器303来自一条第二输入总线in的数据(例如测试激励的一个比特位,或者,测试响应的一个比特位)输出。所以第一输入总线和第二输入总线传输的数据在时序上是一致的,实现了测试总线上数据传输的时序一致,提高测试总线的传输速率。
下面对图3和图4中一条第一输入总线in所耦合的第一DRU 301、第二DRU 302和选择电路306的工作原理进行描述。
在第一个时钟周期,当FSM 309通过捕获使能线cap_en输出的捕获使能信号为低电平(“0”)时,第一DRU 301和第二DRU 302为直通模式,选择电路306不将第一DRU 301或第二DRU 302存储的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道。第二DRU 302将存储的数据(例如测试激励的一个比特位,或者,测试响应的一个比特位)输出给输出总线out,第一DRU 301将来自一条第一输入总线in的数据(例如测试激励的一个比特位,或者,测试响应的一个比特位)输出给第二DRU 302以进行存储。
在第二个时钟周期,当FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”)时,如果调试接口307通过选择线sel输出的选择信号为低电平(“0”),则第一与门3061的输出端输出第一信号为低电平(“0”),即第一DRU 301的第三选择器402的控制端输入低电平(“0”),第一DRU 301的第三寄存器401中存储的来自第一输入总线in的测试激励的一个比特位通过第一DRU 301的第三选择器402输出给第二DRU 302的第三寄存器401进行存储。第二与门3062由于第一输入端经过了反相从而输出第二信号为高电平(“1”),即第二DRU 302的第三选择器402的控制端输入高电平(“1”),第二DRU 302的第三选择器402将来自被测电路(扫描结构100)的一个输出通道channel_out的测试响应的一个比特位输出给第一选择器305,以便通过第一选择器305输出给一条输出总线out。第二DRU 302的第三寄存器401存储的来自第一输入总线in的测试激励的一个比特位输出给第二选择器3063的第二输入端。第二选择器3063的控制端输入低电平(“0”),第二选择器3063将第二DRU 302存储的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道channel_in。
也就是说,在第二个时钟周期,选择电路306选择第二DRU 302耦合至被测电路(扫描结构100)的一个输入通道channel_in,第二DRU 302将存储的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道channel_in,从被测电路(扫描结构100)的一个输出通道channel_out接收测试响应的一个比特位并输出给一条输出总线out。
或者,在第二个时钟周期,当FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”)时,如果调试接口307通过选择线sel输出的选择信号为高电平 (“1”),则第一与门3061的输出端输出第一信号为高电平(“1”),即第一DRU 301的第三选择器402的控制端输入高电平(“1”),第一DRU 301的第三选择器402将来自被测电路(扫描结构100)的输出通道channel_out的测试响应的一个比特位输出给第二DRU 302中的第三寄存器401的数据输入端。第一DRU 301的第三寄存401存储的来自第一输入总线in的测试激励的一个比特位输出给第二选择器3063的第一输入端。第二选择器3063的控制端输入高电平(“1”),第二选择器3063将第一DRU 301存储的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道channel_in。第二与门3062由于第一输入端经过了反相从而输出第二信号为低电平(“0”),即第二DRU 302的第三选择器402的控制端输入低电平(“0”),第二DRU 302的第三选择器402将第二输入端与输出端导通,将第二DRU 302的第三寄存器401中存储的来自第一DRU 301的测试响应的一个比特位输出给一条输出总线out。
也就是说,在第二个时钟周期,选择电路306选择第一DRU 301耦合至被测电路(扫描结构100)的一个输入通道channel_in,第一DRU 301将来自一条第一输入总线in的测试激励的一个比特位输出给被测电路(扫描结构100)的一个输入通道channel_in,从被测电路(扫描结构100)的一个输出通道channel_out接收测试响应的一个比特位并输出给第二DRU 302以进行存储。
下面对N条第一输入总线in所耦合的第一DRU 301、第二DRU 302和选择电路306的工作原理进行描述,说明如何将N比特位的测试激励通过这N条第一输入总线in所耦合的第一DRU 301、第二DRU 302和选择电路306输入至被测电路(扫描结构100)的N个输入通道channel_in。
当测试激励的N个比特位在第一时钟周期从N条第一输入总线in输入时:在第一时钟周期,FSM 309通过捕获使能线cap_en输出的捕获使能信号为低电平(“0”),这N条第一输入总线in所耦合的第一DRU 301可以将测试激励N个比特位分别输出给这N条第一输入总线in所耦合的第二DRU 302以进行存储。在第二时钟周期,FSM309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”),调试接口307通过N条选择线sel输出的N个选择信号为低电平(“0”),这N条输入总线所耦合的第二DRU 302耦合至被测电路(扫描结构100)的N个输入通道channel_in,并将存储的测试激励的N个比特位输出给被测电路(扫描结构100)的N个输入通道channel_in,从被测电路(扫描结构100)的N个输出通道channel_out接收测试响应的N个比特位并输出给N条输出总线out。
当测试激励的N个比特位在第二时钟周期从N条第一输入总线in输入时:在第二时钟周期,FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”),调试接口307通过N条选择线sel输出的N个选择信号为高电平(“1”),这N条第一输入总线in所耦合的第一DRU 301将上述测试激励的N个比特位输出给被测电路(扫描结构100)的N个输入通道channel_in,从被测电路(扫描结构100)的N个输出通道channel_out接收测试响应的N个比特位并输出给N条第一输入总线in所耦合的第二DRU 302进行存储。
当测试激励的前n个比特位在第一时钟周期从前n条第一输入总线in输入,测试 激励的后N-n个比特位在第二时钟周期从后N-n条第一输入总线in输入时:在第一时钟周期,FSM 309通过捕获使能线cap_en输出的捕获使能信号为低电平(“0”),前n条第一输入总线in所耦合的第一DRU 301可以将测试激励的前n个比特位分别输出给这n条第一输入总线in所耦合的第二DRU 302以进行存储。在第二时钟周期,FSM 309通过捕获使能线cap_en输出的捕获使能信号为高电平(“1”),调试接口307通过前n条选择线sel输出的N个选择信号为低电平(“0”),这n条输入总线所耦合的第二DRU 302将存储的测试激励的n个比特位输出给被测电路(扫描结构100)的n个输入通道channel_in,从被测电路(扫描结构100)的n个输出通道channel_out接收测试响应的n个比特位并输出给n条输出总线out;调试接口307通过后N-n条选择线sel输出的N-n个选择信号为高电平(“1”),这N-n条第一输入总线in所耦合的第一DRU 301将测试激励的后N-n个比特位输出给被测电路(扫描结构100)的其余N-n个输入通道channel_in,从被测电路(扫描结构100)的其余N-n个输出通道channel_out接收测试响应的后N-n个比特位并输出给这N-n条第一输入总线in所耦合的第二DRU 302进行存储。
在现有技术中,由于芯片的用于输入测试激励和输出测试响应的管脚数目(即总线带宽)有限,为了充分利用总线带宽,可以将输出给一个核的完整的测试激励拆分成多个部分分时传输到总线上,如果将这些部分分别输入被测电路的输入通道将产生错误的测试响应。而对于图3-图4所示的测试电路,一个测试周期可以包括两个时钟周期,无论测试激励在哪个时钟周期输入,无论测试激励是否分为两个时钟周期分别输入,都可以在第二个时钟周期将测试激励输出给被测电路(扫描结构100)的输入通道channel_in,实现了分时输入的测试激励的各部分同时输入被测电路的输入通道,避免产生错误的测试响应。
本申请以每条第一输入总线in耦合两个DRU,并且每条第二输入总线耦合两个寄存器为例,但并不意在限定于此,前文中分频器308的分频比
可以作为每条第一输入总线in耦合的DRU的数目以及每条第二输入总线耦合的寄存器的数目。
复位输入总线rst_in与复位输出总线rst_out之间耦合多个第四寄存器310,复位输入总线rst_in用于输入复位信号,复位输出总线rst_out用于向测试电路输出经多个第四寄存器310延时后的复位信号。第四寄存器310的数目与第二输入总线in耦合的寄存器的数目(或者,第一输入总线in耦合的DRU和寄存器数目)相同,例如在图2和图3中,第四寄存器310的数目为2。调节分频器308的分频比,使得复位信号从复位输入总线rst_in输入到从复位输出总线rst_out输出的时间差等于数据从输入总线in输入到从输出总线out输出的时间差,对于各个核来说,从测试电路的启动到数据的到达之间的时间差相同,便于统一计算各个核中测试电路的FSM 309开始输出捕获使能信号的时间。其中,分频器308和FSM 309在复位信号有效时处于复位状态,当复位信号无效时分频器308和FSM 309同时开始工作,相应地,所驱动的第一DRU 301、第二DRU 302和选择电路306也开始工作。
如图4所示,各条输入总线in(第一输入总线in和第二输入总线in)还可以分别耦合A个第五寄存器311,A为正整数,使得各条输入总线in输入的数据经过相同时 延输入测试电路,当测试总线的传输距离较长时,可以避免各条输入总线传输的数据在时序上不一致,从而提高测试总线的传输速度。第五寄存器311可以位于核内部或核外部。需要说明的是,复位输入总线rst_in与复位输出总线rst_out之间耦合的第四寄存器310的数目也要相应增加A个,使得复位信号从复位输入总线rst_in输入到从复位输出总线rst_out输出的时间差等于数据从输入总线in输入到从输出总线out输出的时间差。
如图4所示,各条输出总线out(第一输出总线out和第二输出总线out)还可以分别耦合B个第六寄存器312,复位输出总线rst_out还可以耦合B个第七寄存器313,B为正整数,使得各条输出总线输出的数据以及复位信号经过相同时延传输至下一个核,当测试总线的传输距离较长时,可以避免各条输出总线和复位输出总线传输的数据在时序上不一致,从而提高测试总线的传输速度。第六寄存器312和第七寄存器313可以位于核内部或核外部。
本申请实施例提供的上述测试电路,每条第一输入总线in所耦合的DRU的数目与每条第二输入总线所耦合的寄存器的数目相同,使得通过DRU输出给本核中被测电路的测试激励并输出测试响应的时延、通过DRU透传数据的时延、通过第二输入总线in耦合的寄存器透传数据的时延相同,实现了测试总线上数据传输的时序一致,提高了测试总线的传输速率。
下面结合图6-图13,以前一个核中的测试电路的输出总线与后一个核中的测试电路的输入总线串联耦合为例,对图3所示的集成电路的工作原理进行描述:其中,图7至图12的时序图见图13。
如图6所示,假设核A中包括扫描结构A,核B中包括扫描结构B,核C中包括扫描结构C;扫描结构A的输入通道channel_in和输出通道channel_out的带宽为4,扫描结构B的输入通道channel_in和输出通道channel_out的带宽为5,扫描结构C的输入通道channel_in和输出通道channel_out的带宽为4;核A的输入总线为in1[0]~in1[7],核A的输出总线为out1[0]~out1[7],核A的输入总线in1[0]~in1[3]耦合第一DRU 301A和第二DRU 302A,核A的输入总线in1[4]~in1[7]耦合第一寄存器303A和第二寄存器304A;核B的输入总线为in2[0]~in2[7],核B的输出总线为out2[0]~out2[7],核B的输入总线in2[0]~in2[4]耦合第一DRU 301B和第二DRU 302B,核B的输入总线in2[5]~in2[7]耦合第一寄存器303B和第二寄存器304B;核C的输入总线为in3[0]~in3[7],核C的输出总线为out3[0]~out3[7],核C的输入总线in3[0]~in3[3]耦合第一DRU 301C和第二DRU 302C,核C的输入总线in3[4]~in3[7]耦合第一寄存器303C和第二寄存器304C。
示例性的如表1所示,假设对扫描结构A~扫描结构C均做测试,AI1表示扫描结构A在第一个测试周期输入的测试激励,BI1表示扫描结构B在第一个测试周期输入的测试激励,CI1表示扫描结构C在第一个测试周期输入的测试激励;AI2表示扫描结构A在第二个测试周期输入的测试激励,BI2表示扫描结构B在第二个测试周期输入的测试激励,CI2表示扫描结构C在第二个测试周期输入的测试激励;AI3表示扫描结构A在第三个测试周期输入的测试激励,BI3表示扫描结构B在第三个测试周期输入的测试激励,CI3表示扫描结构C在第三个测试周期输入的测试激励。
需要说明的是,当某些核中的被测电路不参与扫描测试时,可以将该被测电路配置成直通模式,从而使得透传的测试激励或测试响应保持连续传输。并且在测试总线上不为该被测电路的测试激励预留传输资源,以充分利用测试总线的传输带宽。
表1
... | 6 | 5 | 4 | 3 | 2 | 1 | |
in1[0] | ... | BI3 | AI3 | BI2 | AI2 | BI1 | AI1 |
in1[1] | ... | CI3 | AI3 | CI2 | AI2 | CI1 | AI1 |
in1[2] | ... | CI3 | AI3 | CI2 | AI2 | CI1 | AI1 |
in1[3] | ... | CI3 | AI3 | CI2 | AI2 | CI1 | AI1 |
in1[4] | ... | CI3 | BI3 | CI2 | BI2 | CI1 | BI1 |
in1[5] | ... | BI3 | BI2 | BI1 | |||
in1[6] | ... | BI3 | BI2 | BI1 | |||
in1[7] | ... | BI3 | BI2 | BI1 |
以第一组测试激励AI1、BI1、CI1为例,介绍各核对测试激励的处理方式进行描述,各核对其他测试激励的处理方式类似。
如图7所示,在第一个测试周期的第一时钟周期,核A的输入总线in1[0]~in1[3]输入测试激励AI1,为了尽量将总线占用满,核A的输入总线in1[4]~in1[7]输入测试激励BI1中的前四位。在核A中,与输入总线in1[0]~in1[3]耦合的第一DRU 301A将测试激励AI1输出给与输入总线in1[0]~in1[3]耦合的第二DRU 302A进行存储,与输入总线in1[4]~in1[7]耦合的第一寄存器303A将测试激励BI1的前四位输出给与输入总线in1[0]~in1[3]耦合的第二寄存器304A进行存储。
如图8所示,在第一个测试周期的第二个时钟周期,核A的输入总线in1[0]输入测试激励BI1的第五位,核A的输入总线in1[1]~in1[4]输入测试激励CI1。在核A中,第一选择器305A将输入总线in1[4]~in1[7]与输出总线out1[0]~out1[3]分别相耦合,将输入总线in1[0]~in1[3]与输出总线out1[4]~out1[7]分别相耦合;与输入总线in1[0]~in1[3]耦合的第二DRU 302A将之前存储的测试激励AI1输出给扫描结构A的输入通道channel_in,并将核A之前的测试响应AO1通过输出总线out1[4]~out1[7](即核B的输入总线in2[4]~in2[7])传输至核B的与输入总线in2[4]~in2[7]耦合的第一DRU 301B和第一寄存器303B进行存储,与输入总线in1[4]~in1[7]耦合的第二寄存器304A将之前存储的测试激励BI1的前四位通过输出总线out1[0]~out1[3](即核B的输入总线in2[0]~in2[3])传输至核B的与输入总线in2[4]~in2[7]耦合的第一DRU 301B进行存储。与输入总线in1[0]耦合的第一DRU 301将测试激励BI1的第五位传输至与输入总线in1[0]耦合的第二DRU 302A进行存储,与输入总线in1[1]~in1[4]耦合的第一寄存器303A将测试激励CI1传输至与输入总线in1[1]~in1[4]耦合的第二寄存器304A进行存储。
如图9所示,在第二个测试周期的第一时钟周期,在核B中,与输入总线in2[0]~in2[3]耦合的第一DRU 301B将之前存储的测试激励BI1的前四位输出给第二DRU 302B进行存储,与输入总线in2[4]~in2[7]耦合的第一寄存器303B将之前存储的测试响应AO1输出给与输入总线in2[4]~in2[7]耦合的第二寄存器304B进行存储。在 核A中,与输入总线in1[0]耦合的第二DRU 302A将之前存储的测试激励BI1的第五位通过输出总线out1[4](即核B的输入总线in2[4])传输至核B的与输入总线in2[4]耦合的第一DRU 301B进行存储,与输入总线in1[1]~in1[3]耦合的第二DRU 302A将之前存储的测试激励CI1的前三位通过输出总线out1[5]~out11[7](即核B的输入总线in2[5]~in2[7])传输至核B的与输入总线in2[5]~in2[7]耦合的第一寄存器301B进行存储,与输入总线in1[4]耦合的第二寄存器304A将之前存储的测试激励CI1的第四位通过输出总线out1[0](即核B的输入总线in2[0])传输至核B的与输入总线in2[0]耦合的第一DRU 301B进行存储。
如图10所示,在第二个测试周期的第二个时钟周期,在核B中,第一选择器305B将输入总线in2[0]~in2[7]与输出总线out2[0]~out2[7]分别相耦合;与输入总线in2[0]~in2[3]耦合的第二DRU 302B将之前存储的测试激励BI1的前四位输出给扫描结构B的输入通道channel_in,并将核B之前的测试响应BO1的前四位通过输出总线out2[0]~out2[3](即核C的输入总线in3[0]~in3[3])传输至核C的与输入总线in3[0]~in3[3]耦合的第一DRU 301C进行存储;与输入总线in2[4]耦合的第一DRU 302B将之前存储的测试激励BI1的第五位输出给扫描结构B的输入通道channel_in,并将核B之前的测试响应BO1的第五位传输至第二DRU 302B进行存储;与输入总线in2[4]~in2[7]耦合的第二DRU 302B将之前存储的测试响应AO1通过输出总线out2[4]~out2[7](即核C的输入总线in3[4]~in3[7])传输至核C的与输入总线in3[4]~in3[7]耦合的第一寄存器303C进行存储;与输入总线in2[5]~in2[7]耦合的第一寄存器303B将之前存储的测试激励CI1的前三位传输至与输入总线in2[5]~in2[7]耦合的第二寄存器304B进行存储;与输入总线in2[0]耦合的第一DRU 301B将之前存储的测试激励CI1的第四位传输至与输入总线in2[0]耦合的第二寄存器304B进行存储。
如图11所示,在第三个测试周期的第一时钟周期,在核C中,与输入总线in3[0]~in3[3]耦合的第一DRU 301B将之前存储的测试响应BO1的前四位输出给第二DRU 302C进行存储,与输入总线in3[4]~in3[7]耦合的第一寄存器303C将之前存储的测试响应AO1输出给与输入总线in3[4]~in3[7]耦合的第二寄存器304C进行存储。在核B中,第一选择器305B将输入总线in2[5]~in2[7]与输出总线out2[0]~out2[2]相耦合,将输入总线in2[0]~in2[4]与输出总线out2[3]~out2[7]相耦合;与输入总线in2[5]~in2[7]耦合的第二寄存器304B将之前存储的测试激励CI1的前三位通过输出总线out2[0]~out2[2](即核C的输入总线in3[0]~in3[2])传输至核C的与输入总线in3[0]~in3[2]耦合的第一DRU 301C进行存储;与输入总线in2[0]耦合的第二DRU 302B将之前存储的测试激励CI1的第四位通过输出总线out2[3](即核C的输入总线in3[3])传输至核C的与输入总线in3[3]耦合的第一DRU 301C进行存储;与输入总线in2[4]耦合的第二DRU 302B将之前存储的测试响应BO1的第五位通过输出总线out2[7](即核C的输入总线in3[7])传输至核C的与输入总线in3[7]耦合的第一寄存器303C进行存储。
如图12所示,在第三个测试周期的第二个时钟周期,在核C中,第一选择器305C将输入总线in3[0]~in3[7]与输出总线out3[0]~out3[7]分别相耦合;与输入总线in3[0]~in3[3]耦合的第二DRU 302C将之前存储的测试响应BO1的前四位通过输出总 线out3[0]~out3[3]输出;与输入总线in3[4]~in3[7]耦合的第二寄存器304C将之前存储的测试响应AO1通过输出总线out3[4]~out3[7]输出;与输入总线in3[7]耦合的第一寄存器303C将之前存储的测试激励BI1的第五位输出给与输入总线in3[7]耦合的第二寄存器304C进行存储;与输入总线in3[0]~in3[3]耦合的第一DRU 301C将之前存储的测试激励CI1输出给扫描结构C的输入通道channel_in,并将核C之前的测试响应CO1输出给与输入总线in3[0]~in3[3]耦合的第二DRU 302C进行存储。
另外,当下一个时钟周期时,与输入总线in3[7]耦合的第二寄存器304C将之前存储的测试激励BI1的第五位通过输出总线out3[7]输出;与输入总线in3[0]~in3[3]耦合的第二DRU 302C将之前存储的测试响应CO1通过输出总线out3[0]~out3[3]输出。
本申请实施例提供的上述测试电路,相对于其他星形结构方案例如SRF、DBM来说,更有利于布局布线,不存在绕线困难的问题。并且控制逻辑简单,增加的电路规模小,测试配置也更为简单。在尽量降低面积增长和物理设计难度的前提下,总线资源被合理分配,实现利用率最大化。支持自底向上的设计流程,同时总线资源分配灵活可调。同一套硬件连接结构可以实现多种测试方案,使得测试规划非常灵活。由于只需要两个时钟周期即可以与被测电路完成数据交互,传输效率得到提升。各条测试总线中传输的数据在经过多个核后时序仍能保持一致,提高了总线的传输速率。
本申请实施例还提供了一种针对上述测试电路的生成方法,可以由计算机中的处理器来执行,如图14所示,该包括:
S1401、获取测试总线的输入总线in或输出总线out的带宽、各个核中被测电路的输入通道channel_in的带宽和输出通道channel_out的带宽。
这些数据可以由用户输入或从配置中导入。输入总线in的带宽一般等于输出总线out的带宽。同一被测电路的输入通道channel_in的带宽和输出通道channel_out的带宽可以相同或不同。
S1402、根据测试总线的输入总线或输出总线的带宽、各个被测电路的输入通道的带宽和输出通道的带宽,确定各个测试电路中与各条输入总线耦合的DRU或寄存器的数目,并生成上述测试电路。
如前面分频比K的计算公式:
其中,CI为一个核中被测电路的输入通道channel_in的带宽,CO为一个核中被测电路的输出通道channel_out的带宽,B为输入总线in或输出总线out的带宽。该K值可以作为每个核中各条输入总线耦合的DRU或寄存器的数目,从而生成多个核的测试电路。
本申请实施例还提供了一种电路测试方法,可以由计算机中的处理器来执行,应用于通过如前文所述的测试电路来测试被测电路;如图15所示,该方法包括:
S1501、生成配置信息和测试激励。
其中,配置信息用于配置分频器308的分频比,配置信息还用于配置上述测试电路中的调试接口307的选择信号,从而选择第一DRU 301或第二DRU 302耦合至被测电路的输入通道channel_in,以通过第一DRU 301或第二DRU 302将测试激励输入至被测电路。
S1502、将配置信息和测试激励输入各个核的被测电路。
配置信息用于通过测试总线的ijtag总线输入至各个核的被测电路,测试激励用于 通过测试总线的输入总线in输入至各个核的被测电路。
S1503、接收各个被测电路的测试响应。
具体的,通过测试总线中的输出总线out接收各个被测电路的测试响应
S1504、根据测试响应确定被测电路是否正常。
如果某个被测电路输出的测试响应不符合预期结果,则可以确定该被测电路功能不正常,否则确定该被测电路功能正常。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括指令,当指令被处理器执行时,使得上述方法实施例中的各个功能或者步骤被执行。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供一种包括指令的计算机程序产品,当指令被处理器执行时,使得上述方法实施例中的各个功能或者步骤被执行。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个设备,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个设备中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用 计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
- 一种测试电路,其特征在于,包括:第一输入总线、第二输入总线、第一输出总线、第二输出总线、第一动态路由单元DRU和第一寄存器;所述第一输入总线用于通过所述第一DRU耦合至被测电路的输入通道,所述第一输出总线用于通过所述第一DRU耦合至所述被测电路的输出通道;所述第二输入总线用于通过所述第一寄存器耦合至所述第二输出总线;在一个时钟周期:所述第一DRU用于向所述输入通道输出来自所述第一输入总线的测试激励,并向所述第一输出总线输出来自所述输出通道的测试响应;或者,所述第一DRU用于向所述第一输出总线输出来自所述第一输入总线的数据;所述第一寄存器用于向所述第二输出总线输出来自所述第二输入总线的数据。
- 根据权利要求1所述的测试电路,其特征在于,还包括与所述第一DRU耦合的第二DRU和选择电路,以及,与所述第一寄存器耦合的第二寄存器;所述第一输入总线用于通过所述第一DRU、所述第二DRU和所述选择电路耦合至所述输入通道;所述第一输出总线用于通过所述第一DRU和所述第二DRU耦合至所述输出通道;所述第二输入总线用于通过所述第一寄存器和所述第二寄存器耦合至所述第二输出总线;所述选择电路用于选择所述第一DRU或所述第二DRU耦合至所述输入通道。
- 根据权利要求2所述的测试电路,其特征在于,在第一时钟周期,所述第一DRU用于向所述第二DRU输出所述测试激励;在第二时钟周期,所述选择电路选择所述第二DRU耦合至所述输入通道,所述第二DRU用于向所述输入通道输出所述测试激励,并向所述第一输出总线输出所述测试响应;或者,在所述第二时钟周期,所述选择电路选择所述第一DRU耦合至所述输入通道,所述第一DRU用于向所述输入通道输出所述测试激励,并向所述第一输出总线输出所述测试响应。
- 根据权利要求2-3任一项所述的测试电路,其特征在于,所述选择电路包括第一与门、第二与门和第二选择器;其中,所述第二与门的第一输入端对输入信号进行反相;所述第一与门的输出端耦合至所述第一DRU以向所述第一DRU输出第一信号,所述第二与门的输出端耦合至所述第二DRU以向所述第二DRU输出第二信号;所述第一与门的第一输入端、所述第二与门的第一输入端以及所述第二选择器的控制端相耦合,并用于输入第三信号;所述第一与门的第二输入端和所述第二与门的第二输入端相耦合,并用于输入第四信号;所述第二选择器的两个输入端分别与所述第一DRU和所述第二DRU相耦合,所述第二选择器的输出端用于耦合至所述输入通道;其中,所述第一信号用于控制所述第一DRU是否向所述输入通道输出所述测试激励;所述第二信号用于控制所述第二DRU是否向所述输入通道输出所述测试激励;所述第三信号用于控制所述选择电路选择所述第一DRU或所述第二DRU耦合至所述输入通道;所述第四信号用于控制所述第一DRU或所述第二DRU是否向所述输入通道 输出所述测试激励。
- 根据权利要求1-4任一项所述的测试电路,其特征在于,所述第一DRU包括第三寄存器和第三选择器;所述第三寄存器的数据输入端用于耦合至所述第一输入总线,所述第三寄存器的数据输出端用于分别耦合至所述第三选择器的第二输入端以及所述输入通道;所述第三选择器的第一输入端用于耦合至所述输出通道;所述第三选择器的输出端用于耦合至所述第一输出总线,所述第三选择器的控制端用于输入第五信号,所述第五信号用于控制所述第三选择器将第一输入端或第二输入端与输出端导通。
- 根据权利要求1-5任一项所述的测试电路,其特征在于,还包括复位输入总线、复位输出总线、多个第四寄存器,所述第四寄存器的数目等于所述第二输入总线耦合的寄存器的数目;所述复位输入总线通过所述多个第四寄存器耦合至所述复位输出总线,所述复位输入总线用于输入复位信号,所述复位输出总线用于向所述测试电路输出经所述多个第四寄存器延时后的所述复位信号。
- 根据权利要求1-6任一项所述的测试电路,其特征在于,还包括多个第五寄存器,所述第一输入总线和所述第二输入总线分别耦合至A个所述第五寄存器,A为正整数。
- 根据权利要求1-7任一项所述的测试电路,其特征在于,还包括多个第六寄存器,所述第一输出总线和所述第二输出总线分别耦合至B个所述第六寄存器,B为正整数。
- 一种集成电路,其特征在于,包括多个核,每个核包括被测电路以及如权利要求1-8任一项所述的测试电路,所述多个核的测试电路之间通过测试总线相耦合。
- 一种电子设备,其特征在于,包括印刷电路板和设置于所述印刷电路板上的如权利要求9所述的集成电路。
- 一种测试电路的生成方法,其特征在于,包括:获取测试总线的输入总线或输出总线的带宽、各个核中被测电路的输入通道的带宽和输出通道的带宽;根据所述测试总线的输入总线或输出总线的带宽、所述各个被测电路的输入通道的带宽和输出通道的带宽,确定各个测试电路中与各条输入总线耦合的动态路由单元DRU或寄存器的数目,并生成如权利要求1-8任一项所述的测试电路。
- 根据权利要求11所述的方法,其特征在于,各个核中测试电路中与各条输入总线耦合的动态路由单元或寄存器的数目K通过以下方式得到:其中,CI为一个核中被测电路的输入通道的带宽,CO为一个核中被测电路的输出通道的带宽,n为所述输入总线或输出总线的带宽。
- 一种电路测试方法,其特征在于,应用于通过如权利要求1-8任一项所述的测试电路来测试被测电路;所述方法包括:生成配置信息和测试激励;所述配置信息用于配置所述测试电路的分频比,所述测试激励用于输入至所述被测电路;将所述配置信息和所述测试激励输入所述被测电路;接收所述被测电路的测试响应;根据所述测试响应确定所述被测电路是否正常。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/119781 WO2023044642A1 (zh) | 2021-09-23 | 2021-09-23 | 测试电路、集成电路、电子设备、测试电路的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117980753A true CN117980753A (zh) | 2024-05-03 |
Family
ID=85719785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180101663.0A Pending CN117980753A (zh) | 2021-09-23 | 2021-09-23 | 测试电路、集成电路、电子设备、测试电路的生成方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4386396A1 (zh) |
CN (1) | CN117980753A (zh) |
WO (1) | WO2023044642A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289480B1 (en) * | 1998-04-24 | 2001-09-11 | National Semiconductor Corporation | Circuitry for handling high impedance busses in a scan implementation |
CN105357070A (zh) * | 2015-11-05 | 2016-02-24 | 天津津航计算技术研究所 | 一种基于fpga的arinc818总线分析与测试装置 |
CN107345997B (zh) * | 2016-05-04 | 2020-04-14 | 中国科学院微电子研究所 | 一种基于测试壳的ip核测试方法 |
CN112612264A (zh) * | 2020-12-22 | 2021-04-06 | 北京时代民芯科技有限公司 | 一种can总线控制器中串口自测试方法 |
-
2021
- 2021-09-23 CN CN202180101663.0A patent/CN117980753A/zh active Pending
- 2021-09-23 EP EP21957779.8A patent/EP4386396A1/en active Pending
- 2021-09-23 WO PCT/CN2021/119781 patent/WO2023044642A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4386396A1 (en) | 2024-06-19 |
WO2023044642A1 (zh) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4048673A (en) | Cpu - i/o bus interface for a data processing system | |
GB2180355A (en) | Testing assemblies of interconnected integrated circuits | |
CN112540952B (zh) | 具有片内并行接口的片上*** | |
CN114330191B (zh) | 一种信号复用传输的方法及装置 | |
CN108683536B (zh) | 异步片上网络的可配置双模式融合通信方法及其接口 | |
CN105786736A (zh) | 一种多芯片级联的方法、芯片和装置 | |
EP2500827A2 (en) | Memory controller address and data pin multiplexing | |
US7500042B2 (en) | Access control device for bus bridge circuit and method for controlling the same | |
US20230204661A1 (en) | Test circuit in chip and circuit test method | |
US8000322B2 (en) | Crossbar switch debugging | |
US5280482A (en) | Time-sharing data transfer apparatus | |
WO2024078089A1 (zh) | 一种芯片及其数据传输方法 | |
CN117980753A (zh) | 测试电路、集成电路、电子设备、测试电路的生成方法 | |
US9201448B2 (en) | Observing embedded signals of varying clock domains by fowarding signals within a system on a chip concurrently with a logic module clock signal | |
CN116578528A (zh) | 一种多模混合互连架构的多fpga原型验证平台硬件体系结构 | |
CN211956461U (zh) | 串行数据通信电路及*** | |
WO2022041232A1 (zh) | 芯片测试电路及电路测试方法 | |
JPS63136395A (ja) | 半導体記憶装置 | |
CN109902037B (zh) | 连接不同时钟域下的fpga和人工智能模块的***芯片 | |
WO2023245925A1 (zh) | 存储器器件及zq校准方法 | |
CN116137531A (zh) | 采样电路、采样电路的使用方法、存储介质、电子装置 | |
CN114546931A (zh) | 基于fpga的多路信号选择方法、***、电子装置及存储介质 | |
KR101100714B1 (ko) | 번인보드용 인터페이스 장치 | |
da Cunha Junior et al. | Parameterizable Ethernet Network-on-Chip Architecture on FPGA | |
CN117875240A (zh) | 一种多片fpga时钟分组动态配置板卡及配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |