CN117827560A - Chip interface and testing method thereof - Google Patents
Chip interface and testing method thereof Download PDFInfo
- Publication number
- CN117827560A CN117827560A CN202311700750.5A CN202311700750A CN117827560A CN 117827560 A CN117827560 A CN 117827560A CN 202311700750 A CN202311700750 A CN 202311700750A CN 117827560 A CN117827560 A CN 117827560A
- Authority
- CN
- China
- Prior art keywords
- sequence
- test sequence
- prbs
- test
- comparison
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/221—Detection 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 buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
Description
技术领域Technical Field
本发明涉及测试领域,尤其涉及一种芯片接口及其测试方法。The present invention relates to the field of testing, and in particular to a chip interface and a testing method thereof.
背景技术Background technique
近几年来,摩尔定律逐步放缓,虽然新的硅工艺处理技术依然持续出现,但是其更新周期已经延长了很多。同时半导体工业领域还面临成本、算力等其他的挑战。芯粒(die)技术是将多个更小的芯粒封装成单一的芯粒,通过多个小芯粒的组合来实现同样的性能。这些小芯粒可以是使用不同工艺节点制造,不同的半导体公司制造,不同的供应商提供,不同的制造材质(硅、砷化镓、碳化硅等)。多个芯粒通过特定设计架构和先进封装技术,集成在一起实现完整功能,能突破目前单一芯片设计的瓶颈。而芯粒技术的关键在于通过统一稳定的互联标准将小芯粒互联互通起来。因此如何对这种精细的互联接口所提供的传输路径进行高效稳定的自测试,已成为一个重要课题。In recent years, Moore's Law has gradually slowed down. Although new silicon process technology continues to emerge, its update cycle has been extended a lot. At the same time, the semiconductor industry is also facing other challenges such as cost and computing power. Die technology is to package multiple smaller die into a single die, and achieve the same performance through the combination of multiple small die. These small die can be manufactured using different process nodes, manufactured by different semiconductor companies, provided by different suppliers, and made of different materials (silicon, gallium arsenide, silicon carbide, etc.). Multiple die are integrated together through specific design architecture and advanced packaging technology to achieve complete functions, which can break through the bottleneck of current single chip design. The key to die technology is to interconnect small die through a unified and stable interconnection standard. Therefore, how to perform efficient and stable self-testing on the transmission path provided by this fine interconnection interface has become an important topic.
发明内容Summary of the invention
基于现有技术的上述问题,本发明提供一种芯片接口,包括:Based on the above problems in the prior art, the present invention provides a chip interface, including:
输入端口,用于接收来自外部测试路径的伪随机二进制PRBS测试序列;An input port for receiving a pseudo-random binary PRBS test sequence from an external test path;
测试序列对比模块,用于将所述输入端口接收的所述PRBS测试序列与所述测试序列对比模块中的标准序列进行对比,并输出比较结果;A test sequence comparison module, used to compare the PRBS test sequence received by the input port with the standard sequence in the test sequence comparison module, and output a comparison result;
测试序列生成模块,用于生成PRBS测试序列;A test sequence generation module, used to generate a PRBS test sequence;
输出端口,用于将所述测试序列生成模块生成的PRBS测试序列输出至外部测试路径。The output port is used to output the PRBS test sequence generated by the test sequence generation module to an external test path.
在一个实施例中,所述测试序列对比模块和所述测试序列生成模块均包括用于生成所述PRBS测试序列的特定PRBS序列生成电路。In one embodiment, the test sequence comparison module and the test sequence generation module both include a specific PRBS sequence generation circuit for generating the PRBS test sequence.
在一个实施例中,所述输出端口还被配置为将从所述输入端口接收的PRBS测试序列输出至外部测试路径。In one embodiment, the output port is further configured to output the PRBS test sequence received from the input port to an external test path.
在一个实施例中,所述芯片接口还包括:In one embodiment, the chip interface further comprises:
接收数据通路,用于接收来自所述输入端口的PRBS测试序列;A receiving data path, for receiving a PRBS test sequence from the input port;
输出数据通路,用于接收来自所述接收数据通路的PRBS测试序列,并经由所述输出端口输出至外部测试路径。The output data path is used to receive the PRBS test sequence from the receiving data path and output it to an external test path via the output port.
在一个实施例中,所述测试序列对比模块包括检测电路,其包括对应于多个通道的多个异或门,每个异或门包括用于接收PRBS测试序列的第一输入端,用于接收标准序列的第二输入端,以及用于将比较结果输出的输出端。In one embodiment, the test sequence comparison module includes a detection circuit, which includes multiple XOR gates corresponding to multiple channels, each XOR gate includes a first input end for receiving a PRBS test sequence, a second input end for receiving a standard sequence, and an output end for outputting a comparison result.
在一个实施例中,所述检测电路还包括:In one embodiment, the detection circuit further includes:
由多个或门组成的或门阵列,包括对应于多个通道的多个输入端,用于接收来自所述多个异或门的比较结果,以及一个输出端,用于输出比较结果。The OR gate array composed of a plurality of OR gates comprises a plurality of input terminals corresponding to a plurality of channels for receiving comparison results from the plurality of XOR gates, and an output terminal for outputting the comparison results.
在一个实施例中,所述芯片接口还包括控制模块,用于接收来自所述检测电路的比较结果,并基于所述比较结果,调整和控制相应的通道。In one embodiment, the chip interface further includes a control module, which is used to receive a comparison result from the detection circuit, and adjust and control a corresponding channel based on the comparison result.
在一个实施例中,所述测试序列对比模块包括特定PRBS序列生成电路,所述测试序列对比模块被配置为:In one embodiment, the test sequence comparison module includes a specific PRBS sequence generation circuit, and the test sequence comparison module is configured to:
将所述测试序列对比模块接收的PRBS测试序列依次存入其寄存器中;The PRBS test sequence received by the test sequence comparison module is stored in its register in sequence;
对比所述寄存器中的PRBS测试序列是否与预存储的对比序列一致;Comparing whether the PRBS test sequence in the register is consistent with a pre-stored comparison sequence;
将所述寄存器中的PRBS测试序列初始化为对比序列,所述测试序列对比模块中的特定PRBS序列生成电路基于所述对比序列、PRBS函数以及状态机计算得到标准序列;Initializing the PRBS test sequence in the register as a comparison sequence, and the specific PRBS sequence generation circuit in the test sequence comparison module calculates a standard sequence based on the comparison sequence, the PRBS function and the state machine;
在下一个PRBS测试序列数据到达所述测试序列对比模块时,将新接收到的PRBS测试序列与所述标准序列依次进行对比,获得比较结果。When the next PRBS test sequence data arrives at the test sequence comparison module, the newly received PRBS test sequence is compared with the standard sequence in sequence to obtain a comparison result.
本发明还提供一种用于上述芯片接口的测试方法,包括:The present invention also provides a test method for the chip interface, comprising:
将输入端口接收到的来自外部测试路径的PRBS测试序列传输至测试序列对比模块;Transmitting the PRBS test sequence received from the external test path at the input port to the test sequence comparison module;
所述测试序列对比模块将接收的PRBS测试序列与所述测试序列对比模块中的标准序列进行对比,并输出比较结果。The test sequence comparison module compares the received PRBS test sequence with the standard sequence in the test sequence comparison module and outputs a comparison result.
在一个实施例中,所述测试序列对比模块将接收的PRBS测试序列与所述测试序列对比模块中的标准序列进行对比,并输出比较结果的步骤还包括:In one embodiment, the test sequence comparison module compares the received PRBS test sequence with the standard sequence in the test sequence comparison module, and the step of outputting the comparison result further includes:
将所述测试序列对比模块接收的PRBS测试序列依次存入其寄存器中;The PRBS test sequence received by the test sequence comparison module is stored in its register in sequence;
对比所述寄存器中的PRBS测试序列是否与预存储的对比序列一致;Comparing whether the PRBS test sequence in the register is consistent with a pre-stored comparison sequence;
将所述寄存器中的PRBS测试序列初始化为对比序列,所述测试序列对比模块中的特定PRBS序列生成电路基于所述对比序列、PRBS函数以及状态机计算得到标准序列;Initializing the PRBS test sequence in the register as a comparison sequence, and the specific PRBS sequence generation circuit in the test sequence comparison module calculates a standard sequence based on the comparison sequence, the PRBS function and the state machine;
在下一个PRBS测试序列数据到达所述测试序列对比模块时,将新接收到的PRBS测试序列与所述标准序列依次进行对比,获得比较结果。When the next PRBS test sequence data arrives at the test sequence comparison module, the newly received PRBS test sequence is compared with the standard sequence in sequence to obtain a comparison result.
本发明中的芯片接口及其测试方法,使用随机序列作为测试序列,不需要测试序列的完整性,使用PRBS测试序列避免了包头包尾错误,容错率较高,提高了准确度;在产生PRBS测试序列的过程中,随时都能进行测试;测试方法更简单,不用预先储存更长的测试序列和标准序列,节省面积,且操作灵活,对测试序列没有严格要求。The chip interface and the test method thereof in the present invention use a random sequence as a test sequence, do not need to test the integrity of the sequence, use a PRBS test sequence to avoid packet header and packet tail errors, have a high fault tolerance rate, and improve accuracy; in the process of generating a PRBS test sequence, the test can be performed at any time; the test method is simpler, does not need to pre-store longer test sequences and standard sequences, saves area, and is flexible in operation, and has no strict requirements on the test sequence.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1示出了根据本发明一个实施例的芯片接口结构的示意图。FIG. 1 is a schematic diagram showing a chip interface structure according to an embodiment of the present invention.
图2A示出了根据本发明一个实施例的近端通路回环的示意图。FIG. 2A is a schematic diagram showing a proximal pathway loop according to an embodiment of the present invention.
图2B示出了根据本发明一个实施例的远端通路回环的示意图。FIG. 2B is a schematic diagram showing a far-end pathway loopback according to an embodiment of the present invention.
图3A示出了根据本发明一个实施例的单通道检测电路的示意图。FIG. 3A shows a schematic diagram of a single-channel detection circuit according to an embodiment of the present invention.
图3B示出了根据本发明一个实施例的多通道检测电路的示意图。FIG. 3B shows a schematic diagram of a multi-channel detection circuit according to an embodiment of the present invention.
图4示出了一个PRBS 7码生成电路的示意图。FIG4 shows a schematic diagram of a PRBS 7 code generation circuit.
图5示出了根据本发明一个实施例的将接收的PRBS序列与标准序列进行对比的方法的流程图。FIG5 shows a flow chart of a method for comparing a received PRBS sequence with a standard sequence according to an embodiment of the present invention.
图6示出了根据本发明一个实施例的芯片接口自测试方法的流程图。FIG. 6 shows a flow chart of a chip interface self-test method according to an embodiment of the present invention.
具体实施方式Detailed ways
为了使本发明的目的、技术方案以及优点更加清楚明白,下面将结合附图通过具体实施例对本发明作进一步详细说明。应当注意,本发明给出的实施例仅用于说明,而不限制本发明的保护范围。In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention will be further described in detail below through specific embodiments in conjunction with the accompanying drawings. It should be noted that the embodiments given in the present invention are only for illustration and do not limit the protection scope of the present invention.
图1示出了根据本发明一个实施例的芯片接口结构的示意图。在本发明中,术语“芯片”使用其广泛定义,用于包括封装(socket),晶粒(die)以及芯粒(chiplet)等。芯片包括正常工作模式以及自测试模式,在正常工作模式期间,芯片之间传输其正常工作所需的通信数据;在自测试模式期间,芯片之间停止传输正常工作所需的通信数据,而是传输用于测试芯片接口的数据。如图1所示,用于自测试的芯片接口结构包括彼此耦合的位于第一芯片上的第一接口100以及位于第二芯片上的第二接口200。第一接口100与第二接口200通过受测路径1和受测路径2进行连接。受测路径1和受测路径2可以包括N(N为正整数)个通道,能够传输N位宽的数据。FIG1 shows a schematic diagram of a chip interface structure according to an embodiment of the present invention. In the present invention, the term "chip" is used in its broad definition to include a package (socket), a die, and a chiplet, etc. The chip includes a normal working mode and a self-test mode. During the normal working mode, the chips transmit communication data required for their normal working; during the self-test mode, the chips stop transmitting communication data required for normal working, but transmit data for testing the chip interface. As shown in FIG1, the chip interface structure for self-test includes a first interface 100 located on a first chip and a second interface 200 located on a second chip, which are coupled to each other. The first interface 100 and the second interface 200 are connected through a tested path 1 and a tested path 2. The tested path 1 and the tested path 2 may include N (N is a positive integer) channels, which can transmit N-bit wide data.
第一接口100包括第一输出数据通路102,用于在正常工作模式期间输出芯片间通信数据,在自测试模式期间可通过第一控制模块104禁用该数据通路;第一测试序列生成模块103,用于在自测试模式期间生成测试序列;第一输出端口101,用于输出来自第一输出数据通路102或第一测试序列生成模块103的数据;多路复用器110用于接收来自第一输出数据通路102和第一测试序列生成模块103的数据,并在第一控制模块104的控制下,选择性地输出第一输出数据通路102或第一测试序列生成模块103的数据;第一输入端口107,用于经由N位宽的受测路径2接收来自第二接口200的第二输出端口201的数据并将该数据输出至第一接收数据通路105或第一测试序列对比模块106;第一接收数据通路105用于在正常工作模式期间接收芯片间通信数据,可通过第一控制模块104禁用该数据通路;第一测试序列对比模块106用于在自测试模式期间将从第一输入端口107接收的测试序列与标准序列进行对比,并输出比较结果;第一控制模块104用于控制第一接口100中各模块的协同工作,为清楚起见,没有示出第一控制模块104与各个模块之间的连接线。The first interface 100 includes a first output data path 102, which is used to output inter-chip communication data during a normal working mode, and the data path can be disabled by a first control module 104 during a self-test mode; a first test sequence generation module 103, which is used to generate a test sequence during the self-test mode; a first output port 101, which is used to output data from the first output data path 102 or the first test sequence generation module 103; a multiplexer 110 is used to receive data from the first output data path 102 and the first test sequence generation module 103, and under the control of the first control module 104, selectively output the data from the first output data path 102 or the first test sequence generation module 103; a first input port 107, used for receiving data from the second output port 201 of the second interface 200 via the N-bit wide tested path 2 and outputting the data to the first receiving data path 105 or the first test sequence comparison module 106; the first receiving data path 105 is used for receiving chip-to-chip communication data during the normal working mode, and the data path can be disabled by the first control module 104; the first test sequence comparison module 106 is used for comparing the test sequence received from the first input port 107 with the standard sequence during the self-test mode, and outputting the comparison result; the first control module 104 is used for controlling the coordinated operation of the modules in the first interface 100. For the sake of clarity, the connection lines between the first control module 104 and the modules are not shown.
在一个实施例中,第一输入端口107和第一输出端口101之间存在数据通路(图1中未示出),第一控制模块104控制该数据通路的通断。例如,第一输入端口107和第一输出端口101之间连接有多路复用器,第一控制模块104控制该多路复用器进而控制第一输入端口107和第一输出端口101之间的数据传输。In one embodiment, there is a data path (not shown in FIG. 1 ) between the first input port 107 and the first output port 101, and the first control module 104 controls the on and off of the data path. For example, a multiplexer is connected between the first input port 107 and the first output port 101, and the first control module 104 controls the multiplexer to further control the data transmission between the first input port 107 and the first output port 101.
在一个实施例中,第一输出数据通路102和第一接收数据通路105之间存在数据通路(图1中未示出),第一控制模块104控制该数据通路的通断。例如,第一输出数据通路102和第一接收数据通路105之间连接有多路复用器,第一控制模块104控制该多路复用器进而控制第一输出数据通路102和第一接收数据通路105之间的数据传输。In one embodiment, there is a data path (not shown in FIG. 1 ) between the first output data path 102 and the first receiving data path 105 , and the first control module 104 controls the on and off of the data path. For example, a multiplexer is connected between the first output data path 102 and the first receiving data path 105 , and the first control module 104 controls the multiplexer to further control the data transmission between the first output data path 102 and the first receiving data path 105 .
第二接口200包括第二输入端口207,用于经由N位宽的受测路径1接收来自第一输出端口101的数据并将该数据输出至第二接收数据通路205或第二测试序列对比模块206;第二接收数据通路205用于在正常工作模式期间接收芯片间通信数据,可通过第二控制模块204禁用该数据通路;第二测试序列对比模块206用于在自测试模式期间将从第二输入端口207接收的来自第一测试序列生成模块103的测试序列与标准序列进行对比,并输出比较结果。第二输出数据通路202,用于在正常工作模式期间输出芯片间通信数据,在自测试模式期间可通过第二控制模块204禁用该数据通路;第二测试序列生成模块203,用于生成测试序列;第二输出端口201,其耦合至第一输入端口107,用于输出来自第二输出数据通路202或第二测试序列生成模块203的数据;多路复用器210用于接收来自第二输出数据通路202和第二测试序列生成模块203的数据,并在第二控制模块204的控制下,选择性地输出第二输出数据通路202或第二测试序列生成模块203的数据;第二控制模块204用于控制第二接口200中各模块的协同工作,为清楚起见,没有示出第二控制模块204与各个模块之间的连接线。The second interface 200 includes a second input port 207, which is used to receive data from the first output port 101 via the N-bit wide tested path 1 and output the data to the second receiving data path 205 or the second test sequence comparison module 206; the second receiving data path 205 is used to receive inter-chip communication data during the normal operating mode, and the data path can be disabled by the second control module 204; the second test sequence comparison module 206 is used to compare the test sequence received from the second input port 207 from the first test sequence generation module 103 with the standard sequence during the self-test mode, and output the comparison result. The second output data path 202 is used to output inter-chip communication data during normal working mode, and the data path can be disabled by the second control module 204 during self-test mode; the second test sequence generation module 203 is used to generate a test sequence; the second output port 201 is coupled to the first input port 107, and is used to output data from the second output data path 202 or the second test sequence generation module 203; the multiplexer 210 is used to receive data from the second output data path 202 and the second test sequence generation module 203, and under the control of the second control module 204, selectively outputs the data from the second output data path 202 or the second test sequence generation module 203; the second control module 204 is used to control the coordinated operation of the modules in the second interface 200. For the sake of clarity, the connecting lines between the second control module 204 and the modules are not shown.
在一个实施例中,第二输入端口207和第二输出端口201之间存在数据通路(图1中未示出),第二控制模块204控制该数据通路的通断。例如,第二输入端口207和第二输出端口201之间连接有多路复用器,第二控制模块204控制该多路复用器进而控制第二输入端口207和第二输出端口201之间的数据传输。In one embodiment, there is a data path (not shown in FIG. 1 ) between the second input port 207 and the second output port 201, and the second control module 204 controls the on and off of the data path. For example, a multiplexer is connected between the second input port 207 and the second output port 201, and the second control module 204 controls the multiplexer to further control the data transmission between the second input port 207 and the second output port 201.
在一个实施例中,第二输出数据通路202和第二接收数据通路205之间存在数据通路(图1中未示出),第二控制模块204控制该数据通路的通断。例如,第二输出数据通路202和第二接收数据通路205之间连接有多路复用器,第二控制模块204控制该多路复用器进而控制第二输出数据通路202和第二接收数据通路205之间的数据传输。In one embodiment, there is a data path (not shown in FIG. 1 ) between the second output data path 202 and the second receiving data path 205 , and the second control module 204 controls the on and off of the data path. For example, a multiplexer is connected between the second output data path 202 and the second receiving data path 205 , and the second control module 204 controls the multiplexer to control the data transmission between the second output data path 202 and the second receiving data path 205 .
在图1中,第一接口100还包括时钟模块-第一占空比校正电路(DCC)108和第一迟锁定环路(DLL)109,第二接口200还包括时钟模块-第二DCC 208和第二DLL 209。第一DCC108和第二DLL 209用于提供第一接口100和第二接口200之间的时钟校准,以使得第二接口200能够正确恢复出测试序列。第一DLL 109和第二DCC 208用于提供第一接口100和第二接口200之间的时钟校准,以使得第一接口100能够正确恢复出测试序列。DCC和DLL电路的结构和应用是本领域所公知的,在此不再赘述。In FIG1 , the first interface 100 further includes a clock module-a first duty cycle correction circuit (DCC) 108 and a first delay lock loop (DLL) 109, and the second interface 200 further includes a clock module-a second DCC 208 and a second DLL 209. The first DCC 108 and the second DLL 209 are used to provide clock calibration between the first interface 100 and the second interface 200, so that the second interface 200 can correctly recover the test sequence. The first DLL 109 and the second DCC 208 are used to provide clock calibration between the first interface 100 and the second interface 200, so that the first interface 100 can correctly recover the test sequence. The structure and application of the DCC and DLL circuits are well known in the art and will not be described in detail here.
当接口100,200的输入端口107,207和输出端口101,201之间存在数据通路,接收数据通路105,205和输出数据通路102,202之间也存在数据通路时,每个接口可通过两种测试通路回环进行测试,即近端通路回环和远端通路回环。下面以第二接口200为例进行说明。图2A示出了根据本发明一个实施例的近端通路回环的示意图,其中省略了与近端通路回环无关的部件。如图2A所示,第二控制模块204控制第二输入端口207和第二输出端口201之间的数据通路导通,并控制将测试序列从第二输入端口207直接发送至第二输出端口201,以输出测试序列。图2B示出了根据本发明一个实施例的远端通路回环的示意图,其中省略了与远端通路回环无关的部件。如图2B所示,第二控制模块204控制第二接收数据通路205和第二输出数据通路202之间的数据通路导通,并控制多路复用器210将第二输出数据通路202的数据输出至第二输出端口201。第二控制模块204控制将测试序列从第二输入端口207发送至第二接收数据通路205,经由第二输出数据通路202传输至第二输出端口201,以输出测试序列。远端通路回环能够测试整个芯片间的数据通路是否符合要求。When there is a data path between the input port 107, 207 and the output port 101, 201 of the interface 100, 200, and there is also a data path between the receiving data path 105, 205 and the output data path 102, 202, each interface can be tested through two test path loopbacks, namely, the near-end path loopback and the far-end path loopback. The second interface 200 is used as an example for explanation below. FIG2A shows a schematic diagram of a near-end path loopback according to an embodiment of the present invention, wherein components unrelated to the near-end path loopback are omitted. As shown in FIG2A, the second control module 204 controls the data path between the second input port 207 and the second output port 201 to be turned on, and controls the test sequence to be sent directly from the second input port 207 to the second output port 201 to output the test sequence. FIG2B shows a schematic diagram of a far-end path loopback according to an embodiment of the present invention, wherein components unrelated to the far-end path loopback are omitted. As shown in FIG2B , the second control module 204 controls the data path between the second receiving data path 205 and the second output data path 202 to be connected, and controls the multiplexer 210 to output the data of the second output data path 202 to the second output port 201. The second control module 204 controls the test sequence to be sent from the second input port 207 to the second receiving data path 205, and transmitted to the second output port 201 via the second output data path 202 to output the test sequence. The remote path loopback can test whether the data path between the entire chip meets the requirements.
测试序列对比模块(包括第一测试序列对比模块103和第二测试序列对比模块203)用于在自测试模式期间将接收的测试序列与标准序列进行对比,并输出比较结果。在一个实施例中,测试序列对比模块包括单通道检测电路和/或多通道检测电路,以下以第二测试序列对比模块203为例进行说明。图3A示出了根据本发明一个实施例的单通道检测电路的示意图,如图3A所示,测试序列对比模块用于测试N个传输数据的通道1-N,第一通道1包括异或门C1,具有用于接收测试序列的第一输入端in1,用于接收标准序列的第二输入端in2,以及用于将比较结果输出至第二控制模块204的输出端out。第二控制模块204基于该比较结果,调整和控制第一通道。当测试序列与标准序列数据相同时,异或门C1的输出为0,当测试序列与标准序列数据不同时,异或门C1的输出为1。在一个实施例中,第二控制模块204计算测试序列与标准序列之间的位错率,当该位错率超过一定阈值时,第一通道测试结果为不通过。在一个实施例中,当第二控制模块204连续接收第一数量的数据0,则认为第一通道测试结果为通过。当第二控制模块204没有连续接收第一数量的数据0,则认为第一通道测试结果为不通过。当第一通道测试结果为不通过时,第二控制模块204可以禁用第一通道。在一个实施例中,也可以将比较结果输出至第一控制模块104,第一控制模块104基于该比较结果,调整和控制第一通道。第二通道-第N通道与第一通道类似,在此不再赘述。The test sequence comparison module (including the first test sequence comparison module 103 and the second test sequence comparison module 203) is used to compare the received test sequence with the standard sequence during the self-test mode, and output the comparison result. In one embodiment, the test sequence comparison module includes a single-channel detection circuit and/or a multi-channel detection circuit, and the second test sequence comparison module 203 is used as an example for explanation below. FIG3A shows a schematic diagram of a single-channel detection circuit according to an embodiment of the present invention. As shown in FIG3A, the test sequence comparison module is used to test N channels 1-N for transmitting data, and the first channel 1 includes an XOR gate C1, having a first input terminal in1 for receiving a test sequence, a second input terminal in2 for receiving a standard sequence, and an output terminal out for outputting the comparison result to the second control module 204. The second control module 204 adjusts and controls the first channel based on the comparison result. When the test sequence is the same as the standard sequence data, the output of the XOR gate C1 is 0, and when the test sequence is different from the standard sequence data, the output of the XOR gate C1 is 1. In one embodiment, the second control module 204 calculates the bit error rate between the test sequence and the standard sequence, and when the bit error rate exceeds a certain threshold value, the first channel test result is not passed. In one embodiment, when the second control module 204 continuously receives the first number of data 0s, the first channel test result is considered to be passed. When the second control module 204 does not continuously receive the first number of data 0s, the first channel test result is considered to be not passed. When the first channel test result is not passed, the second control module 204 can disable the first channel. In one embodiment, the comparison result can also be output to the first control module 104, and the first control module 104 adjusts and controls the first channel based on the comparison result. The second channel-the Nth channel is similar to the first channel and will not be repeated here.
图3B示出了根据本发明一个实施例的多通道检测电路的示意图,如图3B所示,测试序列对比模块用于测试N个传输数据的通道1-N,第一通道1包括异或门C1,具有用于接收测试序列的第一输入端in1,用于接收标准序列的第二输入端in2,以及用于输出的输出端out。第二通道-第N通道与第一通道类似,在此不再赘述。该多通道检测电路还包括或门阵列GA,其包括多个或门,用于接收来自N个异或门C1-CN的输出数据,并将该输出数据进行或操作后输出至第二控制模块204。第二控制模块204基于该比较结果,调整和控制N个通道。在一个实施例中,第二控制模块204计算测试序列与标准序列之间的位错率,当该位错率超过一定阈值时,N个通道测试结果为不通过。在一个实施例中,当第二控制模块204连续接收第一数量的数据0,则认为N个通道测试结果为通过。当第二控制模块204没有连续接收第一数量的数据0,则认为N个通道测试结果为不通过。当N个通道测试结果为不通过时,第二控制模块204可以禁用N个通道。在一个实施例中,也可以将比较结果输出至第一控制模块104,第一控制模块104基于该比较结果,调整和控制N个通道。FIG3B shows a schematic diagram of a multi-channel detection circuit according to an embodiment of the present invention. As shown in FIG3B , the test sequence comparison module is used to test N channels 1-N for transmitting data. The first channel 1 includes an XOR gate C1, which has a first input terminal in1 for receiving a test sequence, a second input terminal in2 for receiving a standard sequence, and an output terminal out for output. The second channel-the Nth channel is similar to the first channel and will not be described in detail here. The multi-channel detection circuit also includes an OR gate array GA, which includes a plurality of OR gates, for receiving output data from N XOR gates C1-CN, and outputting the output data to the second control module 204 after performing an OR operation. The second control module 204 adjusts and controls the N channels based on the comparison result. In one embodiment, the second control module 204 calculates the bit error rate between the test sequence and the standard sequence. When the bit error rate exceeds a certain threshold, the test results of the N channels are not passed. In one embodiment, when the second control module 204 continuously receives the first number of data 0s, the test results of the N channels are considered to be passed. When the second control module 204 does not continuously receive the first number of data 0s, the test results of the N channels are considered to be failed. When the test results of the N channels are not passed, the second control module 204 can disable the N channels. In one embodiment, the comparison result can also be output to the first control module 104, and the first control module 104 adjusts and controls the N channels based on the comparison result.
第一测试序列对比模块103与第二测试序列对比模块203电路相同,在此不再赘述。在一个实施例中,在第一接口100与第二接口200建立通讯时,第一接口100通过边带信号告知第二接口200使用单通道或者多通道检测。在单通道检测中,N位宽将有N个通道独立检测。The first test sequence comparison module 103 and the second test sequence comparison module 203 have the same circuit, which will not be described in detail here. In one embodiment, when the first interface 100 and the second interface 200 establish communication, the first interface 100 informs the second interface 200 to use single-channel or multi-channel detection through a sideband signal. In single-channel detection, N-bit width will have N channels for independent detection.
在一个实施例中,测试序列为带有特殊包头包尾的序列,标准序列与测试序列相同。在一个实施例中,第一接口100的第一控制模块104可在测试序列中故意添加至少一位的错误,第二接口200在接收测试序列时,通过与标准序列进行比较,能够准确识别该错误,则测试通过,在这种情况下,当测试序列与标准序列之间的位错率超过一定阈值时,测试结果为不通过。In one embodiment, the test sequence is a sequence with a special header and tail, and the standard sequence is the same as the test sequence. In one embodiment, the first control module 104 of the first interface 100 can intentionally add at least one bit error in the test sequence, and when the second interface 200 receives the test sequence, it can accurately identify the error by comparing it with the standard sequence, and the test passes. In this case, when the bit error rate between the test sequence and the standard sequence exceeds a certain threshold, the test result is a failure.
在一个实施例中,测试序列为伪随机二进制序列(PRBS序列)。PRBS序列具有“随机”特性,在PRBS码流中,二进制数“0”和“1”是随机出现的,但是其与真正意义上的随机码不同,这种“随机”特性只是局部的,即在码流生成函数与初始码确定后,在周期内部,“0”和“1”是随机出现的,但各个PRBS序列周期中的码流却是完全相同的,所以称其为“伪”随机码。PRBS序列生成电路是本领域公知的,图4示出了一个PRBS 7码生成电路的示意图,其包括7个线性反馈移位寄存器401-407和一个异或门408,PRBS码函数为1+X6+X7。PRBS码生成原理是本领域公知的,在此不再赘述。在该实施例中,可基于测试序列对比模块接收的测试序列和PRBS序列生成电路生成标准序列,并将接收的PRBS序列与标准序列进行对比获得比较结果。只需要在对应的测试序列生成模块103,203和测试序列对比模块106,206中包含相同的PRBS序列生成电路即可,不需要存储复杂的标准序列。In one embodiment, the test sequence is a pseudo-random binary sequence (PRBS sequence). The PRBS sequence has a "random" characteristic. In the PRBS code stream, the binary numbers "0" and "1" appear randomly, but it is different from the real random code. This "random" characteristic is only local, that is, after the code stream generation function and the initial code are determined, "0" and "1" appear randomly within the cycle, but the code streams in each PRBS sequence cycle are exactly the same, so it is called a "pseudo" random code. The PRBS sequence generation circuit is well known in the art. FIG4 shows a schematic diagram of a PRBS 7 code generation circuit, which includes 7 linear feedback shift registers 401-407 and an XOR gate 408, and the PRBS code function is 1+X 6 +X 7. The PRBS code generation principle is well known in the art and will not be repeated here. In this embodiment, a standard sequence can be generated based on the test sequence received by the test sequence comparison module and the PRBS sequence generation circuit, and the received PRBS sequence is compared with the standard sequence to obtain a comparison result. It is only necessary to include the same PRBS sequence generation circuit in the corresponding test sequence generation module 103, 203 and the test sequence comparison module 106, 206, and there is no need to store complex standard sequences.
图5示出了根据本发明一个实施例的将接收的PRBS测试序列与标准序列进行对比的方法的流程图,其包括如下步骤:FIG5 shows a flow chart of a method for comparing a received PRBS test sequence with a standard sequence according to an embodiment of the present invention, which comprises the following steps:
步骤501:将测试序列对比模块接收的PRBS测试序列依次存入寄存器中,且其保存位数大于PRBS测试序列一个周期内的比特数。Step 501: The PRBS test sequence received by the test sequence comparison module is stored in the register in sequence, and the number of bits stored is greater than the number of bits in one cycle of the PRBS test sequence.
步骤502:对比寄存器中的PRBS测试序列是否与预存储的对比序列一致。Step 502: Check whether the PRBS test sequence in the comparison register is consistent with the pre-stored comparison sequence.
其中预存储的对比序列是任意的随机序列,因此对比结果通常为不一致。该步骤用于提供初始化的对比,以获得与寄存器中的PRBS测试序列长度相同的对比序列。The pre-stored comparison sequence is an arbitrary random sequence, so the comparison result is usually inconsistent. This step is used to provide an initialized comparison to obtain a comparison sequence with the same length as the PRBS test sequence in the register.
步骤503:将寄存器中的PRBS测试序列初始化为对比序列,测试序列对比模块中的PRBS序列生成电路基于该对比序列、PRBS函数以及状态机能够计算得到后续的PRBS测试序列数据,即标准序列。Step 503: Initialize the PRBS test sequence in the register as a comparison sequence. The PRBS sequence generation circuit in the test sequence comparison module can calculate subsequent PRBS test sequence data, ie, a standard sequence, based on the comparison sequence, the PRBS function and the state machine.
其中,测试序列生成模块与测试序列对比模块具有相同的PRBS序列生成电路。Among them, the test sequence generation module and the test sequence comparison module have the same PRBS sequence generation circuit.
PRBS序列生成电路基于对比序列、PRBS函数以及状态机计算得到后续的PRBS测试序列数据是本领域公知的技术,在此不再赘述。It is a well-known technology in the art that the PRBS sequence generation circuit obtains subsequent PRBS test sequence data based on the comparison sequence, the PRBS function and the state machine calculation, which will not be described in detail here.
步骤504:在下一个PRBS测试序列数据到达测试序列对比模块时,将新接收到的PRBS测试序列数据与标准序列数据依次进行对比,获得比较结果,并将该结果传输至控制模块。Step 504: When the next PRBS test sequence data arrives at the test sequence comparison module, the newly received PRBS test sequence data is compared with the standard sequence data in sequence to obtain a comparison result, and the result is transmitted to the control module.
在一个实施例中,当连续第一数量的数据吻合,则认为PRBS测试结果为通过。如果不存在连续第一数量的数据吻合,或者检测超时,则认为PRBS测试结果为不通过。例如,连续32个比特数据吻合,则认为PRBS测试通过。In one embodiment, when the first number of consecutive data matches, the PRBS test result is considered to be passed. If there is no first number of consecutive data matching, or the detection times out, the PRBS test result is considered to be failed. For example, if 32 consecutive bits of data match, the PRBS test is considered to be passed.
在该方法中,如果初始存入寄存器中的PRBS测试序列存在错误,则计算得到的PRBS测试序列数据会相应错误,将新接收到的PRBS测试序列数据与计算得到的数据依次进行对比时,不存在连续第一数量的数据吻合,PRBS测试不通过。如果初始存入寄存器中的测试序列数据是正确的,则计算得到的测试序列数据也是正确的,如果新接收到的PRBS测试序列数据存在错误,也会导致不存在连续第一数量的数据吻合,PRBS测试不通过。In this method, if the PRBS test sequence initially stored in the register has an error, the calculated PRBS test sequence data will be correspondingly erroneous, and when the newly received PRBS test sequence data is compared with the calculated data in sequence, there is no continuous first number of data matches, and the PRBS test fails. If the test sequence data initially stored in the register is correct, the calculated test sequence data is also correct. If the newly received PRBS test sequence data has an error, it will also result in no continuous first number of data matches, and the PRBS test fails.
在一个实施例中,可以通过人为配置测试序列生成模块中的PRBS生成电路来故意添加至少一位的错误,通过比较测试序列与标准序列,能够准确识别该错误,则认为测试通过。在该实施例中,当PRBS测试序与标准序列之间的位错率超过一定阈值时,测试结果为不通过。In one embodiment, at least one bit error can be intentionally added by artificially configuring the PRBS generation circuit in the test sequence generation module. By comparing the test sequence with the standard sequence, if the error can be accurately identified, the test is considered to have passed. In this embodiment, when the bit error rate between the PRBS test sequence and the standard sequence exceeds a certain threshold, the test result is a failure.
在另一实施例中,可通过相同的PRBS序列生成电路生成与PRBS测试序列相同的标准序列,并将PRBS测试序列与标准序列进行对比。In another embodiment, the same standard sequence as the PRBS test sequence may be generated by the same PRBS sequence generating circuit, and the PRBS test sequence may be compared with the standard sequence.
使用PRBS序列测试的优点在于避免了包头包尾错误,容错率较高,提高了准确度;在产生PRBS序列的过程中,随时都能进行测试;测试方法更简单,不用预先储存更长的序列,节省面积,更灵活,对序列没有严格要求。The advantages of using PRBS sequence testing are that it avoids packet header and packet tail errors, has a higher fault tolerance rate, and improves accuracy; testing can be performed at any time during the process of generating the PRBS sequence; the test method is simpler, there is no need to pre-store longer sequences, it saves area, is more flexible, and has no strict requirements on the sequence.
以下以PRBS序列为例,具体说明本发明的芯片接口自测试方法。本发明提供了一种芯片接口自测试方法,图6示出了根据本发明一个实施例的芯片接口自测试方法的流程图。结合图1和图6,该芯片接口自测试方法包括以下步骤:The following uses a PRBS sequence as an example to specifically illustrate the chip interface self-test method of the present invention. The present invention provides a chip interface self-test method, and FIG6 shows a flow chart of the chip interface self-test method according to an embodiment of the present invention. In conjunction with FIG1 and FIG6, the chip interface self-test method includes the following steps:
步骤601:确认第一接口100和第二接口200互相连接。即确认第一接口100的第一输出端口101连接至第二接口200的第二输入端口207和/或第一接口100的第一输入端口107连接至第二接口200的第二输出端口201。Step 601 : confirm that the first interface 100 and the second interface 200 are connected to each other, that is, confirm that the first output port 101 of the first interface 100 is connected to the second input port 207 of the second interface 200 and/or the first input port 107 of the first interface 100 is connected to the second output port 201 of the second interface 200 .
在一个实施例中,第一控制模块104从外部获得指令后,确认第一接口100与第二接口200建立连接。In one embodiment, after receiving an instruction from the outside, the first control module 104 confirms that the first interface 100 is connected to the second interface 200 .
在一个实施例中,通过第一接口100的边路信号发送ready信号给第二接口200,或者通过第二接口200的边路信号发送ready信号给第一接口100,以确定第一接口100和第二接口200互相连接。In one embodiment, a ready signal is sent to the second interface 200 via a side signal of the first interface 100, or a ready signal is sent to the first interface 100 via a side signal of the second interface 200, so as to determine that the first interface 100 and the second interface 200 are connected to each other.
在一个实施例中,还需要确认时钟和复位信息。In one embodiment, clock and reset information also needs to be confirmed.
步骤602:控制第一接口100的第一测试序列生成模块103生成PRBS测试序列,并将PRBS测试序列发送至第一接口100的第一输出端口101。Step 602 : Control the first test sequence generation module 103 of the first interface 100 to generate a PRBS test sequence, and send the PRBS test sequence to the first output port 101 of the first interface 100 .
在一个实施例中,第一测试序列生成模块103包含PRBS序列生成电路。In one embodiment, the first test sequence generation module 103 includes a PRBS sequence generation circuit.
步骤603:第二接口200的第二输入端口207接收到该PRBS测试序列后将接收的PRBS测试序列发送至测试序列对比模块,测试序列对比模块将接收的PRBS测试序列与相应的标准序列进行对比,获得比较结果。Step 603: After receiving the PRBS test sequence, the second input port 207 of the second interface 200 sends the received PRBS test sequence to the test sequence comparison module, and the test sequence comparison module compares the received PRBS test sequence with the corresponding standard sequence to obtain a comparison result.
其中,测试序列对比模块包含与第一测试序列生成模块103相同的PRBS序列生成电路。The test sequence comparison module includes the same PRBS sequence generation circuit as the first test sequence generation module 103 .
在一个实施例中,该测试序列对比模块为第二测试序列对比模块206,第二输入端口207将接收的PRBS测试序列发送至第二测试序列对比模块206,第二测试序列对比模块206将接收的PRBS测试序列与相应的标准序列进行对比,以获得比较结果。In one embodiment, the test sequence comparison module is a second test sequence comparison module 206, and the second input port 207 sends the received PRBS test sequence to the second test sequence comparison module 206. The second test sequence comparison module 206 compares the received PRBS test sequence with the corresponding standard sequence to obtain a comparison result.
在一个实施例中,该测试序列对比模块为第一测试序列对比模块106,第二输入端口207将接收的PRBS序列通过近端通路回环或远端通路回环传送至第二输出端口201,第二输出端口201将接收的PRBS序列经由第一接口100的第一输入端口107传送至第一测试序列对比模块106。第一测试序列对比模块106将接收的PRBS测试序列与相应的标准序列进行对比,以获得比较结果。In one embodiment, the test sequence comparison module is the first test sequence comparison module 106, the second input port 207 transmits the received PRBS sequence to the second output port 201 through a proximal path loopback or a distal path loopback, and the second output port 201 transmits the received PRBS sequence to the first test sequence comparison module 106 via the first input port 107 of the first interface 100. The first test sequence comparison module 106 compares the received PRBS test sequence with the corresponding standard sequence to obtain a comparison result.
步骤604:将比较结果发送至第一接口100的第一控制模块104,第一控制模块104基于比较结果调整和控制测试路径,达到测试和纠正的功能。Step 604: Send the comparison result to the first control module 104 of the first interface 100. The first control module 104 adjusts and controls the test path based on the comparison result to achieve the functions of testing and correction.
在一个实施例中,第二测试序列对比模块206生成比较结果,并将比较结果通过边带信号发送至第一接口100的第一控制模块104。In one embodiment, the second test sequence comparison module 206 generates a comparison result, and sends the comparison result to the first control module 104 of the first interface 100 via a sideband signal.
在一个实施例中,第一测试序列对比模块106生成比较结果,并将比较结果直接发送至第一接口100的第一控制模块104。In one embodiment, the first test sequence comparison module 106 generates a comparison result and directly sends the comparison result to the first control module 104 of the first interface 100 .
在一个实施例中第一控制模块104可以关闭有问题的通道,并启用冗余通道。In one embodiment, the first control module 104 may shut down the problematic channel and enable a redundant channel.
虽然在上述实施例中以第一接口100作为输出端口,且第二接口200作为输入端口为例进行了说明,但本领域技术人员理解,根据应用需要,也可以将第一接口100作为输入端口,且第二接口200作为输出端口。本领域技术人员应当理解,实际应用中也可以互连多个芯片,同时进行测试。Although the first interface 100 is used as an output port and the second interface 200 is used as an input port in the above embodiment, it is understood by those skilled in the art that, according to application requirements, the first interface 100 may also be used as an input port and the second interface 200 may be used as an output port. It should be understood by those skilled in the art that, in actual applications, multiple chips may also be interconnected and tested simultaneously.
本发明中的芯片接口及其自测试方法,使用随机序列作为测试序列,不需要测试序列的完整性;在本发明中既可以使用近端回环测试也可以使用远端回环测试,可以进行单个或多个芯片测试;并且本发明对于测试结果有宏观的控制,例如冗余通道的反馈,增加了自测试的完整性。The chip interface and the self-test method thereof in the present invention use a random sequence as a test sequence, and do not require the integrity of the test sequence; in the present invention, both near-end loopback test and far-end loopback test can be used, and single or multiple chip tests can be performed; and the present invention has macroscopic control over the test results, such as feedback of redundant channels, which increases the integrity of the self-test.
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。Although the present invention has been described through preferred embodiments, the present invention is not limited to the embodiments described herein but includes various changes and modifications that may be made without departing from the scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311700750.5A CN117827560A (en) | 2023-12-12 | 2023-12-12 | Chip interface and testing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311700750.5A CN117827560A (en) | 2023-12-12 | 2023-12-12 | Chip interface and testing method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827560A true CN117827560A (en) | 2024-04-05 |
Family
ID=90514386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311700750.5A Pending CN117827560A (en) | 2023-12-12 | 2023-12-12 | Chip interface and testing method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827560A (en) |
-
2023
- 2023-12-12 CN CN202311700750.5A patent/CN117827560A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6816991B2 (en) | Built-in self-testing for double data rate input/output | |
US7346819B2 (en) | Through-core self-test with multiple loopbacks | |
US8225187B1 (en) | Method and apparatus for implementing a cyclic redundancy check circuit | |
US8832511B2 (en) | Built-in self-test for interposer | |
WO1987000292A1 (en) | On chip test system for configurable gate arrays | |
KR20120095842A (en) | Computer memory test structure | |
CN101636662B (en) | Method for determining asymmetrical signal lag of a signal path inside an integrated circuit | |
US12259846B2 (en) | Computing device and computing system | |
US7627806B1 (en) | Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device | |
US20220382627A1 (en) | Infrastructure integrity checking | |
KR20020037605A (en) | impedance Controlled output circuit having multi-stage high code selectors in semiconductor device and method for operating same | |
US7430240B2 (en) | Apparatus and method for automatic polarity swap in a communications system | |
CN117827560A (en) | Chip interface and testing method thereof | |
CN114745004B (en) | Frame decoding circuit and method for performing frame decoding | |
CN113055247A (en) | Multi-channel high-speed transceiver loopback test method and device for FPGA | |
US7913150B2 (en) | Error detection in a communications link | |
TWI477961B (en) | Chip applied to serial transmission system and associated fail safe method | |
US6583639B1 (en) | Reduced cost, high speed circuit test arrangement | |
US7795909B1 (en) | High speed programming of programmable logic devices | |
JP4061294B2 (en) | Self-synchronous pseudo-random bit sequence checker | |
US10790852B2 (en) | Cyclic redundancy check (CRC) system for detecting error in data communication | |
JPH09269359A (en) | Testing apparatus for integrated circuit | |
CN112953513A (en) | Inverted signal generating circuit | |
KR100483423B1 (en) | A bus test apparatus | |
CN114499492B (en) | Isolation circuit with test mechanism and test method thereof |
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 |