[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2024016414A1 - Time sequence test method and apparatus, computer device, and storage medium - Google Patents

Time sequence test method and apparatus, computer device, and storage medium Download PDF

Info

Publication number
WO2024016414A1
WO2024016414A1 PCT/CN2022/112676 CN2022112676W WO2024016414A1 WO 2024016414 A1 WO2024016414 A1 WO 2024016414A1 CN 2022112676 W CN2022112676 W CN 2022112676W WO 2024016414 A1 WO2024016414 A1 WO 2024016414A1
Authority
WO
WIPO (PCT)
Prior art keywords
register
data
value
read
sub
Prior art date
Application number
PCT/CN2022/112676
Other languages
French (fr)
Chinese (zh)
Inventor
第五天昊
Original Assignee
长鑫存储技术有限公司
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 长鑫存储技术有限公司 filed Critical 长鑫存储技术有限公司
Publication of WO2024016414A1 publication Critical patent/WO2024016414A1/en

Links

Images

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
    • 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/2273Test methods

Definitions

  • the present disclosure relates to the technical field of timing testing, and in particular, to a timing testing method, device, computer equipment, storage medium and computer program product.
  • a memory chip When a memory chip reads data according to a storage instruction, it usually reads multi-bit data from multiple storage units specified in the storage instruction. One bit of data is stored in each memory unit. At this time, the memory unit is prone to timing deviation, causing data reading failure.
  • timing testing method apparatus, computer equipment, computer-readable storage medium, and computer program product are provided.
  • a timing testing method which method includes:
  • the method before obtaining the initial value of the read data of the target register, the method further includes:
  • enabling the target register function includes:
  • the target register is called based on the value of the mode register.
  • the target register is a multi-function register including multiple sub-registers
  • the initial read data values include multiple sets of read initial values corresponding to each sub-register
  • the data configuration of the data channel for the target register according to the initial value of the read data includes:
  • the data configuration of the data channel is performed for each of the sub-registers.
  • configuring data in each data channel of each of the sub-registers according to each group of read initial values includes:
  • the data configuration of the data channel is performed for each of the sub-registers.
  • reading the actual value of the target register includes:
  • the actual value of each of the sub-registers is read.
  • reading the actual value of the target register includes:
  • determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data includes:
  • determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data further includes:
  • a timing testing device is also provided, and the device includes:
  • the acquisition module is used to obtain the initial value of the read data of the target register, which is a register in the chip under test;
  • a configuration module configured to perform data configuration of the data channel on the target register according to the initial value of the read data
  • a reading module used to read the actual value of the target register
  • a judgment module is used to judge whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
  • the device further includes:
  • a function enabling module is used to enable the target register function.
  • the function enabling module includes a mode register
  • the configuration module is also used to configure the value of the mode register and call the target register according to the value of the mode register.
  • the target register is a multi-function register including multiple sub-registers, and the initial read data value includes multiple sets of read initial values corresponding to each sub-register,
  • the configuration module also includes a data register.
  • the data register is used to configure the value of the data register and the data value mode according to the read initial value of each group, and configure the value of the data register and the data value mode according to the value of the data register and the data value. mode, perform data configuration of the data channel for each of the sub-registers.
  • a computer device including a memory and a processor.
  • the memory stores a computer program.
  • the processor executes the computer program, it implements any of the above methods. step.
  • a computer-readable storage medium on which a computer program is stored, which implements the steps of any of the above methods when executed by a processor.
  • a computer program product including a computer program that implements the steps of any of the above methods when executed by a processor.
  • Embodiments of the present disclosure may/at least have the following advantages:
  • the timing test method, device, computer equipment, storage medium and computer program product in the embodiment of the present disclosure can configure the data channel of the target register and read it, so that according to the data reading situation of the target register, Effectively reflects whether there is timing offset in the chip under test, thereby improving product quality.
  • Figure 1 is a schematic flow chart of a timing testing method in an embodiment
  • Figure 2 is a schematic flow chart of a timing testing method in another embodiment
  • Figure 3 is a schematic flow chart of a timing testing method in yet another embodiment
  • Figure 4 is a schematic diagram of the data configuration of the data channel in the sub-register MPR0 according to the read initial value of MPR0 in one embodiment
  • Figure 5 is a schematic diagram of data configuration of the data channel in the sub-register MPR0 according to the read initial value of MPR0 in another embodiment
  • Figure 6 is a structural block diagram of a timing test device in an embodiment
  • Figure 7 is a structural block diagram of a timing test device in another embodiment
  • Figure 8 is an internal structure diagram of a computer device in one embodiment.
  • DIMM dual in-line memory module
  • STRB byte data storage instruction
  • DQ data channel
  • embodiments of the present disclosure propose a timing testing method, device, computer equipment, storage medium and computer program product, which can effectively test chip timing, thereby improving product quality.
  • the embodiments of the present disclosure can, but are not limited to, test the STRB timing of the DIMM.
  • this method is used to test the STRB timing of a DIMM as an example.
  • FIG. 1 A timing method is provided. The method is applied to the terminal in Figure 1 as an example to illustrate, including the following steps:
  • Step S200 obtain the initial value of the read data of the target register, which is a register in the chip under test;
  • Step S400 configure the data channel of the target register according to the initial value of the read data
  • Step S600 read the actual value of the target register
  • Step S800 Determine whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
  • the target register is a register in the chip under test.
  • the initial value of the read data of the target register can be its default initial value, or it can be a value that is reset as needed. There is no restriction on this.
  • the chip under test can include multiple banks and peripheral logic circuits.
  • Each bank can contain multiple data channels.
  • Each data channel can include multiple sets of memory cells.
  • each data channel can include multiple bit lines.
  • each group of memory cells can correspond to multiple word lines. Each word line runs through each data channel.
  • DRAM chip chip under test
  • the target register can correspond to multiple data channels, so that it can be read and written in parallel mode.
  • the destination register can also correspond to a data channel and thus be read and written in serial mode.
  • the target register can be a multi-function register including multiple sub-registers, or it can only include one register.
  • relevant data can be stored in the storage units in each data channel of the target register according to the configured data.
  • deposit does not necessarily mean writing through the test device. Specifically, it can be written through the register in the DRAM chip (chip under test).
  • step S600 after storing relevant data in the storage units in each data channel of the target register, the target memory can be read.
  • step S800 when the actual value is different from the initial value of the read data, it can be determined that there is a timing offset in the chip under test.
  • the actual value is the same as the initial value of the read data, it can be determined that there is no timing offset in the chip under test.
  • the chip under test can be adjusted so that the memory cells in each data channel of the chip under test can be effectively read and written after adjustment.
  • the target register can be configured with data channel data and read, so that whether there is a timing offset in the chip under test can be effectively reflected based on the data reading of the target register, thereby improving product quality.
  • step S200 before step S200, it also includes:
  • Step S100 enable the target register function.
  • step S200 may call the default initial value of the target register as the initial value for obtaining the read data of the target register.
  • the initial value of the read data of the target register can also be set as needed, and this is not limited here.
  • step S100 includes:
  • Step S110 configure the value of the mode register
  • Step S120 Call the target register according to the value of the mode register.
  • the mode register can be a register in the test machine.
  • the target register function can be easily turned on by calling the target register according to the register in the test machine.
  • the target register is a multi-function register including multiple sub-registers
  • the initial value of the read data includes multiple sets of initial read values corresponding to each sub-register.
  • step S400 includes:
  • Step S410 Configure the data channel of each sub-register according to the initial value read by each group.
  • each sub-register can correspond to multiple data channels (such as corresponding to 8 data channels), so that each sub-register can be read and written in parallel.
  • each sub-register can also correspond to a data channel, so that each sub-register can be read and written in a serial manner.
  • the data channel corresponding modes of each sub-register can also be different, and there is no restriction on this here.
  • the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3.
  • the initial read value of sub-register MPR0 can be: 01010101.
  • the initial read value of sub-register MPR1 can be: 00110011.
  • the initial read value of sub-register MPR2 can be: 00001111.
  • the initial read value of sub-register MPR3 can be: 00000000.
  • step S600 the actual value of each sub-register can be read.
  • the actual value of each sub-register can be read according to the parallel mode, or the actual value of each sub-register can be read according to the serial mode.
  • the specific method can be determined according to the specific way of configuring the data channel of each sub-register.
  • step S800 it can be determined whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value.
  • the target register by setting the target register to be a multi-function register including multiple sub-registers, the timing of the chip under test can be repeatedly and comprehensively detected, thereby improving detection reliability.
  • the target register may also include only one register, and there is no limitation on this here.
  • step S410 includes:
  • Step S411 configure the value of the data register and the data value mode according to the initial value read by each group
  • Step S412 Configure data channel data for each sub-register according to the value of the data register and the data value mode.
  • the data register may be a register in the test machine (such as a topology register).
  • the value of the configured data register can eventually be converted into binary data.
  • Each bit of binary data can be configured into a data channel according to the data value mode.
  • the value of the data register may be converted into binary data. Then, each bit in the binary data is configured into each data channel of the corresponding sub-register according to the data value mode (specifically, configured into the storage unit in each data channel).
  • the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3.
  • the initial values of the four sub-registers MPR0, MPR1, MPR2, and MPR3 can be set according to JEDEC regulations. Among them, the initial read value of sub-register MPR0 can be: 01010101.
  • DQ0 from the first memory cell to the eighth memory cell in the first column of memory cells, data "0" that takes a true value for the first digit "0" from the right is arranged.
  • DQ1 from the first memory cell to the eighth memory cell in the first column of memory cells, data "1” that takes a true value for the second digit "1" from the right is arranged.
  • DQ7 from the first memory cell to the eighth memory cell in the first column of memory cells, data "1" that takes the true value of the eighth bit "1" from the right is configured.
  • step S600 the actual value of the sub-register MPR0 is read through the parallel mode.
  • the actual value of sub-register MPR0 can be compared with the corresponding bit data of the read initial value of sub-register MPR0 to obtain the comparison result. If there is no problem in the data reading process, the data in the first storage unit in DQ0 to DQ7 should be 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
  • read the actual value of sub-register MPR0 The value is 01010101, which is the same as the read initial value 01010101 of sub-register MPR0.
  • the data configuration process can be similar to that of sub-register MPR0.
  • the initial read value of sub-register MPR1 can be: 00110011.
  • the configuration data value mode is: data generation by one bit and two for the same data channel
  • the eight-bit stored data (each bit of stored data is stored in one storage unit), and each bit of the eight-bit stored data takes a true value for the binary data.
  • sub-register MPR2 its initial read value can be: 00001111.
  • the value of the configuration data register is "F0F0" in hexadecimal
  • the configuration data value mode is: data is generated by one bit and two in the same data channel
  • the eight-bit stored data (each bit of stored data is stored in one storage unit), and for the same binary data, each bit of the eight-bit stored data has a true value.
  • sub-register MPR3 its initial read value can be: 00000000.
  • the value of the configuration data register is "0000" in hexadecimal, and the configuration data value mode is: data is generated by one bit and two in the same data channel
  • the eight-bit stored data (each bit of stored data is stored in one storage unit), and for the same binary data, each bit of the eight-bit stored data takes a true value.
  • step S600 the actual values of the sub-registers MPR1, MPR2, and MPR3 are read through the parallel mode.
  • reading read the data in the first memory unit in DQ0 to DQ7 in sequence.
  • step S412 configures the data channel of each sub-register according to the value of the data register and the data value mode
  • the data of each sub-register can be stored one by one in each of the chips under test. in the storage unit in the data channel.
  • the data of a sub-register is stored according to the configuration data, it can be read in step S600.
  • the data of another sub-register is stored, and then read in step S600.
  • the reading of the real value of each sub-register is completed.
  • the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3.
  • the initial read value of sub-register MPR0 can be: 01010101.
  • the configuration data value mode is: generated by one-bit binary data Eight-bit stored data in the same data channel (each bit of stored data is stored in one storage unit), and for the same binary data, every odd bit in the eight-bit stored data has a true value, and each of the eight-bit stored data has a true value. Even-numbered bits are inverted.
  • the eight-bit result data of alternately taking the true value and the inverse value of the first "0" from the right is arranged. , specifically, configure 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
  • the eight-bit result data of the second digit "0" from the right alternately taking the true value and the negative value is configured in sequence. Specifically, , configure 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
  • the data configuration process can be similar to that of sub-register MPR0.
  • step S600 the actual values of the sub-registers MPR0, MPR1, MPR2, and MPR3 are read through the serial mode.
  • the data in the first to eighth memory cells in the first column of memory cells in the same data channel (such as DQ0) are read sequentially.
  • the data channel being read is the data channel of each sub-register of the target register.
  • the actual value of sub-register MPR0 can be compared with the corresponding bit data of the read initial value of sub-register MPR0 to obtain the comparison result. If there is no problem in the data reading process, the data in the first to eighth memory cells in the first column of memory cells in the same data channel of MPR0 (such as DQ0) should be 0, 1, 0, 1 in sequence. , 0, 1, 0, 1. At this time, the actual value read from the sub-register MPR0 is 01010101, which is the same as the initial value 01010101 read from the sub-register MPR0.
  • step S411 and step S412 after going through step S411 and step S412 once, and then reading the actual value of each sub-register in parallel mode, return to step S411 again, and reconfigure the data register according to the initial value read for each group. value and data value mode. After that, read the actual value of each sub-register in serial mode.
  • testing the timing in both parallel and serial situations can effectively improve the test coverage, thereby further improving product reliability.
  • step S800 includes: determining whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value;
  • step S600 reads the actual value of each sub-register in parallel mode. At this time, when the actual value of any sub-register is different from the initial read value, it is determined that the chip under test has a parallel timing offset.
  • step S600 reads the actual value of each sub-register through the serial mode. At this time, when the actual value of any sub-register is different from the initial read value, it is determined that the chip under test has a serial timing offset.
  • step S400 configures the data channel of each sub-register according to the initial value read by each group, and then step S600 reads the actual value of each sub-register in parallel mode, and the actual value of each sub-register is the same as the read value.
  • the initial values are all the same. At this time, it is determined that there is no timing offset in the chip under test.
  • step S600 reads the actual value of each sub-register through the serial mode. The actual value of each sub-register is different from the read initial value. If the values are all the same, it is determined that there is no timing offset in the chip under test.
  • step S400 configures the data channel of each sub-register according to the initial value read by each group
  • step S600 reads the actual value of each sub-register in parallel mode, and the actual value of each sub-register is different from the read initial value. All are the same.
  • step S400 re-configures the data channel of each sub-register according to the initial value read by each group, and then step S600 reads the actual value of each sub-register through the serial mode. The actual value of each sub-register is different from the initial read value. The values are all the same. At this time, it is determined that there is no timing offset in the chip under test.
  • a timing test device including: an acquisition module 100, a configuration module 200, a reading module 300 and a judgment module 400, wherein:
  • the acquisition module 100 is used to acquire the initial value of the read data of the target register, which is a register in the chip under test.
  • the configuration module 200 is used to configure the data channel of the target register according to the initial value of the read data.
  • the reading module 300 is used to read the actual value of the target register.
  • the judgment module 400 is used to judge whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
  • the timing test device further includes a function enabling module 500 .
  • the function enabling module 500 is used to enable the target register function.
  • the function enabling module 500 includes a mode register 510 .
  • the configuration module 200 is also used to configure the value of the mode register 510 and call the target register according to the value of the mode register 510.
  • the target register is a multi-function register including multiple sub-registers
  • the initial value of the read data includes multiple sets of initial read values corresponding to each sub-register.
  • the configuration module 200 is used to configure the data channel of each sub-register according to the initial value read by each group.
  • the configuration module 200 includes a data register 210 .
  • the data register 210 may be a topology register, for example.
  • the data register 210 is used to configure the value of the data register and the data value mode according to the initial value read by each group, and configure the data channel of each sub-register according to the value of the data register and the data value mode.
  • the reading module 300 is used to read the actual value of each sub-register according to the parallel mode.
  • the reading module 300 is used to read the actual value of each sub-register according to the serial mode.
  • the determination module 400 determines whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value. When the actual value of any sub-register is different from its read initial value, the determination module 400 determines that there is a parallel timing offset or a serial timing offset in the chip under test.
  • the determination module 400 determines that there is no timing offset in the chip under test.
  • Each module in the above timing test device can be implemented in whole or in part by software, hardware and combinations thereof.
  • Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
  • a computer device is provided.
  • the computer device may be a terminal, and its internal structure diagram may be as shown in FIG. 8 .
  • the computer device includes a processor, memory, communication interface, display screen and input device connected through a system bus.
  • the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes non-volatile storage media and internal memory.
  • the non-volatile storage medium stores operating systems and computer programs. This internal memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media.
  • the communication interface of the computer device is used for wired or wireless communication with external terminals.
  • the wireless mode can be implemented through WIFI, mobile cellular network, NFC (Near Field Communication) or other technologies.
  • the computer program implements a timing testing method when executed by a processor.
  • the display screen of the computer device may be a liquid crystal display or an electronic ink display.
  • the input device of the computer device may be a touch layer covered on the display screen, or may be a button, trackball or touch pad provided on the computer device shell. , it can also be an external keyboard, trackpad or mouse, etc.
  • Figure 8 is only a block diagram of a partial structure related to the disclosed solution, and does not constitute a limitation on the computer equipment to which the disclosed solution is applied.
  • the specific computer device can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
  • a computer device including a memory and a processor.
  • a computer program is stored in the memory.
  • the processor executes the computer program, it implements the steps in the above method embodiments.
  • a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed by a processor, the steps in the above method embodiments are implemented.
  • a computer program product including a computer program that implements the steps in each of the above method embodiments when executed by a processor.
  • Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM can be in many forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM).

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

A time sequence test method and apparatus, a computer device, a storage medium, and a computer program product. The method comprises: acquiring an initial value of read data of a target register, the target register being a register in a tested chip (S200); according to the initial value of the read data, performing data configuration of a data channel on the target register (S400); reading an actual value of the target register (S600); and, according to the actual value and the initial value of the read data, determining whether the tested chip has a time sequence offset (S800). The method can effectively test a time sequence of a chip, thereby improving the product quality.

Description

时序测试方法、装置、计算机设备、存储介质Timing test methods, devices, computer equipment, storage media
相关申请的交叉引用Cross-references to related applications
本公开要求于2022年07月20日提交中国专利局、申请号为2022108581337、发明名称为“时序测试方法、装置、计算机设备、存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。This disclosure claims priority to the Chinese patent application filed with the China Patent Office on July 20, 2022, with application number 2022108581337 and the invention title "Timing Test Method, Device, Computer Equipment, Storage Medium", the entire content of which is incorporated by reference. in this disclosure.
技术领域Technical field
本公开涉及时序测试技术领域,特别是涉及一种时序测试方法、装置、计算机设备、存储介质和计算机程序产品。The present disclosure relates to the technical field of timing testing, and in particular, to a timing testing method, device, computer equipment, storage medium and computer program product.
背景技术Background technique
存储芯片在根据存储指令读取数据时,通常是读取存储指令中指定的多个存储单元中的多位数据。每一个存储单元中存储一位数据。此时,存储单元容易产生时序偏移,而导致数据读取失败。When a memory chip reads data according to a storage instruction, it usually reads multi-bit data from multiple storage units specified in the storage instruction. One bit of data is stored in each memory unit. At this time, the memory unit is prone to timing deviation, causing data reading failure.
基于此,需要对存储芯片进行有效的时序测试。Based on this, effective timing testing of memory chips is required.
发明内容Contents of the invention
根据本公开的各种实施例,提供一种时序测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。According to various embodiments of the present disclosure, a timing testing method, apparatus, computer equipment, computer-readable storage medium, and computer program product are provided.
根据本公开的各种实施例,提供一种时序测试方法,所述方法包括:According to various embodiments of the present disclosure, a timing testing method is provided, which method includes:
获取目标寄存器的读取资料初始值,所述目标寄存器为被测芯片中的寄存器;Obtain the initial value of the read data of the target register, which is a register in the chip under test;
根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置;According to the initial value of the read data, perform data configuration of the data channel on the target register;
读取所述目标寄存器的实际值;Read the actual value of the target register;
根据所述实际值与所述读取资料初始值,判断所述被测芯片是否存在时 序偏移。According to the actual value and the initial value of the read data, it is determined whether there is a timing offset in the chip under test.
在一些实施例中,所述获取目标寄存器的读取资料初始值之前,还包括:In some embodiments, before obtaining the initial value of the read data of the target register, the method further includes:
开启所述目标寄存器功能。Enable the target register function.
在一些实施例中,所述开启所述目标寄存器功能,包括:In some embodiments, enabling the target register function includes:
配置模式寄存器的值;Configuration mode register value;
根据所述模式寄存器的值,调用所述目标寄存器。The target register is called based on the value of the mode register.
在一些实施例中,所述目标寄存器为包括多个子寄存器的多功能寄存器,所述读取资料初始值包括与各子寄存器相对应的多组读取初始值,In some embodiments, the target register is a multi-function register including multiple sub-registers, and the initial read data values include multiple sets of read initial values corresponding to each sub-register,
所述根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置,包括:The data configuration of the data channel for the target register according to the initial value of the read data includes:
根据每组所述读取初始值,对每个所述子寄存器进行数据通道的数据配置。According to the read initial value of each group, the data configuration of the data channel is performed for each of the sub-registers.
在一些实施例中,所述根据每组所述读取初始值,配置各所述子寄存器的各数据通道中的数据,包括:In some embodiments, configuring data in each data channel of each of the sub-registers according to each group of read initial values includes:
根据每组所述读取初始值,配置数据寄存器的值以及数据取值模式;Read the initial value according to each group's instructions, configure the value of the data register and the data value mode;
根据所述数据寄存器的值以及所述数据取值模式,对每个所述子寄存器进行数据通道的数据配置。According to the value of the data register and the data value mode, the data configuration of the data channel is performed for each of the sub-registers.
在一些实施例中,所述读取所述目标寄存器的实际值,包括:In some embodiments, reading the actual value of the target register includes:
根据并行模式,读取各所述子寄存器的实际值。According to the parallel mode, the actual value of each of the sub-registers is read.
在一些实施例中,所述读取所述目标寄存器的实际值,包括:In some embodiments, reading the actual value of the target register includes:
根据串行模式,读取各所述子寄存器的实际值。According to the serial mode, the actual value of each said sub-register is read.
在一些实施例中,所述根据所述实际值与所述读取资料初始值,判断所述目标寄存器是否存在时序偏移,包括:In some embodiments, determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data includes:
根据各所述子寄存器的实际值与其读取初始值,判断所述被测芯片是否存在时序偏移;Determine whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value;
当任意一个所述子寄存器的实际值与其读取初始值不同时,判定所述被测芯片存在并行时序偏移或串行时序偏移。When the actual value of any of the sub-registers is different from its read initial value, it is determined that the chip under test has a parallel timing offset or a serial timing offset.
在一些实施例中,所述根据所述实际值与所述读取资料初始值,判断所述目标寄存器是否存在时序偏移,还包括:In some embodiments, determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data further includes:
当各所述子寄存器的实际值与其读取初始值均相同时,判定所述被测芯片不存在时序偏移。When the actual value of each sub-register and its read initial value are the same, it is determined that there is no timing offset in the chip under test.
根据本公开的各种实施例,还提供一种时序测试装置,所述装置包括:According to various embodiments of the present disclosure, a timing testing device is also provided, and the device includes:
获取模块,用于获取目标寄存器的读取资料初始值,所述目标寄存器为被测芯片中的寄存器;The acquisition module is used to obtain the initial value of the read data of the target register, which is a register in the chip under test;
配置模块,用于根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置;A configuration module configured to perform data configuration of the data channel on the target register according to the initial value of the read data;
读取模块,用于读取所述目标寄存器的实际值;A reading module, used to read the actual value of the target register;
判断模块,用于根据所述实际值与所述读取资料初始值,判断所述被测芯片是否存在时序偏移。A judgment module is used to judge whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
在一些实施例中,所述装置还包括:In some embodiments, the device further includes:
功能开启模块,用于开启所述目标寄存器功能。A function enabling module is used to enable the target register function.
在一些实施例中,所述功能开启模块包括模式寄存器,所述配置模块还用于配置模式寄存器的值,并根据所述模式寄存器的值调用所述目标寄存器。In some embodiments, the function enabling module includes a mode register, and the configuration module is also used to configure the value of the mode register and call the target register according to the value of the mode register.
在一些实施例中,In some embodiments,
所述目标寄存器为包括多个子寄存器的多功能寄存器,所述读取资料初始值包括与各子寄存器相对应的多组读取初始值,The target register is a multi-function register including multiple sub-registers, and the initial read data value includes multiple sets of read initial values corresponding to each sub-register,
所述配置模块还包括数据寄存器,所述数据寄存器用于根据每组所述读取初始值,配置数据寄存器的值以及数据取值模式,并根据所述数据寄存器的值以及所述数据取值模式,对每个所述子寄存器进行数据通道的数据配置。The configuration module also includes a data register. The data register is used to configure the value of the data register and the data value mode according to the read initial value of each group, and configure the value of the data register and the data value mode according to the value of the data register and the data value. mode, perform data configuration of the data channel for each of the sub-registers.
根据本公开的各种实施例,还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。According to various embodiments of the present disclosure, a computer device is also provided, including a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements any of the above methods. step.
根据本公开的各种实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法 的步骤。According to various embodiments of the present disclosure, there is also provided a computer-readable storage medium on which a computer program is stored, which implements the steps of any of the above methods when executed by a processor.
根据本公开的各种实施例,还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项所述的方法的步骤。According to various embodiments of the present disclosure, a computer program product is also provided, including a computer program that implements the steps of any of the above methods when executed by a processor.
本公开实施例可以/至少具有以下优点:Embodiments of the present disclosure may/at least have the following advantages:
本公开实施例中的时序测试方法、装置、计算机设备、存储介质和计算机程序产品,可以通过对目标寄存器进行数据通道的数据配置,并且进行读取,从而可以根据目标寄存器的数据读取情况,有效反应被测芯片是否存在时序偏移,从而提高产品质量。The timing test method, device, computer equipment, storage medium and computer program product in the embodiment of the present disclosure can configure the data channel of the target register and read it, so that according to the data reading situation of the target register, Effectively reflects whether there is timing offset in the chip under test, thereby improving product quality.
本公开的一个或多个实施例的细节在下面的附图和描述中提出。本公开的其他特征、目的和优点将从说明书、附图以及权利要求书变得明显。The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will become apparent from the description, drawings, and claims.
附图说明Description of drawings
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the embodiments of the present disclosure or the technical solutions in the traditional technology, the drawings needed to be used in the description of the embodiments or the traditional technology will be briefly introduced below. Obviously, the drawings in the following description are only for the purpose of explaining the embodiments or the technical solutions of the traditional technology. For some disclosed embodiments, those of ordinary skill in the art can also obtain other drawings based on these drawings without exerting creative efforts.
图1为一个实施例中时序测试方法的流程示意图;Figure 1 is a schematic flow chart of a timing testing method in an embodiment;
图2为另一实施例中时序测试方法的流程示意图;Figure 2 is a schematic flow chart of a timing testing method in another embodiment;
图3为又一实施例中时序测试方法的流程示意图;Figure 3 is a schematic flow chart of a timing testing method in yet another embodiment;
图4为一个实施例中根据MPR0的读取初始值,对子寄存器MPR0进行数据通道的数据配置的示意图;Figure 4 is a schematic diagram of the data configuration of the data channel in the sub-register MPR0 according to the read initial value of MPR0 in one embodiment;
图5为另一个实施例中根据MPR0的读取初始值,对子寄存器MPR0进行数据通道的数据配置的示意图;Figure 5 is a schematic diagram of data configuration of the data channel in the sub-register MPR0 according to the read initial value of MPR0 in another embodiment;
图6为一个实施例中时序测试装置的结构框图;Figure 6 is a structural block diagram of a timing test device in an embodiment;
图7为另一个实施例中时序测试装置的结构框图;Figure 7 is a structural block diagram of a timing test device in another embodiment;
图8为一个实施例中计算机设备的内部结构图。Figure 8 is an internal structure diagram of a computer device in one embodiment.
为了更好地描述和说明这里公开的那些发明的实施例和/或示例,可以参考一幅或多幅附图。用于描述附图的附加细节或示例不应当被认为是对所公 开的发明、目前描述的实施例和/或示例以及目前理解的这些发明的最佳模式中的任何一者的范围的限制。To better describe and illustrate embodiments and/or examples of those inventions disclosed herein, reference may be made to one or more of the accompanying drawings. The additional details or examples used to describe the figures should not be construed as limiting the scope of any of the disclosed inventions, the embodiments and/or examples presently described, and the best modes currently understood of these inventions.
具体实施方式Detailed ways
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。In order to make the purpose, technical solutions and advantages of the present disclosure more clear, the present disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present disclosure and are not intended to limit the present disclosure.
如背景技术所言,存储芯片在根据存储指令读取数据时,其存储单元容易产生时序偏移,而导致数据读取失败。As mentioned in the background art, when a memory chip reads data according to a storage instruction, its memory unit is prone to timing deviation, resulting in data reading failure.
具体地,例如,DIMM(双列直插式内存模块)根据STRB指令(字节数据存储指令),读取存储指令中指定的8个存储单元中的8位字节数据时,由于各个存储单元的数据通道(DQ)通常串行排布,需要按照顺序依次将每个存储单元的数据读取出来,因而在读取数据时容易产生时序偏移,导致数据读出错误。Specifically, for example, when a DIMM (dual in-line memory module) reads 8-bit byte data in 8 storage units specified in the storage instruction according to the STRB instruction (byte data storage instruction), because each storage unit The data channel (DQ) is usually arranged in series, and the data of each storage unit needs to be read out in sequence. Therefore, timing offset is easily generated when reading data, leading to data read errors.
基于此,本公开实施例提出一种时序测试方法、装置、计算机设备、存储介质和计算机程序产品,能够对芯片时序进行有效测试,从而提高产品质量。本公开实施例可以但不限于对DIMM的STRB时序进行测试。Based on this, embodiments of the present disclosure propose a timing testing method, device, computer equipment, storage medium and computer program product, which can effectively test chip timing, thereby improving product quality. The embodiments of the present disclosure can, but are not limited to, test the STRB timing of the DIMM.
下文中,以该方法应用于对DIMM的STRB时序进行测试为例进行说明。In the following, this method is used to test the STRB timing of a DIMM as an example.
在一个实施例中,请参阅图1,提供了一种时序方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:In one embodiment, please refer to Figure 1. A timing method is provided. The method is applied to the terminal in Figure 1 as an example to illustrate, including the following steps:
步骤S200,获取目标寄存器的读取资料初始值,目标寄存器为被测芯片中的寄存器;Step S200, obtain the initial value of the read data of the target register, which is a register in the chip under test;
步骤S400,根据读取资料初始值,对目标寄存器进行数据通道的数据配置;Step S400, configure the data channel of the target register according to the initial value of the read data;
步骤S600,读取目标寄存器的实际值;Step S600, read the actual value of the target register;
步骤S800,根据实际值与读取资料初始值,判断被测芯片是否存在时序偏移。Step S800: Determine whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
其中,在步骤S200中,目标寄存器为被测芯片中的寄存器。目标寄存器的读取资料初始值可以是其默认值初始值,也可以是根据需要而重新设定的值,这里对此没有限制。Among them, in step S200, the target register is a register in the chip under test. The initial value of the read data of the target register can be its default initial value, or it can be a value that is reset as needed. There is no restriction on this.
被测芯片可以包括多个bank以及外围逻辑电路。每个bank中可以包括多个数据通道。每个数据通道可以包括多组存储单元。且每个数据通道可以包括多条位线。且每组存储单元可以对应多条字线。每个字线均贯穿各个数据通道。The chip under test can include multiple banks and peripheral logic circuits. Each bank can contain multiple data channels. Each data channel can include multiple sets of memory cells. And each data channel can include multiple bit lines. And each group of memory cells can correspond to multiple word lines. Each word line runs through each data channel.
以下以被测芯片(DRAM芯片)的突发长度为8,且具有8个DQ端作为示例,具体说明本公开的测试过程。The following takes the chip under test (DRAM chip) as having a burst length of 8 and having 8 DQ terminals as an example to specifically describe the testing process of the present disclosure.
在步骤S400中,经过数据配置后,目标寄存器可以对应多个数据通道,从而通过并行模式读写。目标寄存器也可以对应一个数据通道,从而通过串行模式读写。In step S400, after data configuration, the target register can correspond to multiple data channels, so that it can be read and written in parallel mode. The destination register can also correspond to a data channel and thus be read and written in serial mode.
同时,目标寄存器可以为包括多个子寄存器的多功能寄存器,也可以只包括一个寄存器。At the same time, the target register can be a multi-function register including multiple sub-registers, or it can only include one register.
对目标寄存器进行数据通道的数据配置之后,可根据配置的数据,对目标寄存器的各数据通道中的存储单元存入相关数据。After configuring the data channel of the target register, relevant data can be stored in the storage units in each data channel of the target register according to the configured data.
需要说明的是,此处的“存入”并不一定是通过测试装置写入。具体地,可以通过DRAM芯片(被测芯片)里面的寄存器写入。It should be noted that "deposit" here does not necessarily mean writing through the test device. Specifically, it can be written through the register in the DRAM chip (chip under test).
在步骤S600中,可以在对目标寄存器的各数据通道中的存储单元存入相关数据之后,对目标存储器进行读取。In step S600, after storing relevant data in the storage units in each data channel of the target register, the target memory can be read.
在步骤S800中,当实际值与读取资料初始值不同时,可以判定被测芯片存在时序偏移。当实际值与读取资料初始值相同时,可以判定被测芯片不存在时序偏移。In step S800, when the actual value is different from the initial value of the read data, it can be determined that there is a timing offset in the chip under test. When the actual value is the same as the initial value of the read data, it can be determined that there is no timing offset in the chip under test.
当被测芯片存在时序偏移时,可以对被测芯片进行调整,从而使得被测芯片的各数据通道中的存储单元在调整后均可以进行有效读写。When there is a timing offset in the chip under test, the chip under test can be adjusted so that the memory cells in each data channel of the chip under test can be effectively read and written after adjustment.
在本实施例中,可以通过对目标寄存器进行数据通道的数据配置,并且进行读取,从而可以根据目标寄存器的数据读取情况,有效反应被测芯片是 否存在时序偏移,从而提高产品质量。In this embodiment, the target register can be configured with data channel data and read, so that whether there is a timing offset in the chip under test can be effectively reflected based on the data reading of the target register, thereby improving product quality.
在一个实施例中,步骤S200之前,还包括:In one embodiment, before step S200, it also includes:
步骤S100,开启目标寄存器功能。Step S100, enable the target register function.
目标寄存器的默认初始值可以保存在测试机台内。当开启目标寄存器功能之后,步骤S200可以调取目标寄存器的默认初始值,以作为获取目标寄存器的读取资料初始值。The default initial value of the target register can be saved in the test machine. After the target register function is turned on, step S200 may call the default initial value of the target register as the initial value for obtaining the read data of the target register.
此时,可以简便有效地获取目标寄存器的默认初始值。At this point, the default initial value of the target register can be obtained simply and effectively.
当然,在其他实施例中,也可以通过根据需要,设定目标寄存器的读取资料初始值,这里对此不作限制。Of course, in other embodiments, the initial value of the read data of the target register can also be set as needed, and this is not limited here.
在一个实施例中,请参阅图2,步骤S100包括:In one embodiment, referring to Figure 2, step S100 includes:
步骤S110,配置模式寄存器的值;Step S110, configure the value of the mode register;
步骤S120,根据模式寄存器的值,调用目标寄存器。Step S120: Call the target register according to the value of the mode register.
模式寄存器可以为测试机台中的寄存器。The mode register can be a register in the test machine.
此时,根据测试机台中的寄存器,调用目标寄存器,可以将目标寄存器功能方便开启。At this time, the target register function can be easily turned on by calling the target register according to the register in the test machine.
在一个实施例中,目标寄存器为包括多个子寄存器的多功能寄存器,读取资料初始值包括与各子寄存器相对应的多组读取初始值。In one embodiment, the target register is a multi-function register including multiple sub-registers, and the initial value of the read data includes multiple sets of initial read values corresponding to each sub-register.
同时,步骤S400包括:At the same time, step S400 includes:
步骤S410,根据每组读取初始值,对每个子寄存器进行数据通道的数据配置。Step S410: Configure the data channel of each sub-register according to the initial value read by each group.
此时,经过步骤S400数据配置后,每个子寄存器可以均对应多个数据通道(如对应8个数据通道),从而可以通过并行的方式对各子寄存器进行读写。或者,每个子寄存器也可以均对应一个数据通道,从而可以通过串行的方式对各子寄存器进行读写。当然,各子寄存器的数据通道对应方式也可以不同,这里对此并没有限制。At this time, after the data configuration in step S400, each sub-register can correspond to multiple data channels (such as corresponding to 8 data channels), so that each sub-register can be read and written in parallel. Alternatively, each sub-register can also correspond to a data channel, so that each sub-register can be read and written in a serial manner. Of course, the data channel corresponding modes of each sub-register can also be different, and there is no restriction on this here.
作为示例,目标寄存器可以为MRS3,其可以包括MPR0、MPR1、MPR2、MPR3四个子寄存器。As an example, the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3.
其中,子寄存器MPR0的读取初始值可以为:01010101。子寄存器MPR1的读取初始值可以为:00110011。子寄存器MPR2的读取初始值可以为:00001111。子寄存器MPR3的读取初始值可以为:00000000。Among them, the initial read value of sub-register MPR0 can be: 01010101. The initial read value of sub-register MPR1 can be: 00110011. The initial read value of sub-register MPR2 can be: 00001111. The initial read value of sub-register MPR3 can be: 00000000.
此时,可以根据“01010101”对子寄存器MPR0进行数据通道的数据配置;根据“00110011”对子寄存器MPR1进行数据通道的数据配置;根据“00001111”对子寄存器MPR2进行数据通道的数据配置;根据“00000000”对子寄存器MPR3进行数据通道的数据配置。At this time, you can configure the data channel data for sub-register MPR0 according to "01010101"; configure the data channel for sub-register MPR1 according to "00110011"; configure the data channel for sub-register MPR2 according to "00001111"; "00000000" configures the data channel of the sub-register MPR3.
此后,步骤S600中,可以读取各子寄存器的实际值。可以根据并行模式读取各子寄存器的实际值,也可以根据串行模式读取各子寄存器的实际值,具体可以根据对每个所述子寄存器进行数据通道的数据配置的具体方式决定。并且,步骤S800中,可以根据各子寄存器的实际值与其读取初始值,判断被测芯片是否存在时序偏移。Thereafter, in step S600, the actual value of each sub-register can be read. The actual value of each sub-register can be read according to the parallel mode, or the actual value of each sub-register can be read according to the serial mode. The specific method can be determined according to the specific way of configuring the data channel of each sub-register. Moreover, in step S800, it can be determined whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value.
在本实施例中,通过设置目标寄存器为包括多个子寄存器的多功能寄存器,可以对被测芯片的时序进行反复全面检测,从而提高检测可靠性。当然,在其他实施例中,目标寄存器也可以只包括一个寄存器,这里对此并没有限制。In this embodiment, by setting the target register to be a multi-function register including multiple sub-registers, the timing of the chip under test can be repeatedly and comprehensively detected, thereby improving detection reliability. Of course, in other embodiments, the target register may also include only one register, and there is no limitation on this here.
在一个实施例中,请参阅图3,步骤S410包括:In one embodiment, referring to Figure 3, step S410 includes:
步骤S411,根据每组读取初始值,配置数据寄存器的值以及数据取值模式;Step S411, configure the value of the data register and the data value mode according to the initial value read by each group;
步骤S412,根据数据寄存器的值以及数据取值模式,对每个子寄存器进行数据通道的数据配置。Step S412: Configure data channel data for each sub-register according to the value of the data register and the data value mode.
其中,在步骤S411中,数据寄存器可以为测试机台中的寄存器(如拓扑寄存器)。In step S411, the data register may be a register in the test machine (such as a topology register).
配置的数据寄存器的值,最终可以转化成二进制数据。每一位二进制数据可以根据数据取值模式配置入一个数据通道。The value of the configured data register can eventually be converted into binary data. Each bit of binary data can be configured into a data channel according to the data value mode.
在步骤S412中,可以将数据寄存器的值转换成二进制数据。然后,将二进制数据中的每一位,根据数据取值模式配置入相应子寄存器的各数据通道 中(具体地为配置到各数据通道中的存储单元中)。In step S412, the value of the data register may be converted into binary data. Then, each bit in the binary data is configured into each data channel of the corresponding sub-register according to the data value mode (specifically, configured into the storage unit in each data channel).
作为示例,目标寄存器可以为MRS3,其可以包括MPR0、MPR1、MPR2、MPR3四个子寄存器。作为示例,MPR0、MPR1、MPR2、MPR3四个子寄存器的初始值可以根据JEDEC规定设置。其中,子寄存器MPR0的读取初始值可以为:01010101。As an example, the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3. As an example, the initial values of the four sub-registers MPR0, MPR1, MPR2, and MPR3 can be set according to JEDEC regulations. Among them, the initial read value of sub-register MPR0 can be: 01010101.
此时,请参阅图4,可以根据子寄存器MPR0的读取初始值“01010101”,配置数据寄存器的值为十六进制的“AAAA”,且配置数据取值模式为:由一位二进行数据生成同一数据通道内的八位存储数据(每位存储数据存入一个存储单元),且对于同一二进制数据,八位存储数据中每一位均对其取真值。At this time, please refer to Figure 4. You can read the initial value "01010101" according to the sub-register MPR0, the value of the configuration data register is "AAAA" in hexadecimal, and the configuration data value mode is: one bit and two The data generates eight-bit storage data in the same data channel (each bit of storage data is stored in one storage unit), and for the same binary data, each bit of the eight-bit storage data has a true value.
然后将十六进制的“AAAA”转化为二进制数据“1010 1010 1010 1010”。十六进制转化成二进制时,从右往左进行转换。一个十六进制的A对应的二进制数据为“1010”,二进制数据也从右到左排列。Then convert hexadecimal "AAAA" into binary data "1010 1010 1010 1010". When converting hexadecimal to binary, conversion is performed from right to left. The binary data corresponding to a hexadecimal A is "1010", and the binary data is also arranged from right to left.
然后,根据数据读取模式,将二进制数据“1010 1010 1010 1010”的右数8位分别配置入DQ0至DQ7八个数据通道中,即将0、1、0、1、0、1、0、1依次配置入被测芯片的数据通道DQ0至DQ7中。Then, according to the data reading mode, configure the right 8 bits of the binary data "1010 1010 1010 1010" into the eight data channels DQ0 to DQ7, that is, 0, 1, 0, 1, 0, 1, 0, 1 Configure them in sequence into the data channels DQ0 to DQ7 of the chip under test.
且,在DQ0中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第一位“0”取真值的数据“0”。在DQ1中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第二位“1”取真值的数据“1”。依此类推,在DQ7中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第八位“1”取真值的数据“1”。Furthermore, in DQ0, from the first memory cell to the eighth memory cell in the first column of memory cells, data "0" that takes a true value for the first digit "0" from the right is arranged. In DQ1, from the first memory cell to the eighth memory cell in the first column of memory cells, data "1" that takes a true value for the second digit "1" from the right is arranged. By analogy, in DQ7, from the first memory cell to the eighth memory cell in the first column of memory cells, data "1" that takes the true value of the eighth bit "1" from the right is configured.
此时,相应地,在步骤S600中,通过并行模式,读取子寄存器MPR0的实际值。读取时,依次读取DQ0至DQ7中的第一个存储单元中的数据,从而获取子寄存器MPR0的实际值。然后,可以将子寄存器MPR0的实际值与子寄存器MPR0的读取初始值的相应位数据进行比较,从而获取比较结果。如果数据读取过程无问题,则DQ0至DQ7中的第一个存储单元中的数据应该依次为0、1、0、1、0、1、0、1,此时读取子寄存器MPR0的实际值为01010101, 与子寄存器MPR0的读取初始值01010101的各位数据均相同。At this time, correspondingly, in step S600, the actual value of the sub-register MPR0 is read through the parallel mode. When reading, read the data in the first storage unit in DQ0 to DQ7 in order to obtain the actual value of sub-register MPR0. Then, the actual value of sub-register MPR0 can be compared with the corresponding bit data of the read initial value of sub-register MPR0 to obtain the comparison result. If there is no problem in the data reading process, the data in the first storage unit in DQ0 to DQ7 should be 0, 1, 0, 1, 0, 1, 0, 1 in sequence. At this time, read the actual value of sub-register MPR0 The value is 01010101, which is the same as the read initial value 01010101 of sub-register MPR0.
对于子寄存器MPR1、MPR2、MPR3,数据配置过程可以与子寄存器MPR0的类似。For sub-registers MPR1, MPR2, and MPR3, the data configuration process can be similar to that of sub-register MPR0.
如,子寄存器MPR1的读取初始值可以为:00110011。For example, the initial read value of sub-register MPR1 can be: 00110011.
此时,可以根据子寄存器MPR1的读取初始值“00110011”,配置数据寄存器的值为十六进制的“CCCC”,且配置数据取值模式为:由一位二进行数据生成同一数据通道内的八位存储数据(每位存储数据存入一个存储单元),且八位存储数据中每一位均对二进制数据取真值。At this time, you can read the initial value "00110011" according to the sub-register MPR1, the value of the configuration data register is "CCCC" in hexadecimal, and the configuration data value mode is: data generation by one bit and two for the same data channel The eight-bit stored data (each bit of stored data is stored in one storage unit), and each bit of the eight-bit stored data takes a true value for the binary data.
然后将十六进制的“CCCC”转化为二进制数据“0011 0011 0011 0011”。十六进制转化成二进制时,从右往左进行转换。一个十六进制的C对应的二进制数据为“0011”,二进制数据也从右到左排列。Then convert the hexadecimal "CCCC" into binary data "0011 0011 0011 0011". When converting hexadecimal to binary, conversion is performed from right to left. The binary data corresponding to a hexadecimal C is "0011", and the binary data is also arranged from right to left.
然后,根据数据读取模式,将二进制数据“0011 0011 0011 0011”的右数8位分别配置入DQ0至DQ7八个数据通道中,即将1、1、0、0、1、1、0、0依次配置入被测芯片的数据通道DQ0至DQ7中。Then, according to the data reading mode, configure the right 8 bits of the binary data "0011 0011 0011 0011" into the eight data channels DQ0 to DQ7, that is, 1, 1, 0, 0, 1, 1, 0, 0 Configure them in sequence into the data channels DQ0 to DQ7 of the chip under test.
在DQ0中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第一位“1”取真值的数据“1”。在DQ1中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第二位“1”取真值的数据“1”。依此类推,在DQ7中,从第一列存储单元中的第一个存储单元至第八个存储单元,均配置入对右数第八位“0”取真值的数据“0”。In DQ0, from the first memory cell to the eighth memory cell in the first column of memory cells, data "1" that takes a true value for the first bit "1" from the right is arranged. In DQ1, from the first memory cell to the eighth memory cell in the first column of memory cells, data "1" that takes a true value for the second digit "1" from the right is arranged. By analogy, in DQ7, from the first memory cell to the eighth memory cell in the first column of memory cells, data "0" that takes the true value of the eighth bit "0" from the right is configured.
对于子寄存器MPR2,其读取初始值可以为:00001111。此时,可以根据子寄存器MPR2的读取初始值“00001111”,配置数据寄存器的值为十六进制的“F0F0”,且配置数据取值模式为:由一位二进行数据生成同一数据通道内的八位存储数据(每位存储数据存入一个存储单元),且对于同一二进制数据,八位存储数据中每一位均对其取真值。For sub-register MPR2, its initial read value can be: 00001111. At this time, you can read the initial value "00001111" according to the sub-register MPR2, the value of the configuration data register is "F0F0" in hexadecimal, and the configuration data value mode is: data is generated by one bit and two in the same data channel The eight-bit stored data (each bit of stored data is stored in one storage unit), and for the same binary data, each bit of the eight-bit stored data has a true value.
对于子寄存器MPR3,其读取初始值可以为:00000000。此时,可以根据子寄存器MPR3的读取初始值“00000000”,配置数据寄存器的值为十六进制的“0000”,且配置数据取值模式为:由一位二进行数据生成同一数据通道 内的八位存储数据(每位存储数据存入一个存储单元),且对于同一二进制数据,八位存储数据中每一位均对其取真值。For sub-register MPR3, its initial read value can be: 00000000. At this time, you can read the initial value "00000000" according to the sub-register MPR3, the value of the configuration data register is "0000" in hexadecimal, and the configuration data value mode is: data is generated by one bit and two in the same data channel The eight-bit stored data (each bit of stored data is stored in one storage unit), and for the same binary data, each bit of the eight-bit stored data takes a true value.
此时,相应地,在步骤S600中,通过并行模式,读取子寄存器MPR1、MPR2、MPR3的实际值。读取时,依次读取DQ0至DQ7中的第一个存储单元中的数据。At this time, correspondingly, in step S600, the actual values of the sub-registers MPR1, MPR2, and MPR3 are read through the parallel mode. When reading, read the data in the first memory unit in DQ0 to DQ7 in sequence.
可以理解的是,本实施例中,步骤S412根据数据寄存器的值以及数据取值模式,对每个子寄存器进行数据通道的数据配置之后,可以将各子寄存器的数据逐个存入被测芯片的各数据通道中的存储单元中。当根据配置数据,将一个子寄存器的数据存入之后,可以对其进行步骤S600的读取。然后,再根据配置数据,将另一个子寄存器的数据存入,之后对其进行步骤S600的读取。依此类推,完成各个子寄存器的真实值的读取。It can be understood that in this embodiment, after step S412 configures the data channel of each sub-register according to the value of the data register and the data value mode, the data of each sub-register can be stored one by one in each of the chips under test. in the storage unit in the data channel. After the data of a sub-register is stored according to the configuration data, it can be read in step S600. Then, according to the configuration data, the data of another sub-register is stored, and then read in step S600. By analogy, the reading of the real value of each sub-register is completed.
作为另一示例,目标寄存器可以为MRS3,其可以包括MPR0、MPR1、MPR2、MPR3四个子寄存器。其中,子寄存器MPR0的读取初始值可以为:01010101。As another example, the target register may be MRS3, which may include four sub-registers MPR0, MPR1, MPR2, and MPR3. Among them, the initial read value of sub-register MPR0 can be: 01010101.
此时,请参阅图5,可以根据子寄存器MPR0的读取初始值“01010101”,配置数据寄存器的值为十六进制的“0000”,配置数据取值模式为:由一位二进制数据生成同一数据通道内的八位存储数据(每位存储数据存入一个存储单元),且对于同一二进制数据,八位存储数据中每一奇数位均对其取真值,八位存储数据中每一偶数位均对其取反值。At this time, please refer to Figure 5. You can read the initial value "01010101" according to the sub-register MPR0, the value of the configuration data register is "0000" in hexadecimal, and the configuration data value mode is: generated by one-bit binary data Eight-bit stored data in the same data channel (each bit of stored data is stored in one storage unit), and for the same binary data, every odd bit in the eight-bit stored data has a true value, and each of the eight-bit stored data has a true value. Even-numbered bits are inverted.
然后将十六进制的“0000”转化为二进制数据“0000 0000 0000 0000”。十六进制转化成二进制时,从右往左进行转换。一个十六进制的0对应的二进制数据为“0000”,二进制数据也从右到左排列。Then convert hexadecimal "0000" into binary data "0000 0000 0000 0000". When converting hexadecimal to binary, conversion is performed from right to left. The binary data corresponding to a hexadecimal 0 is "0000", and the binary data is also arranged from right to left.
然后,根据数据读取模式,将二进制数据“0000 0000 0000 0000”的右数8位分别配置入DQ0至DQ7八个数据通道中,即将0、0、0、0、0、0、0、0依次配置入被测芯片的数据通道DQ0至DQ7中。Then, according to the data reading mode, configure the right 8 bits of the binary data "0000 0000 0000 0000" into the eight data channels DQ0 to DQ7, that is, 0, 0, 0, 0, 0, 0, 0, 0 Configure them in sequence into the data channels DQ0 to DQ7 of the chip under test.
且,在DQ0中,从第一列存储单元中的第一个存储单元至第八个存储单元,依次配置对右数第一位“0”交替取真值与取反值的八位结果数据,具体 地,依次配置0、1、0、1、0、1、0、1。Moreover, in DQ0, from the first memory cell to the eighth memory cell in the first column of memory cells, the eight-bit result data of alternately taking the true value and the inverse value of the first "0" from the right is arranged. , specifically, configure 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
在DQ1中,从第一列存储单元中的第一个存储单元至第八个存储单元,依次配置右数第二位“0”交替取真值与取反值的八位结果数据,具体地,依次配置0、1、0、1、0、1、0、1。In DQ1, from the first storage unit to the eighth storage unit in the first column of storage units, the eight-bit result data of the second digit "0" from the right alternately taking the true value and the negative value is configured in sequence. Specifically, , configure 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
依次类推,在DQ7中,从第一列存储单元中的第一个存储单元至第八个存储单元,依次配置对右数第八位“0”交替取真值与取反值的八位结果数据,具体地,依次配置0、1、0、1、0、1、0、1。By analogy, in DQ7, from the first memory unit to the eighth memory unit in the first column of memory units, the eight-bit result of alternately taking the true value and the negative value of the eighth bit "0" from the right is configured. Data, specifically, is configured with 0, 1, 0, 1, 0, 1, 0, 1 in sequence.
对于子寄存器MPR1、MPR2、MPR3,数据配置过程可以与子寄存器MPR0的类似。For sub-registers MPR1, MPR2, and MPR3, the data configuration process can be similar to that of sub-register MPR0.
此时,相应地,在步骤S600中,通过串行模式,读取子寄存器MPR0、MPR1、MPR2、MPR3的实际值。读取时,依次读取同一数据通道(如DQ0)中的第一列存储单元中的第一个存储单元至第八个存储单元中的数据。被读取的数据通道即作为目标寄存器的各子寄存器的数据通道。At this time, correspondingly, in step S600, the actual values of the sub-registers MPR0, MPR1, MPR2, and MPR3 are read through the serial mode. When reading, the data in the first to eighth memory cells in the first column of memory cells in the same data channel (such as DQ0) are read sequentially. The data channel being read is the data channel of each sub-register of the target register.
例如,读取MPR0时,依次读取同一数据通道(如DQ0)中的第一列存储单元中的第一个存储单元至第八个存储单元中的数据,从而获取子寄存器MPR0的实际值。然后,可以将子寄存器MPR0的实际值与子寄存器MPR0的读取初始值的相应位数据进行比较,从而获取比较结果。如果数据读取过程无问题,则MPR0同一数据通道(如DQ0)中的第一列存储单元中的第一个存储单元至第八个存储单元中的数据应该依次为0、1、0、1、0、1、0、1,此时读取子寄存器MPR0的实际值为01010101,与子寄存器MPR0的读取初始值01010101的各位数据均相同。For example, when reading MPR0, read the data in the first to eighth memory cells in the first column of memory cells in the same data channel (such as DQ0) in order to obtain the actual value of sub-register MPR0. Then, the actual value of sub-register MPR0 can be compared with the corresponding bit data of the read initial value of sub-register MPR0 to obtain the comparison result. If there is no problem in the data reading process, the data in the first to eighth memory cells in the first column of memory cells in the same data channel of MPR0 (such as DQ0) should be 0, 1, 0, 1 in sequence. , 0, 1, 0, 1. At this time, the actual value read from the sub-register MPR0 is 01010101, which is the same as the initial value 01010101 read from the sub-register MPR0.
在一些实施例中,也可以在经历一次步骤S411、步骤S412,然后以并行模式读取各子寄存器的实际值之后,再次回到步骤S411,根据每组读取初始值,重新配置数据寄存器的值以及数据取值模式。之后,再以串行模式读取各子寄存器的实际值。In some embodiments, after going through step S411 and step S412 once, and then reading the actual value of each sub-register in parallel mode, return to step S411 again, and reconfigure the data register according to the initial value read for each group. value and data value mode. After that, read the actual value of each sub-register in serial mode.
此时,对并行与串行情况下的时序均进行检测,能有效提高测试覆盖率,从而进一步提高产品可靠性。At this time, testing the timing in both parallel and serial situations can effectively improve the test coverage, thereby further improving product reliability.
在一个实施例中,步骤S800包括:根据各子寄存器的实际值与其读取初始值,判断被测芯片是否存在时序偏移;In one embodiment, step S800 includes: determining whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value;
当任意一个子寄存器的实际值与其读取初始值不同时,判定被测芯片存在并行时序偏移或串行时序偏移。When the actual value of any sub-register is different from the initial read value, it is determined that the chip under test has a parallel timing offset or a serial timing offset.
具体地,当步骤S400根据每组读取初始值,对每个子寄存器进行数据通道的数据配置之后,步骤S600通过并行模式读取各子寄存器的实际值。此时,当任意一个子寄存器的实际值与其读取初始值不同时,判定被测芯片存在并行时序偏移。Specifically, after step S400 configures the data channel of each sub-register according to the initial value read by each group, step S600 reads the actual value of each sub-register in parallel mode. At this time, when the actual value of any sub-register is different from the initial read value, it is determined that the chip under test has a parallel timing offset.
当步骤S400根据每组读取初始值,对每个子寄存器进行数据通道的数据配置之后,步骤S600通过串行模式读取各子寄存器的实际值。此时,当任意一个子寄存器的实际值与其读取初始值不同时,判定被测芯片存在串行时序偏移。After step S400 configures the data channel of each sub-register based on the initial value read from each group, step S600 reads the actual value of each sub-register through the serial mode. At this time, when the actual value of any sub-register is different from the initial read value, it is determined that the chip under test has a serial timing offset.
在一个实施例中,当各子寄存器的实际值与其读取初始值均相同时,判定被测芯片不存在时序偏移。In one embodiment, when the actual value of each sub-register and its read initial value are the same, it is determined that there is no timing offset in the chip under test.
具体地,可以是步骤S400根据每组读取初始值,对每个子寄存器进行数据通道的数据配置之后,步骤S600通过并行模式读取各子寄存器的实际值,各子寄存器的实际值与其读取初始值均相同,此时即判定被测芯片不存在时序偏移。Specifically, it may be that step S400 configures the data channel of each sub-register according to the initial value read by each group, and then step S600 reads the actual value of each sub-register in parallel mode, and the actual value of each sub-register is the same as the read value. The initial values are all the same. At this time, it is determined that there is no timing offset in the chip under test.
也可以是步骤S400根据每组读取初始值,对每个子寄存器进行数据通道的数据配置之后,步骤S600通过串行模式读取各子寄存器的实际值,各子寄存器的实际值与其读取初始值均相同,此时即判定被测芯片不存在时序偏移。It can also be that after step S400 configures the data channel of each sub-register according to the initial value read by each group, step S600 reads the actual value of each sub-register through the serial mode. The actual value of each sub-register is different from the read initial value. If the values are all the same, it is determined that there is no timing offset in the chip under test.
也可以是步骤S400根据每组读取初始值,对每个子寄存器进行数据通道的数据配置之后,步骤S600通过并行模式读取各子寄存器的实际值,各子寄存器的实际值与其读取初始值均相同。然后,步骤S400根据每组读取初始值,重新对每个子寄存器进行数据通道的数据配置,之后步骤S600通过串行模式读取各子寄存器的实际值,各子寄存器的实际值与其读取初始值均相同。此时,判定被测芯片不存在时序偏移。It can also be that after step S400 configures the data channel of each sub-register according to the initial value read by each group, step S600 reads the actual value of each sub-register in parallel mode, and the actual value of each sub-register is different from the read initial value. All are the same. Then, step S400 re-configures the data channel of each sub-register according to the initial value read by each group, and then step S600 reads the actual value of each sub-register through the serial mode. The actual value of each sub-register is different from the initial read value. The values are all the same. At this time, it is determined that there is no timing offset in the chip under test.
即被测芯片是否存在时序偏移,可以只判断并行情况下是否偏移,也可以只判断串行情况下是否偏移,也可以同时判断并行情况下与串行情况下是否偏移,当二者均不偏移时才判定被测芯片不存在时序偏移。否则,可能存在并行时序偏移和/或串行时序偏移。That is, whether there is a timing offset in the chip under test, you can only judge whether there is an offset in the parallel case, or you can only judge whether there is an offset in the serial case, or you can also judge whether there is an offset in the parallel case and the serial case at the same time. When the two Only when neither of them deviates can it be judged that there is no timing skew in the chip under test. Otherwise, there may be parallel timing skew and/or serial timing skew.
应该理解的是,虽然图1、图2以及图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图图1、图2以及图3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that although the steps in the flowcharts of Figures 1, 2 and 3 are shown in sequence as indicated by arrows, these steps are not necessarily executed in the order indicated by arrows. Unless explicitly stated in this article, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in Figures 1, 2 and 3 may include multiple steps or stages. These steps or stages are not necessarily executed at the same time, but may be executed at different times. The execution order of the steps or stages is not necessarily sequential, but may be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
在一个实施例中,请参阅图6,提供了一种时序测试装置,包括:获取模块100、配置模块200、读取模块300和判断模块400,其中:In one embodiment, please refer to Figure 6, a timing test device is provided, including: an acquisition module 100, a configuration module 200, a reading module 300 and a judgment module 400, wherein:
获取模块100用于获取目标寄存器的读取资料初始值,目标寄存器为被测芯片中的寄存器。The acquisition module 100 is used to acquire the initial value of the read data of the target register, which is a register in the chip under test.
配置模块200用于根据读取资料初始值,对目标寄存器进行数据通道的数据配置。The configuration module 200 is used to configure the data channel of the target register according to the initial value of the read data.
读取模块300用于读取目标寄存器的实际值。The reading module 300 is used to read the actual value of the target register.
判断模块400用于根据实际值与读取资料初始值,判断被测芯片是否存在时序偏移。The judgment module 400 is used to judge whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
在一个实施例中,请参阅图7,时序测试装置还包括功能开启模块500。功能开启模块500用于开启目标寄存器功能。In one embodiment, please refer to FIG. 7 , the timing test device further includes a function enabling module 500 . The function enabling module 500 is used to enable the target register function.
在一个实施例中,请参阅图7,功能开启模块500包括模式寄存器510。配置模块200还用于配置模式寄存器510的值,并根据模式寄存器510的值调用目标寄存器。In one embodiment, referring to FIG. 7 , the function enabling module 500 includes a mode register 510 . The configuration module 200 is also used to configure the value of the mode register 510 and call the target register according to the value of the mode register 510.
在一个实施例中,目标寄存器为包括多个子寄存器的多功能寄存器,读 取资料初始值包括与各子寄存器相对应的多组读取初始值。In one embodiment, the target register is a multi-function register including multiple sub-registers, and the initial value of the read data includes multiple sets of initial read values corresponding to each sub-register.
配置模块200用于根据每组读取初始值,对每个子寄存器进行数据通道的数据配置。The configuration module 200 is used to configure the data channel of each sub-register according to the initial value read by each group.
在一个实施例中,请参阅图7,配置模块200包括数据寄存器210。数据寄存器210例如可以为拓扑寄存器。In one embodiment, referring to FIG. 7 , the configuration module 200 includes a data register 210 . The data register 210 may be a topology register, for example.
数据寄存器210用于根据每组读取初始值,配置数据寄存器的值以及数据取值模式,并根据数据寄存器的值以及数据取值模式,对每个子寄存器进行数据通道的数据配置。The data register 210 is used to configure the value of the data register and the data value mode according to the initial value read by each group, and configure the data channel of each sub-register according to the value of the data register and the data value mode.
在一个实施例中,读取模块300用于根据并行模式读取各子寄存器的实际值。In one embodiment, the reading module 300 is used to read the actual value of each sub-register according to the parallel mode.
在一个实施例中,读取模块300用于根据串行模式读取各子寄存器的实际值。In one embodiment, the reading module 300 is used to read the actual value of each sub-register according to the serial mode.
在一个实施例中,判断模块400根据各子寄存器的实际值与其读取初始值,判断被测芯片是否存在时序偏移。当任意一个子寄存器的实际值与其读取初始值不同时,判断模块400判定被测芯片存在并行时序偏移或串行时序偏移。In one embodiment, the determination module 400 determines whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value. When the actual value of any sub-register is different from its read initial value, the determination module 400 determines that there is a parallel timing offset or a serial timing offset in the chip under test.
在一个实施例中,当各子寄存器的实际值与其读取初始值均相同时,判断模块400判定被测芯片不存在时序偏移。In one embodiment, when the actual value of each sub-register and its read initial value are the same, the determination module 400 determines that there is no timing offset in the chip under test.
关于时序测试装置的具体限定可以参见上文中对于时序测试方法的限定,在此不再赘述。上述时序测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。Regarding the specific limitations on the timing test device, please refer to the limitations on the timing test method mentioned above, which will not be described again here. Each module in the above timing test device can be implemented in whole or in part by software, hardware and combinations thereof. Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、 内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种时序测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. 8 . The computer device includes a processor, memory, communication interface, display screen and input device connected through a system bus. Wherein, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes non-volatile storage media and internal memory. The non-volatile storage medium stores operating systems and computer programs. This internal memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media. The communication interface of the computer device is used for wired or wireless communication with external terminals. The wireless mode can be implemented through WIFI, mobile cellular network, NFC (Near Field Communication) or other technologies. The computer program implements a timing testing method when executed by a processor. The display screen of the computer device may be a liquid crystal display or an electronic ink display. The input device of the computer device may be a touch layer covered on the display screen, or may be a button, trackball or touch pad provided on the computer device shell. , it can also be an external keyboard, trackpad or mouse, etc.
本领域技术人员可以理解,图8中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。Those skilled in the art can understand that the structure shown in Figure 8 is only a block diagram of a partial structure related to the disclosed solution, and does not constitute a limitation on the computer equipment to which the disclosed solution is applied. The specific computer device can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。In one embodiment, a computer device is also provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, it implements the steps in the above method embodiments.
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。In one embodiment, a computer program product is provided, including a computer program that implements the steps in each of the above method embodiments when executed by a processor.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。 作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage. In the media, when executed, the computer program may include the processes of the above method embodiments. Any reference to memory, storage, database or other media used in various embodiments provided by the present disclosure may include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in many forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM).
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments can be combined in any way. To simplify the description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, all possible combinations should be used. It is considered to be within the scope of this manual.
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。The above-described embodiments only express several implementation modes of the present disclosure, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention. It should be noted that, for those of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present disclosure, and these all fall within the protection scope of the present disclosure. Therefore, the protection scope of the patent disclosed should be determined by the appended claims.

Claims (16)

  1. 一种时序测试方法,所述方法包括:A timing testing method, the method includes:
    获取目标寄存器的读取资料初始值,所述目标寄存器为被测芯片中的寄存器;Obtain the initial value of the read data of the target register, which is a register in the chip under test;
    根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置;According to the initial value of the read data, perform data configuration of the data channel on the target register;
    读取所述目标寄存器的实际值;Read the actual value of the target register;
    根据所述实际值与所述读取资料初始值,判断所述被测芯片是否存在时序偏移。According to the actual value and the initial value of the read data, it is determined whether there is a timing offset in the chip under test.
  2. 根据权利要求1所述的时序测试方法,其中,所述获取目标寄存器的读取资料初始值之前,还包括:The timing testing method according to claim 1, wherein before obtaining the initial value of the read data of the target register, it further includes:
    开启所述目标寄存器功能。Enable the target register function.
  3. 根据权利要求2所述的时序测试方法,其中,所述开启所述目标寄存器功能,包括:The timing testing method according to claim 2, wherein turning on the target register function includes:
    配置模式寄存器的值;Configuration mode register value;
    根据所述模式寄存器的值,调用所述目标寄存器。The target register is called based on the value of the mode register.
  4. 根据权利要求1所述的时序测试方法,其中,所述目标寄存器为包括多个子寄存器的多功能寄存器,所述读取资料初始值包括与各子寄存器相对应的多组读取初始值,The timing test method according to claim 1, wherein the target register is a multi-function register including a plurality of sub-registers, and the read data initial value includes multiple sets of read initial values corresponding to each sub-register,
    所述根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置,包括:The data configuration of the data channel for the target register according to the initial value of the read data includes:
    根据每组所述读取初始值,对每个所述子寄存器进行数据通道的数据配置。According to the read initial value of each group, the data configuration of the data channel is performed for each of the sub-registers.
  5. 根据权利要求4所述的时序测试方法,其中,所述根据每组所述读取初始值,配置各所述子寄存器的各数据通道中的数据,包括:The timing test method according to claim 4, wherein said configuring data in each data channel of each said sub-register according to each group of said read initial values includes:
    根据每组所述读取初始值,配置数据寄存器的值以及数据取值模式;Read the initial value according to each group's instructions, configure the value of the data register and the data value mode;
    根据所述数据寄存器的值以及所述数据取值模式,对每个所述子寄存器进行数据通道的数据配置。According to the value of the data register and the data value mode, the data configuration of the data channel is performed for each of the sub-registers.
  6. 根据权利要求4所述的时序测试方法,其中,所述读取所述目标寄存器的实际值,包括:The timing testing method according to claim 4, wherein reading the actual value of the target register includes:
    根据并行模式,读取各所述子寄存器的实际值。According to the parallel mode, the actual value of each of the sub-registers is read.
  7. 根据权利要求4所述的时序测试方法,其中,所述读取所述目标寄存器的实际值,包括:The timing testing method according to claim 4, wherein reading the actual value of the target register includes:
    根据串行模式,读取各所述子寄存器的实际值。According to the serial mode, the actual value of each said sub-register is read.
  8. 根据权利要求6或7所述的时序测试方法,其中,所述根据所述实际值与所述读取资料初始值,判断所述目标寄存器是否存在时序偏移,包括:The timing test method according to claim 6 or 7, wherein determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data includes:
    根据各所述子寄存器的实际值与其读取初始值,判断所述被测芯片是否存在时序偏移;Determine whether there is a timing offset in the chip under test based on the actual value of each sub-register and its read initial value;
    当任意一个所述子寄存器的实际值与其读取初始值不同时,判定所述被测芯片存在并行时序偏移或串行时序偏移。When the actual value of any of the sub-registers is different from its read initial value, it is determined that the chip under test has a parallel timing offset or a serial timing offset.
  9. 根据权利要求8所述的时序测试方法,其中,所述根据所述实际值与所述读取资料初始值,判断所述目标寄存器是否存在时序偏移,还包括:The timing testing method according to claim 8, wherein determining whether there is a timing offset in the target register based on the actual value and the initial value of the read data further includes:
    当各所述子寄存器的实际值与其读取初始值均相同时,判定所述被测芯片不存在时序偏移。When the actual value of each sub-register and its read initial value are the same, it is determined that there is no timing offset in the chip under test.
  10. 一种时序测试装置,所述装置包括:A timing test device, the device includes:
    获取模块,用于获取目标寄存器的读取资料初始值,所述目标寄存器为被测芯片中的寄存器;The acquisition module is used to obtain the initial value of the read data of the target register, which is a register in the chip under test;
    配置模块,用于根据所述读取资料初始值,对所述目标寄存器进行数据通道的数据配置;A configuration module configured to perform data configuration of the data channel on the target register according to the initial value of the read data;
    读取模块,用于读取所述目标寄存器的实际值;A reading module, used to read the actual value of the target register;
    判断模块,用于根据所述实际值与所述读取资料初始值,判断所述被测芯片是否存在时序偏移。A judgment module is used to judge whether there is a timing offset in the chip under test based on the actual value and the initial value of the read data.
  11. 根据权利要求10所述的时序测试装置,其中,所述装置还包括:The timing test device according to claim 10, wherein the device further includes:
    功能开启模块,用于开启所述目标寄存器功能。A function enabling module is used to enable the target register function.
  12. 根据权利要求11所述的时序测试装置,其中,所述功能开启模块包 括模式寄存器,所述配置模块还用于配置模式寄存器的值,并根据所述模式寄存器的值调用所述目标寄存器。The timing test device according to claim 11, wherein the function enabling module includes a mode register, and the configuration module is also used to configure the value of the mode register and call the target register according to the value of the mode register.
  13. 根据权利要求10所述的时序测试装置,其中,The timing test device according to claim 10, wherein,
    所述目标寄存器为包括多个子寄存器的多功能寄存器,所述读取资料初始值包括与各子寄存器相对应的多组读取初始值,The target register is a multi-function register including multiple sub-registers, and the initial read data value includes multiple sets of read initial values corresponding to each sub-register,
    所述配置模块还包括数据寄存器,所述数据寄存器用于根据每组所述读取初始值,配置数据寄存器的值以及数据取值模式,并根据所述数据寄存器的值以及所述数据取值模式,对每个所述子寄存器进行数据通道的数据配置。The configuration module also includes a data register. The data register is used to configure the value of the data register and the data value mode according to the read initial value of each group, and configure the value of the data register and the data value mode according to the value of the data register and the data value. mode, perform data configuration of the data channel for each of the sub-registers.
  14. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述时序测试方法的步骤。A computer device includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements the steps of the timing testing method according to any one of claims 1 to 9.
  15. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述时序测试方法的步骤。A computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the timing testing method of any one of claims 1 to 9 are implemented.
  16. 一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至9中任一项所述时序测试方法的步骤。A computer program product, including a computer program, which implements the steps of the timing testing method according to any one of claims 1 to 9 when executed by a processor.
PCT/CN2022/112676 2022-07-20 2022-08-16 Time sequence test method and apparatus, computer device, and storage medium WO2024016414A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210858133.7 2022-07-20
CN202210858133.7A CN115145775A (en) 2022-07-20 2022-07-20 Time sequence testing method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2024016414A1 true WO2024016414A1 (en) 2024-01-25

Family

ID=83412971

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/112676 WO2024016414A1 (en) 2022-07-20 2022-08-16 Time sequence test method and apparatus, computer device, and storage medium

Country Status (2)

Country Link
CN (1) CN115145775A (en)
WO (1) WO2024016414A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060052961A1 (en) * 2004-08-20 2006-03-09 Best Scott C Individual data line strobe-offset control in memory systems
CN110797076A (en) * 2019-10-16 2020-02-14 中国科学院微电子研究所 NAND Flash time sequence testing method
US20200293415A1 (en) * 2019-03-15 2020-09-17 Qualcomm Incorporated Memory training
CN113791338A (en) * 2021-11-17 2021-12-14 北京中科海芯科技有限公司 Chip testing method and device
CN114397561A (en) * 2022-03-24 2022-04-26 龙芯中科技术股份有限公司 Timing error detection circuit, method and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060052961A1 (en) * 2004-08-20 2006-03-09 Best Scott C Individual data line strobe-offset control in memory systems
US20200293415A1 (en) * 2019-03-15 2020-09-17 Qualcomm Incorporated Memory training
CN110797076A (en) * 2019-10-16 2020-02-14 中国科学院微电子研究所 NAND Flash time sequence testing method
CN113791338A (en) * 2021-11-17 2021-12-14 北京中科海芯科技有限公司 Chip testing method and device
CN114397561A (en) * 2022-03-24 2022-04-26 龙芯中科技术股份有限公司 Timing error detection circuit, method and electronic equipment

Also Published As

Publication number Publication date
CN115145775A (en) 2022-10-04

Similar Documents

Publication Publication Date Title
US20210158861A1 (en) Semiconductor memory devices and methods of operating the semiconductor memory devices
US20070277066A1 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US20090109753A1 (en) Nonvolatile semiconductor memory
US10665316B2 (en) Memory device
US20090296504A1 (en) Semiconductor memory device and method of testing semiconductor memory device
US20170123892A1 (en) Parity check circuit and memory device including the same
US9390815B1 (en) Semiconductor system and method for testing semiconductor device
US20120250434A1 (en) Method of accelerating write timing calibration and write timing calibration acceleration circuit in semiconductor memory device
US20080282120A1 (en) Memory structure, repair system and method for testing the same
US20200312386A1 (en) Semiconductor storage device
WO2021169692A1 (en) Repair circuit, memory, and repair method
US7246279B2 (en) Static random access memory (SRAM) unit and method for operating the same
US11481124B2 (en) Memory systems and methods of training the memory systems
JP2007042264A (en) Memory module and its test method
KR20080040247A (en) Semiconductor chip package, method of testing the same and test system for the same
WO2021031149A1 (en) Test circuit of memory and device
KR20190086936A (en) Memory device
WO2024016414A1 (en) Time sequence test method and apparatus, computer device, and storage medium
US10043588B2 (en) Memory device
US20030021169A1 (en) Method for on-chip testing of memory cells of an integrated memory circuit
US8488400B2 (en) Multi-port memory device
JPH10106297A (en) Parallel bit test circuit for semiconductor memory apparatus
US20080151659A1 (en) Semiconductor memory device
WO2023102779A1 (en) Memory, memory test method, and electronic device
JPH0512900A (en) Semiconductor storage containing test function and its test method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22951681

Country of ref document: EP

Kind code of ref document: A1