CN105518475B - 柔性接口 - Google Patents

柔性接口 Download PDF

Info

Publication number
CN105518475B
CN105518475B CN201480049516.3A CN201480049516A CN105518475B CN 105518475 B CN105518475 B CN 105518475B CN 201480049516 A CN201480049516 A CN 201480049516A CN 105518475 B CN105518475 B CN 105518475B
Authority
CN
China
Prior art keywords
address
test
register
core
interface
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.)
Active
Application number
CN201480049516.3A
Other languages
English (en)
Other versions
CN105518475A (zh
Inventor
L·纳波利塔诺
S·菲尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Italian Semiconductor (r&d) Co Ltd
Original Assignee
Italian Semiconductor (r&d) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Italian Semiconductor (r&d) Co Ltd filed Critical Italian Semiconductor (r&d) Co Ltd
Publication of CN105518475A publication Critical patent/CN105518475A/zh
Application granted granted Critical
Publication of CN105518475B publication Critical patent/CN105518475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318561Identification of the subpart
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31722Addressing or selecting of test units, e.g. transmission protocols for selecting test units
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31723Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Abstract

在具有多个核的一个或多个同伴芯片上设置系统和方法。每个核都具有核电路装置和用于执行与核电路装置相关的测试的测试接口。测试接口具有用于保持核的地址的地址寄存器以及地址确定电路装置。地址确定电路装置被配置为将地址线上接收的地址与保持在地址寄存器中的地址进行比较以确定核是否正在被寻址。地址确定电路装置还被配置为响应于确定指示测试接口以执行测试操作。

Description

柔性接口
技术领域
本发明涉及嵌入式系统的测试,例如芯片上系统(SoC)中的嵌入核的测试。
背景技术
随着芯片上系统(SoC)或嵌入式系统的尺寸和复杂度的增加,设计再利用成为重要的考虑。在设计再利用中,可以针对新的芯片和应用再利用早已存在的设计功能(例如,核或所谓的知识产权(IP)模块)。例如,原始集成在第一SoC中的IP模块可以在其他SoC设计中被再利用。此外,可以在SoC中使用相同IP模块设计的若干示例。
虽然这降低了SoC的设计复杂度,但这会在执行SoC的测试时导致困难。不同的核或IP模块可以通过不同的供应商来设计和提供,并且SoC设计者不知道IP模块的内部工作。此外,不同的IP模块可具有不同的测试要求和机制。
为了克服该问题,引入测试标准来提供对SoC和SoC内的IP模块的测试接口。这种测试标准的示例可以是IEEE 1149.1标准(JTAG)和用于嵌入式核测试的IEEE 1500标准(SECT)。
IEEE 1149.1标准可以管理芯片外测试器和芯片上测试控制器之间的通信,而IEEE 1500标准可以管理芯片上访问端口或测试模式控制器与每个IP模快的测试接口之间的接口。
发明内容
根据第一方面,提供了一种设置在一个或多个同伴芯片(companion chip)上的系统,包括多个核,每个核都包括核电路装置以及用于执行与核电路装置相关的测试的测试接口,测试接口包括:地址寄存器,被配置为保持核的地址;以及地址确定电路装置,被配置为将在地址线上接收的地址与保持在地址寄存器中的地址进行比较以确定核是否正在被寻址并且响应于确定配置接口以执行测试操作。
接口可以通过选择耦合在测试数据输入和测试数据输出之间的多个寄存器中的一个或多个来配置。测试数据输入可以是串行测试数据输入,并且测试数据输出可以是串行测试数据输出。地址线可以是并行输入。每个核都可以是用于执行系统的至少一个功能的电路的模块。
多个寄存器中的一个可以是旁路寄存器。当确定在地址线上接收的地址与保持在地址寄存器中的地址不匹配时,旁路寄存器可以耦合在测试数据输入和测试数据输出之间。
多个寄存器中的一个可以是局部测试控制寄存器。当确定在地址线上接收的地址与保持在地址寄存器中的地址匹配时,局部测试控制寄存器可以耦合在测试数据输入和测试数据输出之间。
接口可以进一步包括解码器和控制线,其中,解码器被配置为解码控制线上的指令并且根据指令配置局部测试控制寄存器。
当第一核的解码器确定控制线上的指令无效且第一核的地址确定电路装置确定第一核正在被寻址时,第一核的局部测试控制寄存器可以耦合在相应的测试数据输入和测试数据输出之间。当第一核的解码器确定控制线上的指令有效且第一核的地址确定电路装置确定第一核正在被寻址时,可以对指令进行解码并且可以根据指令加载局部测试控制寄存器。
根据第二方面,提供了一种用于在系统中执行测试的方法,其中系统包括设置在一个或多个同伴芯片上的多个核,该方法包括:通过将地址线上接收的地址与保持在核的测试接口的地址寄存器中的地址进行比较来确定核是否正在被寻址;以及响应于确定配置测试接口以执行与核的核电路相关联的测试操作。
该方法可进一步包括:选择将耦合在测试数据输入和测试数据输出之间的多个寄存器中的一个或多个。
该方法可进一步包括:确定地址线上接收的地址与保持在地址寄存器中的地址不匹配;以及响应于此将旁路寄存器耦合在测试数据输入和测试数据输出之间。该方法可进一步包括:确定地址线上接收的地址与保持在地址寄存器中的地址匹配;以及响应于此将局部测试控制寄存器耦合在测试数据输入和测试数据输出之间。
该方法可进一步包括:解码控制线的指令;以及根据指令配置局部测试控制寄存器。
该方法可进一步包括:确定第一核的控制线上的指令无效;确定第一核正在被寻址;以及响应于确定,将第一核的局部测试控制寄存器耦合在对应的测试数据输入和测试数据输出之间。
该方法可进一步包括:确定第一核的控制线上的指令有效;确定第一核正在被寻址;响应于确定对指令进行解码;以及根据指令加载局部测试控制寄存器。
根据第三方法,提供了一种包括设置在一个或多个同伴芯片上的多个核的系统,每个核都包括核电路装置以及用于执行与核电路相关联的测试的测试接口,测试接口包括:地址寄存器,用于保持核的地址;局部测试控制寄存器;以及解码器,被配置为如果地址线上的地址与保持在地址寄存器中的地址匹配,则根据指令接收测试控制线上的指令并配置局部测试控制寄存器。
根据第四方面,提供了一种接口,用于在系统中执行与核的核电路相关的测试,系统包括设置在一个或多个同伴芯片上的多个核,接口包括:地址寄存器,被配置为保持与接口相关联的核的地址;以及地址确定电路装置,被配置为将地址线上接收的地址与保持在地址寄存器中的地址进行比较以确定核是否正在被寻址以及响应于确定配置接口以执行测试操作。
根据第五方面,提供了一种用于形成系统的一部分的核,系统包括设置在一个或多个同伴芯片上的多个核,核包括核电路装置以及用于执行与核电路相关的测试的测试接口,测试接口包括:地址寄存器,被配置为保持核的地址;以及地址确定电路装置,被配置为将地址线上接收的地址与保持在地址寄存器中的地址进行比较以确定核是否正在被寻址以及响应于确定配置接口以执行测试操作。
附图说明
参照以下附图描述非限制性和非排他性的实施例,其中在各个附图中,类似的符号表示类似的部件,除非另有指定。现在将参照以下附图描述实施例,其中:
图1示出了具有测试能力的SoC的示意性示例;
图2示出了根据实施例的芯片上测试的示意性示例;以及
图3示出了测试接口的示例。
具体实施方式
图1示出了具有测试能力的芯片上系统(SoC)100的示例。图1的SoC 100包括测试模式控制器(TMC)101、所谓的第一“IP”模块111和第一IP模块包装器(IP1_wrapper)110、以及所谓的第二“IP”模块121和第二IP模块包装器(IP2_wrapper)120。TMC 101经由嵌入式系统测试接口102耦合至第一和第二IP模块包装器110和120。此外,TMC 101通过包装器串行输入(WSI)103耦合至第一IP模块包装器110以及经由包装器串行输出(WSO)104耦合至第二IP模块包装器120。第一IP模块包装器110的串行输出在105处耦合至第二IP模块包装器120的串行输入。应该理解,在一些实施例中,WSI 103和WSO 104可以形成嵌入式系统测试接口的一部分。
在一些示例中,TMC 101可以用作芯片外测试控制器的接口,并且可以根据嵌入式系统测试标准控制SoC 100上的测试的执行。应该理解,虽然TMC 101被描述为芯片上,但其可以形成芯片上系统的一部分。TMC 101例如可以是IP模块111和121的同伴芯片。同伴芯片可以是与承载IP模块的芯片相同的SoC的一部分。
TMC 101可以经由嵌入式系统测试接口102配置将被测试的IP模块111和121并且控制IP模块的测试操作。每个IP模块111和121都可以包括在TMC 101和IP模块本身之间提供测试接口的IP模块包装器110和120。
TMC 101可以进一步经由WSI 103将被偏移的数据提供到IP模块的寄存器中以及经由WSO 104接收从IP模块偏移出的数据。例如,IP模块111和121可以经由嵌入式系统接口来配置以形成扫描链,并且WSI 103上的数据可以通过该链偏移,顺次通过第一IP模块111、经由耦合105通过第二IP模块121并且经由WSO 104返回到TMC 101。
SoC中的IP模块可以通过不同的供应商来提供,并且例如可以对应于供应商自己的所有权设计。这些IP模块可以具有独立的测试要求。为了允许IP模块被测试,每个IP模块都设置有允许根据标准或同意的协议执行测试的包装器。例如,在一些实施例中,可以根据IEEE 1500标准来执行测试。
应该理解,“IP”模块可以不是必须具有与其相关联的任何知识产权。
例如,第一IP模块包装器110可以经由嵌入式系统测试接口102接收标准的测试控制信号并且将它们连接到IP模块111的测试信号。例如,第一IP模块包装器110可以接收来自嵌入式系统测试接口102的测试控制信号并且根据该模块的所有权测试控制要求将测试控制信号提供给第一IP模块111。第二IP模块包装器120可以类似地工作。
IP模块包装器110和120例如可以包括去往和来自TMC 101和其他IP模块的功能输入和输出以及包装器边界寄存器、旁路寄存器和包装器指令寄存器。
每个IP模块处的嵌入式系统接口的示例可以是根据IEEE 1500标准,并且例如包括包装器指令寄存器、包装器旁路寄存器和包装器边界寄存器。在接口102处接收的信号例如可以包括捕获、偏移、更新、时钟、重置以及WSI 103和WSO信号。
应该理解,虽然SoC 100被示为包括两个IP模块,但通常可以在实际系统中实施更多的IP模块。
加载到第一和第二IP模块的寄存器中的数据可以通过所谓的“菊花链”形式中的模块顺次加载。这导致要求非常大的测试控制寄存器。具有数百个IP模块的系统中的测试变得非常复杂并且设置消耗很多时间。在这种系统中,测试能力不是非常灵活的。
实施例可以涉及在测试控制器和IP模块之间提供接口,其允许非常大的灵活性。例如,一些实施例可以提供比现有的IEEE 1500标准具有更高层级的灵活性的接口,同时仍然保持与该标准兼容。
在实施例中,测试模式控制器和IP模块可以形成芯片上系统的一部分。除嵌入式系统测试接口之外,一些实施例可以在测试模式控制器和局部IP模块包装器之间提供地址连接和控制连接。嵌入式系统测试接口例如可以是根据IEEE 1500标准。
地址和控制连接中的一个或多个上的信号可以设置IP模块的操作模式。测试接口可以包括用于解码控制连接上的控制信息的解码器以及用于确定IP模块是否正在被寻址的地址寄存器。
在测试接口处接收的控制和地址信息可以确定IP模块是根据嵌入式系统测试标准进行操作还是根据操作的又一模式进行操作。
图2示出了根据本发明的实施例的SoC 200的示例。
图2的SoC 200包括柔性接口(FI)测试模式控制器(TMC)201、第一IP模块111、第一IP模块包装器210、第二IP模块121和第二IP模块包装器220。FI TMC 201经由嵌入式系统测试接口102耦合至第一和第二IP模块包装器210和220,经由包装器串行输入(WSI)103耦合至第一IP模块包装器210以及经由包装器串行输出(WSO)104耦合至第二IP模块包装器220。第一IP模块包装器210的串行输出在105处耦合至第二IP模块包装器220的串行输入。
应该理解,SoC 200的一些部件可以类似于SoC 100的部件,并且类似的参考标号示出这些部件。
FI TMC 201还包括测试地址寄存器202和测试控制寄存器203。第一IP包装器210还包括包装器柔性接口212,第二IP包装器220还包括包装器柔性接口222。测试地址寄存器202可经由测试地址总线204耦合至包装器柔性接口212和222。测试控制寄存器可以经由测试控制总线205耦合至包装器柔性接口212和222。
可以从图2中看出,除标准测试接口电路装置之外,一些实施例的柔性接口测试模式控制器201可以包括地址寄存器202和控制寄存器203。地址寄存器可以被配置为存储与一个或多个IP模块或IP模块包装器相关的地址信息。例如,IP模块/包装器可以与地址相关联,并且地址寄存器可以包含通过其相关的地址识别IP模块包装器的信息。
控制寄存器可以被配置为存储与将在一个或多个IP模块上执行的测试相关的控制信息。例如,控制寄存器可以存储与一个或多个包装器接口212、222的配置相关的测试配置信息用于测试。在一些实施例中,控制信息可以是宏指令。
地址和控制寄存器可以通过测试模式控制器写入。将被写入这些寄存器的数据可以源于芯片外测试主机。可以经由测试接口(例如,JTAG接口)向TMC 101提供数据。
提供给IP模块的柔性接口212和222的地址和控制总线上的信息可以被配置为确定一个或多个IP模块的操作模式。例如,接口212、222可以确定对应的IP模块是否正在被地址总线上的信息寻址。附加地或可选地,接口212、222可以解码在控制总线205上接收的控制指令。控制和/或地址总线上的信息可以配置用于测试操作的柔性接口。
例如,柔性接口可以基于在控制总线上接收的控制指令配置接口的局部测试控制寄存器。在另一实施例中,控制信息和地址信息可以向柔性接口表明是否根据嵌入式系统接口102信号执行测试或者是否需要由控制总线表示的其他功能。
应该理解,响应于在控制和地址总线上接收到的信息,柔性接口可以被配置用于各种测试模式或条件。此外,稍后讨论这些示例。
图3示出了根据实施例的包装器柔性接口和IP模块的示例。图3例如可以对应于图2的接口212和/或222。
图3包括了包装器柔性接口212和IP模块111。包装器柔性接口可以是解码器212。解码器212可以耦合至测试控制总线205、测试地址总线204、嵌入式系统测试接口102、包装器串行输入(WSI)309和包装器串行输出(WSO)310。应该理解,在一些实施例中,测试控制总线205、测试地址总线204和嵌入式系统接口102可以对应于图2的类似的参考特征。
在一些实施例中,可以从柔性接口TMC(例如,图2的TMC 201)接收WSI 309。在其他或又一些实施例中,可以从另一包装器柔性接口接收WSI 309,例如如图2中的耦合105所示。
在图3的示例中,嵌入式系统测试接口102对应于IEEE 1500标准接口,然后应该理解,在其他实施例和示例中,该接口102可以不同。
嵌入式系统测试接口102可以包括多个信号,例如包装器重置信号(WRSTN)、包装器捕获信号(updateWR)、包装器偏移信号(shiftWR)和包装器时钟(WRCK)。应该理解,接口102可以包括如在相关标准限定的信号和终端。在对应的标准中定义这些信号/终端的功能。
解码器212可以用于解码在地址总线204上承载的地址信息和在控制总线205上承载的测试控制信息,以提供符合IP模块111的要求的测试信号。解码器可以根据在地址和/或控制总线上接收的信息配置被传输至其自身IP模块111的测试信号。以这种方式,解码器可以配置IP模块的测试操作。
解码器可以经由一个或多个嵌入式系统接口102、测试控制总线205和测试地址总线204接收测试信号,并将通过它们接收的任何测试指令转换为用于IP模块111的测试设置。例如,解码器212可以将用于测试(DFT)宏指令的接收的设计转换为IP模块111的输入测试信号中的相关信号。在图3的示例中,IP模块111可以要求来自解码器的一个或多个信号tst_signal 1-n 312,与执行测试。
应该理解,可以通过IP模块的供应商来限定IP模块所要求的具体测试信号。例如,IP模块111处的测试信号输入可以是测试扫描模式信号(tst_scanmode)、测试时钟使能信号(tst_gclkenable)和/或刺激内建测试信号(tst_ie/usb_bist_run)。例如在图2中示出这些信号。
在图3的示例中,解码器212另外耦合至来自TMC的标准化测试信号。解码器212因此可以与现有的管理芯片上测试信号的通信的测试接口标准兼容。例如,虽然标准化测试信号可以提供用于测试的信息,但解码器可以被配置为根据在解码器处接收的地址和控制信息将该信息加载到相关的测试寄存器。
相关测试寄存器可以是局部测试控制寄存器306的一部分,其在IP模块111上执行测试时提供测试控制寄存器。
解码器212包括解码逻辑301、比较逻辑302、地址寄存器303、任选的备用寄存器304(也称为砖墙寄存器)、局部测试控制寄存器(LTCR)306、多路复用器307、旁路触发器305和重新定时触发器308。LTCR被耦合以将测试信号提供给IP模块111。
解码逻辑301耦合至测试控制总线205,并且解码逻辑的输出被提供为LTCR 306的输入。比较逻辑302被耦合以作为输入接收测试地址总线204和来自地址寄存器303的输出。比较逻辑302向多路复用器307提供选择输入。WSI 309作为输入耦合至地址寄存器304、备用寄存器304(如果存在的话)、旁路触发器305和LTCR 306。
来自地址寄存器303、备用寄存器304(如果存在的话)、旁路触发器305和LTCR 306的输出作为输入耦合至多路复用器307。多路复用器307的输出耦合至重新定时触发器308。重新定时触发器308的输出提供WSO 310。
在操作中,解码器212接收地址总线204、控制总线205和嵌入式系统接口102上的信号。
地址总线上的信号表示该特定的解码器是否正在被寻址。解码器212的地址可以被存储在地址寄存器303中。地址寄存器可以预加载地址,或者当控制总线表示将被执行的操作被写入地址寄存器时,地址可以被写入地址寄存器。地址寄存器中的地址可以对应于由测试器分配给该寄存器的地址。
比较逻辑302将在地址总线204上接收的地址与保持在地址寄存器303中的地址进行比较以确定该IP模块212是否正在被寻址。应该理解,保持在地址寄存器303中的地址对于IP模块212不是唯一的。例如,一个或多个IP模块可以共享地址。这可以是具有相同功能的IP模块将被一起测试的情况。
还应该理解,地址总线可以寻址具有不同地址的两个或多个模块。地址总线可以寻址在其地址中部分共享相同位的所有模块。例如,可以寻址具有地址的相同高阶位的解码器。
比较器302的输出确定什么连接在包装器串行输入309和包装器串行输出310之间。以这种方式,比较器的输出确定包装器串行输入309上的数据是否将用于IP模块212的测试。
应该理解,虽然示出了比较逻辑302、地址寄存器303和多路复用器307,但其他方式可以被实施以确定IP模块212是否正在被寻址并且响应于这种确定选择测试数据输出。例如,如果确定IP模块212没有被寻址,则WSO 310可以耦合至旁路寄存器,使得WSI 309上的测试输入数据旁路IP模块111。例如如果确定IP模块正在被寻址,则WSO 310可以耦合至局部测试控制寄存器306以输出来自IP模块111的测试数据。
测试控制总线205表示将在IP模块111上执行的测试的配置或类型。在测试控制总线205上接收的信息被解码逻辑301解码以提供控制信号,从而根据将被执行的测试配置局部测试控制寄存器(LTCR)306。应该理解LTCR 306可以包括一个或多个寄存器。LTCR 306可以在执行测试时提供输入至IP模块111的测试信号。
备用寄存器304被设置为寄存器,其可以用于附加的测试器定义的功能(如果需要的话)。
应该理解,不是图3所示解码器212的所有特征都是必要的。某些测试环境可以不要求解码器的所有功能,并且可以省略对应的特征。
还应该理解,解码器212和/或包装器接口可以包括附加的信号,诸如测试时钟、测试重置、扫描使能信号和扫描进/出信号。
现在参照表格1描述可以在实施例中执行的操作的测试模式的示例。应该理解,解码器212可以被配置为根据在测试控制和地址总线信号上接收的信息来实施这些模式中的一种或多种。还应该理解,该表格不是排他性的,并且可以实施其他模式。
表格1
串行加载所有LTCR:
在该实施例中,地址总线确定LTCR 306寄存器将被耦合在WSI 309和WSO 310之间,用于耦合至TMC的所有IP模块。所有IP模块的LTCR可以串联耦合,并且可以通过经过所有LTCR顺次偏移数据来加载。这种模式允许将柔性接口212用作纯串行测试控制寄存器。
为了寻址所有IP模块,地址总线可以针对所有IP模块设置为默认地址。例如,默认地址可以对应于0。比较器可以确定IP模块是否正在通过其默认地址被寻址并且相应地耦合LTCR。任选地,测试控制总线可以被设置为其默认值以表示将发生的串行加载。
在没有加载总线的情况下,它们可以恢复到默认地址,例如0。
在所有LTCR的串行加载的一个示例中,可以进行以下步骤:
1.应用重置;
2.在移除重置之后,所有柔性接口212LTCR串联并且可以通过FI-TMC 201加载。
串行加载被寻址LTCR和旁路其他LTCR:
在该实施例中,被选择的LTCR可以被串行加载,同时剩余的LTCR被旁路。地址总线确定一个或多个IP模块的LTCR将被耦合在WSI 309和WSO 310之间,同时在剩余IP模块中,旁路寄存器耦合在WSI 309和WSO 310之间。
在该实施例中,在将被加载的一个或多个IP模块之间共享的地址被施加至地址总线。对于每个IP模块,比较器确定地址总线上的地址是否与地址寄存器303中的地址相匹配。如果匹配,则该柔性接口的LTCR就耦合在WSI 309和WSO 310之间。如果地址不匹配,则旁路寄存器304耦合在WSI 309和WSO 310之间。
然后,用于耦合的LTCR的数据可以串行偏移通过WSI。
在一个示例中,可以发生以下步骤:
该模式允许将柔性接口用作局部TCR以执行串行加载中的测试,但是仅加载特定IP模块的LTCR。例如当特定的测试信号配置没有被预测(该配置不存在宏指令)和/或用于调试时,可以使用该模式。
1.应用重置;
2.在移除重置之后,加载ADD REG(参见表格1),将唯一的地址放在将被测试的柔性接口212上。如果同时需要测试多于一个的IP模块,则必须针对这些IP的FI加载相同的地址;
3.将测试地址总线设置为与想要的IP模块匹配的地址;
4.串行加载被寻址的柔性接口的LTCR;
5.重复步骤3和4以加载其他LTCR和/或执行其他测试。
加载地址寄存器:
在实施例中,地址总线上的值可以确定寄存器将耦合在WSI 309和WSO 310之间。在该示例中,地址总线确定地址寄存器将耦合在WSI 309和WSO 310之间。
在该操作模式中,包装器柔性接口的地址寄存器串行耦合,并且经由WSI 309通过地址信息的偏移来填充。地址总线204上的地址可以对应于地址寄存器的地址。例如,在一个实施例中,可以通过诸如h’3F的预留地址来寻址地址寄存器。测试控制总线不需要保持值。
比较逻辑302可以接收地址寄存器的预留地址并且将输入提供值多路复用器307,以在WSI 309和WSO 310之间耦合地址寄存器303。然后,对应于IP模块或柔性接口的地址的串行数据可以串联偏移通过地址寄存器,以在地址存储器303中存储IP模块或接口的地址。
应该理解,可以通过IP模块的测试器来分配包装器柔性接口212的地址寄存器中存储的地址。地址寄存器可以存储0的默认地址。如果它们在解码模式时一起被并行测试的话,一个或多个FI 212可以加载相同的地址。
响应于接口上的重置操作,保持在地址寄存器303中的地址可以被重置为0。
例如,如果没有地址被加载到地址寄存器,则地址总线上的默认地址(例如,0)将寻址TMC的所有IP模块。在这种情况下,控制总线205上的每个指令都将被传输至所有IP模块。这被认为是操作的广播模式,并且例如被诸如基于ATPG的测试或MemBIST测试的测试使用。
解码:
在该模式中,特定IP模块的局部测试控制寄存器可以通过发送用于并行配置LTCR的测试指令来配置。换句话说,在该实施例中,数据不是必须顺次偏移到局部测试控制寄存器中。在两个IP模块共享地址的情况下,它们的局部测试控制寄存器可以被并行加载。
在这种情况下,地址总线承载被一个或多个IP模块共享的地址。地址总线确定哪个寄存器被耦合至WSO 310,并且在这种情况下,每个被寻址的解码器212的LTCR 306都耦合至WSO 310。
测试控制形状承载与将执行的测试的配置相关的指令。解码逻辑301可以解码指令以确定LTCR 306的配置并利用相关数据加载LTCR 306。
在多于一个的IP模块共享地址的示例中,每个被寻址的IP模块都在测试控制总线上接收指令,并且它们的对应解码器31相应地配置它们的LTCR。
在解码操作的一个示例中,可以执行以下步骤:
1.应用重置;
2.在移除重置之后,加载将唯一的地址放在被测试的IP的FSI上的ADDR REG;
3.将测试地址总线设置为与想要的IP/IPs匹配的地址;
4.将测试控制总线设置为有效指令以执行想要的测试;
5.重复步骤4以对相同的IP/IPs执行更多的测试,或者重复步骤3和4以对不同的IP执行更多的测试。
可以存在附加的广播模式,其中可以对系统中的所有柔性接口212并行地发送指令。在这种情况下,默认地址可用于寻址所有柔性接口,例如地址总线上的0。在一些实施例中,地址可以恢复到0,如果其不被加载的话。地址寄存器中的默认值可以在重置之后恢复到0。
默认地址可用于利用控制总线上的控制指令寻址所有柔性接口。
在一个示例中,可以按照以下步骤实施广播模式:
1.应用重置;
2.在移除重置之后,将想要的指令放在测试控制总线上(加载适当的柔性接口LTCR寄存器),然后测试开始;
3.对将执行的任何其他广播测试重复步骤#2。
加载备用寄存器:
该模式与加载地址寄存器的相似之处在于,通过预留地址寻址特定的寄存器。在这种情况下,地址总线可以承载用于备用寄存器的预留地址,并且柔性接口212的备用寄存器可以串联耦合。
然后,数据可以顺次偏移到寄存器中。
应该理解,在实施例中,地址可以被分配给IP模块,并且数据被加载到柔性接口中多次。例如,每当引导测试时都可以执行这种操作。
还应该理解,提到了前面的芯片上和芯片外。这里,芯片是指集成电路或者形成系统的相关集成电路的总和。例如,芯片上系统可以不是单个集成电路,而是可以由两个以上的同伴芯片组成的。
上述各个实施例可以组合以提供又一些实施例。根据上面的详细描述,可以对实施例进行这些和其他变化。通常,在以下权利要求中,所使用的术语不应构造为将权利要求限制为说明书和权利要求中公开的具体实施例,而是应该构造为包括所有可能的实施例以及权利要求提及的所有等效范围。因此,权利要求不被公开限制。

Claims (22)

1.一种电子系统,包括:
多个核,设置在一个或多个同伴芯片上,每个核均包括:
地址线;
核电路装置;以及
测试接口,执行与所述核电路装置相关联的测试,所述测试接口具有被配置为保持所述核的地址的地址寄存器和地址确定电路装置,所述地址确定电路装置被配置为:
将在所述地址线上接收的地址与保持在所述地址寄存器中的地址进行比较;
基于所述比较确定所述核是否正在被寻址;并且
基于在所述地址线上接收的所述地址是否被确定为与保持在所述地址寄存器中的所述地址匹配,通过使多个寄存器中的一个或多个寄存器被耦合在串行测试数据输入和串行测试数据输出之间来配置所述接口。
2.根据权利要求1所述的系统,其中所述地址线是并行输入。
3.根据权利要求1所述的系统,其中所述多个寄存器中的一个寄存器是旁路寄存器。
4.根据权利要求3所述的系统,其中当确定在所述地址线上接收的所述地址与保持在所述地址寄存器中的地址不匹配时,所述旁路寄存器耦合在所述测试数据输入和所述测试数据输出之间。
5.根据权利要求1至4中任一项所述的系统,其中所述多个寄存器中的一个寄存器是局部测试控制寄存器。
6.根据权利要求5所述的系统,其中当确定在所述地址线上接收的所述地址与保持在所述地址寄存器中的地址匹配时,所述局部测试控制寄存器耦合在所述测试数据输入和所述测试数据输出之间。
7.根据权利要求1至4中任一项所述的系统,其中所述测试接口还包括:
控制线;以及
解码器,所述解码器被布置为解码所述控制线上的指令并且被布置为根据所述指令来配置所述局部测试控制寄存器。
8.根据权利要求7所述的系统,其中当第一核的解码器确定所述控制线上的指令是无效的且所述第一核的地址确定电路装置确定所述第一核正在被寻址时,所述第一核的所述局部测试控制寄存器耦合在相应的测试数据输入和测试数据输出之间。
9.根据权利要求7所述的系统,其中当第一核的解码器确定所述控制线上的指令是有效的且所述第一核的地址确定电路装置确定所述第一核正在被寻址时,所述指令被解码,并且根据所述指令加载所述局部测试控制寄存器。
10.根据权利要求1至4中任一项所述的系统,其中每个核均包括用于执行所述系统的至少一种功能的电路装置的模块。
11.一种用于在系统中执行测试的方法,所述系统包括设置在一个或多个同伴芯片上的多个核,所述方法包括:
将在地址线上接收的地址与保持在测试接口的地址寄存器中的地址进行比较;
基于所述比较,确定所述多个核中的核是否正在被寻址;
基于在所述地址线上接收的所述地址是否被确定为与保持在所述地址寄存器中的所述地址匹配,使多个寄存器中的一个或多个寄存器被耦合在串行测试数据输入和串行测试数据输出之间;以及
响应于所述确定,配置所述测试接口以执行与所述核的核电路装置相关联的测试操作。
12.根据权利要求11所述的方法,还包括:
确定在所述地址线上接收的地址与保持在所述地址寄存器中的地址不匹配;以及
响应于所述确定,响应于此将旁路寄存器耦合在所述测试数据输入和所述测试数据输出之间。
13.根据权利要求11至12中任一项所述的方法,还包括:
确定在所述地址线上接收的地址与保持在所述地址寄存器中的地址匹配;以及
响应于所述确定,将局部测试控制寄存器耦合在所述测试数据输入和所述测试数据输出之间。
14.根据权利要求13所述的方法,还包括:
解码控制线上的指令;以及
根据所述指令配置所述局部测试控制寄存器。
15.根据权利要求11至12中任一项所述的方法,还包括:
确定所述核的控制线上的指令是无效的;以及
当确定所述核正在被寻址时,将第一核的局部测试控制寄存器耦合在所述测试数据输入和所述测试数据输出之间。
16.根据权利要求11所述的方法,还包括:
确定所述核的控制线上的指令是有效的;以及
当确定所述核正在被寻址时,响应于所述确定解码所述指令;以及
根据所述指令加载所述局部测试控制寄存器。
17.一种测试接口,执行与可配置为系统中的多个核中的一个的核的核电路装置相关联的测试,所述系统设置在一个或多个同伴芯片上,所述接口包括:
地址线输入;
地址寄存器,被配置为保持所述核的地址;
地址确定电路装置,被配置为将在所述地址线输入处接收的地址与保持在所述地址寄存器中的地址进行比较以确定所述核是否正在被寻址,并且所述地址确定电路装置被配置为基于在所述地址线上接收的所述地址是否被确定为与保持在所述地址寄存器中的所述地址匹配,使多个寄存器中的一个或多个寄存器被耦合在串行测试数据输入和串行测试数据输出之间。
18.根据权利要求17所述的测试接口,还包括:
测试控制线;
局部测试控制寄存器;以及
解码器,被配置为当所述核正在被寻址时,解码在所述测试控制线上接收的指令,并且被配置为根据所述指令加载所述局部测试控制寄存器。
19.根据权利要求17或18所述的测试接口,其中所述测试接口被配置为根据IEEE 1149(JTAG)标准或用于嵌入式核测试的IEEE 1500标准执行至少一些通信。
20.根据权利要求17或18所述的测试接口,其中所述解码器包括:
测试数据输出;
旁路寄存器;
选择电路装置,被配置为将来自至少一个所选寄存器的数据传递至所述测试数据输出;以及
重新定时电路装置,配置在所述选择电路装置和所述测试数据输出之间。
21.一种用于形成系统的一部分的核,所述系统包括设置在一个或多个同伴芯片上的多个核,所述核包括:
核电路装置;以及
测试接口,用于执行与所述核电路装置相关的测试;所述测试接口包括:
地址寄存器,被配置为保持所述核的地址;和
地址确定电路装置,被配置为将地址线上接收的地址与保持在所述地址寄存器中的地址进行比较以确定核是否正在被寻址,并且配置所述接口以响应于所述确定执行测试操作,
其中通过选择耦合在串行测试数据输入和串行测试数据输出之间的多个寄存器中的一个或多个寄存器来配置所述接口。
22.一种电子系统,包括设置在一个或多个同伴芯片上的多个核,每个核均包括:
核电路装置;以及
测试接口,用于执行与所述核电路装置相关的测试;所述测试接口包括:
地址寄存器,用于保持所述核的地址;
局部测试控制寄存器;和
解码器,被配置为如果地址线上接收的地址与保持在所述地址寄存器中的地址匹配,则接收测试控制线上的指令并根据所述指令配置所述局部测试控制寄存器,
其中通过选择耦合在串行测试数据输入和串行测试数据输出之间的多个寄存器中的一个或多个寄存器来配置所述接口。
CN201480049516.3A 2013-10-03 2014-10-03 柔性接口 Active CN105518475B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1317512.0 2013-10-03
GB1317512.0A GB2518866A (en) 2013-10-03 2013-10-03 Flexible interface
PCT/EP2014/071246 WO2015049374A1 (en) 2013-10-03 2014-10-03 Flexible interface

Publications (2)

Publication Number Publication Date
CN105518475A CN105518475A (zh) 2016-04-20
CN105518475B true CN105518475B (zh) 2019-09-10

Family

ID=49630135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480049516.3A Active CN105518475B (zh) 2013-10-03 2014-10-03 柔性接口

Country Status (5)

Country Link
US (2) US20160216327A1 (zh)
EP (1) EP3047289B1 (zh)
CN (1) CN105518475B (zh)
GB (1) GB2518866A (zh)
WO (1) WO2015049374A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112014006751T5 (de) * 2014-06-19 2017-03-23 X-Fab Semiconductor Foundries Ag Schlankes serielles Interface für ein Wrapper-Boundary-Register (vorrichtung und Verfahren)
CN107393593B (zh) * 2017-06-29 2020-09-01 记忆科技(深圳)有限公司 一种基于扫描链的芯片问题定位的方法
CN107679008A (zh) * 2017-10-17 2018-02-09 郑州云海信息技术有限公司 一种优化用户接口的ip核及优化ip用户接口的方法
US11907088B2 (en) * 2021-12-15 2024-02-20 Synopsys, Inc. Testing of hardware queue systems using on device test generation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555491A (zh) * 2001-09-20 2004-12-15 �ʼҷ����ֵ��ӹɷ����޹�˾ 电子装置
CN102103535A (zh) * 2011-03-07 2011-06-22 北京大学深圳研究生院 多核处理器、多核处理器的调试系统和调试方法
CN102880536A (zh) * 2012-09-07 2013-01-16 杭州中天微系统有限公司 一种多核处理器的jtag调试方法
CN103149529A (zh) * 2013-03-08 2013-06-12 龙芯中科技术有限公司 多核处理器及其测试方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328387B2 (en) * 2004-12-10 2008-02-05 Texas Instruments Incorporated Addressable tap domain selection circuit with selectable ⅗ pin interface
US5325368A (en) * 1991-11-27 1994-06-28 Ncr Corporation JTAG component description via nonvolatile memory
JP3287539B2 (ja) * 1996-11-13 2002-06-04 富士通株式会社 テスト機構を有する処理システム
US5915123A (en) * 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6032279A (en) * 1997-11-07 2000-02-29 Atmel Corporation Boundary scan system with address dependent instructions
US6560734B1 (en) * 1998-06-19 2003-05-06 Texas Instruments Incorporated IC with addressable test port
US20040006729A1 (en) * 2002-07-03 2004-01-08 Pendurkar Rajesh Y. Hierarchical test methodology for multi-core chips
US7900099B2 (en) * 2005-01-25 2011-03-01 Micron Technology, Inc. Enabling test modes of individual integrated circuit devices out of a plurality of integrated circuit devices
US7627794B2 (en) * 2006-05-25 2009-12-01 Mips Technologies, Inc. Apparatus and method for discrete test access control of multiple cores
US20080028263A1 (en) * 2006-07-25 2008-01-31 Noemi Fernandez Apparatus and method for protection of JTAG scan chains in a microprocessor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555491A (zh) * 2001-09-20 2004-12-15 �ʼҷ����ֵ��ӹɷ����޹�˾ 电子装置
CN102103535A (zh) * 2011-03-07 2011-06-22 北京大学深圳研究生院 多核处理器、多核处理器的调试系统和调试方法
CN102880536A (zh) * 2012-09-07 2013-01-16 杭州中天微系统有限公司 一种多核处理器的jtag调试方法
CN103149529A (zh) * 2013-03-08 2013-06-12 龙芯中科技术有限公司 多核处理器及其测试方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ADDRESSABLE TEST PORTS AN APPROACH TO TESTING ENBEDDED CORES;Lee Whetsel;《IEEE International Test Conference IEEE Computer Society》;19990901;参见第1055-1057页及图1-6

Also Published As

Publication number Publication date
GB201317512D0 (en) 2013-11-20
WO2015049374A1 (en) 2015-04-09
EP3047289B1 (en) 2019-12-18
EP3047289A1 (en) 2016-07-27
US20210374023A1 (en) 2021-12-02
US20160216327A1 (en) 2016-07-28
GB2518866A (en) 2015-04-08
CN105518475A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
US7484188B2 (en) On-chip test circuit and method for testing of system-on-chip (SOC) integrated circuits
US8127187B2 (en) Method and apparatus of ATE IC scan test using FPGA-based system
KR102066661B1 (ko) 스캔-체인으로 연결된 플립-플롭들의 값들을 jtag 인터페이스를 이용하여 재구성할 수 있는 집적 회로, 이의 동작 방법, 및 상기 집적 회로를 포함하는 장치들
CN101329385B (zh) 一种片上系统的调测系统、调测方法以及片上系统
CN207965049U (zh) 用于将tap信号耦合到集成电路封装中的jtag接口的电路
US8549368B1 (en) Memory built-in-self testing in multi-core integrated circuit
CN105518475B (zh) 柔性接口
WO2006039637A1 (en) Assertion checking in integrated circuits
JP2009533691A (ja) 試験アクセス・ポート・スイッチ
US10591537B2 (en) Sleek serial interface for a wrapper boundary register (device and method)
US9213062B2 (en) Addressable tap address, state monitor, decode and TMS gating circuitry
Vo et al. Design for board and system level structural test and diagnosis
CN106291313A (zh) 用于测试集成电路的方法和设备
US7313745B1 (en) Decoder for pin-based scan test
US7890824B2 (en) Asynchronous communication apparatus using JTAG test data registers
US9672094B1 (en) Interconnect circuitry fault detection
CN109065093A (zh) 片上存储器测试电路及方法
US7610532B2 (en) Serializer/de-serializer bus controller interface
CN109425823B (zh) Jtag接口中的顺序测试访问端口选择
US7949918B2 (en) Asynchronous communication using standard boundary architecture cells
Lo et al. STEAC: A platform for automatic SOC test integration
JP2004212395A (ja) 集積回路用の組込み自己テスト階層

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant