CN114325311A - Test vector coding method - Google Patents

Test vector coding method Download PDF

Info

Publication number
CN114325311A
CN114325311A CN202111553469.4A CN202111553469A CN114325311A CN 114325311 A CN114325311 A CN 114325311A CN 202111553469 A CN202111553469 A CN 202111553469A CN 114325311 A CN114325311 A CN 114325311A
Authority
CN
China
Prior art keywords
test
field
function
row
repeat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111553469.4A
Other languages
Chinese (zh)
Inventor
梁超广
谢达
吴镇
王征
吴明川
丁正楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 58 Research Institute
Wuxi Zhongwei Yixin Co Ltd
Original Assignee
CETC 58 Research Institute
Wuxi Zhongwei Yixin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 58 Research Institute, Wuxi Zhongwei Yixin Co Ltd filed Critical CETC 58 Research Institute
Priority to CN202111553469.4A priority Critical patent/CN114325311A/en
Publication of CN114325311A publication Critical patent/CN114325311A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a test vector coding method, which relates to the technical field of testing, and divides a test file into a plurality of sub-files, and for each sub-file containing P-line test vectors, column coding is carried out on excitation codes of the P-line test vectors in the sub-files to obtain M excitation data frames, and line coding is carried out on function codes of the P-line test vectors to obtain P function data frames, so as to obtain the coding result of the sub-file, wherein each excitation data frame corresponds to one test channel and contains the coding result of the excitation codes corresponding to the test channel in all the P-line test vectors in the sub-files, and each function data frame contains the coding result of the function codes in the corresponding line of test vectors; the method can well improve the storage depth of the test vectors, particularly greatly improve the compression efficiency under the condition of less actually used test channels, and can store more test vector files in the limited storage space of the tester.

Description

Test vector coding method
Technical Field
The invention relates to the technical field of testing, in particular to a coding method of a test vector.
Background
With the rapid development of Integrated Circuit (IC) technology, the integration level of digital circuits is continuously improved, and a batch of integrated circuits with high integration level, such as FPGAs and CPUs, are emerging.
In order to enable the tester to meet the batch test of the function test of the integrated circuits, the tester needs to be capable of storing enough test vectors, storing all the test vectors required by the function test of the single chip, and having higher requirement on the internal storage space of the tester. If the tester can not meet the test vector depth required by the monolithic circuit function test, the test vector needs to be loaded for multiple times, and the loading of the test vector occupies the main time of the whole test process, so the test efficiency is greatly reduced.
Disclosure of Invention
The present inventor proposes a test vector encoding method aiming at the above problems and technical requirements, and the technical solution of the present invention is as follows:
a method of encoding a test vector, the method comprising:
acquiring a test file, wherein the test file comprises a plurality of rows of test vectors, each row of test vectors comprises a function code and M excitation codes, and each excitation code corresponds to one test channel of a tester executing the test file; the function code is used for indicating a test function executed by the test vector, and the excitation code corresponding to each test channel is used for indicating the test behavior information of the test channel under the current test vector;
dividing the test file into a plurality of sub-files, wherein each sub-file comprises P lines of test vectors in the test file;
for each subfile, performing column coding on excitation codes of P lines of test vectors in the subfile to obtain M excitation data frames, performing line coding on function codes of the P lines of test vectors to obtain P function data frames, and obtaining coding results of the subfile, wherein each excitation data frame corresponds to one test channel and comprises coding results of the excitation codes corresponding to the test channel in all the P lines of test vectors in the subfile, and each function data frame corresponds to one line of test vectors and comprises coding results of the function codes in the corresponding line of test vectors.
The further technical scheme is that the test file is divided into a plurality of sub-files, and the method comprises the following steps:
compressing a plurality of continuous same rows of test vectors in a test file into a row of test vectors, wherein function codes of the row of test vectors obtained by compression are used for indicating test functions of all test vectors before compression, each excitation code of the row of test vectors obtained by compression is respectively the same as an excitation code of any row of test vectors before compression, the same test vectors are a plurality of rows of test vectors which have the same function identification and are respectively the same for the excitation codes of each test channel, and the function identification comprises any one of a row repetition function identification R, a segment repetition function identification LOOP, a PAUSE function identification PAUSE and a PPMU test function identification PPMU;
and dividing the test file which completes the compression processing into a plurality of sub-files, wherein each sub-file comprises continuous P lines of test vectors in the test file which completes the compression processing.
The further technical scheme is that the method also comprises the following steps:
when the total number of rows of the test vectors in the test file is not an integral multiple of P, adding a plurality of rows of complementary row test vectors to the integral multiple of P in the test file, wherein each complementary row test vector comprises a row repeated function code and M excitation codes, and each excitation code in the complementary row test vectors is used for indicating that the test behavior information of the corresponding test channel under the current complementary row test vector is in any state.
The technical scheme is that the excitation data frame of each test channel comprises a frame type field, a test channel number field and a data field, field information of the frame type field is a first frame type identifier, the first frame type identifier is used for identifying that the current data frame is an excitation data frame, field information of the test channel number field is a binary code of a channel number of the test channel, field information of the data field comprises coding results of the binary codes of P excitation codes, and the coding result of each excitation code occupies Q bits.
The further technical scheme is that the function codes in the test vector are row repetition function codes, and the row repetition function codes comprise row repetition function identifiers and row repetition times;
the functional data frame obtained by encoding the test vector of the row repeat function code includes a frame type field, a row repeat identification field, a repeat row position field, and a row repeat number field, where field information of the frame type field is a second frame type identifier, the second frame type identifier is used to identify the current data frame as a functional data frame, field information of the row repeat identification field is a binary code corresponding to the row repeat function identifier, field information of the repeat row position field is a binary code of a row number of the test vector in the subfile, and field information of the row repeat number field is a binary code of the row repeat number.
The further technical scheme is that the function codes in the test vector are segment repeat function codes, and the segment repeat function codes comprise segment repeat function identifiers, repeat segment line numbers and segment repeat times;
the functional data frame obtained by encoding the test vector of the segment repeat function code includes a frame type field, a segment repeat identification field, a first cross-file field, a repeat segment start line position field, a second cross-file field, a repeat segment end line position field, and a segment repeat number field: the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the segment repeat identification field is a binary code corresponding to the segment repeat function identification; the field information of the first cross-file field is a first common file identifier or a first cross-file identifier, the first common file identifier indicates that the test vectors of the repeat section starting line and the section repeat function code belong to the same subfile, and the first cross-file identifier indicates that the test vectors of the repeat section starting line and the section repeat function code belong to different subfiles; the field information of the position field of the starting line of the repeated section is a binary code of the line number of the starting line of the repeated section in the subfile; the field information of the second cross-file field is a second same-file identifier or a second cross-file identifier, the second same-file identifier indicates that the end line of the repeated section and the test vector of the section repetition function code belong to the same subfile, and the second cross-file identifier indicates that the end line of the repeated section and the test vector of the section repetition function code belong to different subfiles; the field information of the repeated section ending line position field is a binary code of the line number of the ending line of the repeated section in the subfile; the field information of the segment repetition number field is a binary code of the segment repetition number in the segment repetition function code;
the repeat section start line is a next line of the test vectors of the repeat function code, and the repeat section end line is a line of test vectors having a repeat section line number from the repeat section start line.
The further technical scheme is that the function codes in the test vector are pause function codes, and the pause function codes comprise pause function identifiers and pause periodicity;
the functional data frame obtained by encoding the test vector of the pause functional code comprises a frame type field, a pause identification field, a pause row position field and a pause period number field; the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the pause identification field is a binary code corresponding to the pause function identification, the pause row position field is a binary code of the row number of the test vector of the pause function code in the subfile, and the pause period number field is a binary code of the pause period number in the pause function code.
The method has the further technical scheme that the function codes in the test vectors are PPMU test function codes, and the PPMU test function codes comprise PPMU test function identification and test cycle number;
the functional data frame obtained by encoding the test vector of the PPMU test functional code comprises a frame type field, a PPMU test identification field, a test row position field and a test cycle number field; the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the PPMU test identification field is a binary code corresponding to the PPMU test function identification; the test line position field is a binary code of a line number of a test vector of the PPMU test function code in the subfile; the field information of the test period number field is a binary code of the number of test periods in the PPMU test function code.
The further technical scheme is that the method also comprises the following steps:
after M excitation data frames and P functional data frames obtained by encoding each subfile are encoded, if the total bit occupied by all the data frames is an integral multiple of T, the M excitation data frames and the P functional data frames are directly output to a testing machine as the encoding result of the subfile, and the testing machine decodes according to the data bit width of the T bits; if the total bit occupied by all the data frames is not the integral multiple of T, adding the bit-complementing data frames corresponding to the bit positions until the total bit positions are the integral multiple of T, and outputting the M excitation data frames, the P functional data frames and the bit-complementing data frames as the coding results of the subfiles to a testing machine; the complement data frames contain skip marks, and the skip marks are used for indicating the testing machine to skip the processing of the complement data frames.
The further technical scheme is that the bit-filling data frame comprises a frame type field, a skip identification field and a data field, wherein the field information of the frame type field is a second frame type identification, and the second frame type identification is used for identifying the current data frame as a functional data frame; the field information of the skip identification field is skip identification, and the field information of the data field is default value.
The beneficial technical effects of the invention are as follows:
the application discloses a test vector coding method, which uses subfiles as units for coding, column coding is carried out on excitation codes, and line coding is carried out on function codes, so that the storage depth of test vectors can be well improved.
Furthermore, the test file is firstly subjected to line compression and then is encoded according to the method, so that the compression efficiency of the test vectors can be improved, and more test vectors can be further stored in the same storage space.
Drawings
Fig. 1 is a method flow diagram of an encoding method in one embodiment of the present application.
FIG. 2 is a schematic illustration of a portion of a test vector of a test file in one example.
Fig. 3 is a method flow diagram of an encoding method in another embodiment of the present application.
Fig. 4 is a schematic diagram of a test file obtained by compressing the test file shown in fig. 2.
Fig. 5 is a frame structure diagram of an excitation data frame.
Fig. 6 is a frame configuration diagram of a functional data frame obtained by encoding a test vector of a row repeat functional code.
Fig. 7 is a schematic diagram of a frame structure of a functional data frame obtained by encoding a test vector of a segment repeat function code.
Fig. 8 is a frame configuration diagram of a functional data frame obtained by encoding a test vector of a pause function code.
Fig. 9 is a frame configuration diagram of a functional data frame encoded with test vectors of PPMU test function codes.
FIG. 10 is a diagram illustrating the data frames and the respective occupied bits included in the encoding result obtained by encoding a subfile according to an embodiment.
Fig. 11 is a frame structure diagram of a complementary bit data frame.
Detailed Description
The following further describes the embodiments of the present invention with reference to the drawings.
The present application discloses a method for encoding a test vector, please refer to the flowchart shown in fig. 1, which includes the following steps:
step 102, obtaining a test file, where the test file is a file written for the functional test process of the test machine in advance and needs to be provided for the test machine, and the test machine executes the test file to complete the functional test process of the product to be tested according to the set test flow.
The test file includes a plurality of rows of test vectors, which are generally written in a time sequence, and in one embodiment, a portion of the test file is shown in fig. 2, where each row of test vectors includes a function code and M stimulus codes, each stimulus code corresponding to a test channel of a tester executing the test file. For example, in fig. 2, each row of test vectors includes a function code and 5 excitation codes, the information in the first column is the function code, and the remaining 5 columns respectively correspond to the excitation codes of 5 test channels NUM _15, NUM _18, NUM _3, NUM _20, and NUM _31 of the tester.
The function code is used for indicating the test function executed by the row of test vectors. In this application, the function code includes at least one of a row repeat function code, a segment repeat function code, a pause function code, and a PPMU test function code, wherein:
(1) the row repeat function code is used for indicating the current row of test vectors to be repeatedly executed for a plurality of times, and comprises a row repeat function identifier R and a row repeat number n1,n1Equal to or more than 1, the row repeat function code can be expressed as Rn1. For example, in fig. 2, R1 represents executing the current row of test vectors once, and R100 represents continuously repeating the execution of the current row of test vectors 100 times.
(2) The segment repeat function code is used for instructing to execute a repeat segment for a plurality of times in succession, the repeat segment includes a plurality of rows of test vectors starting from a next row of test vectors of a current row of test vectors, that is, a repeat segment start row is a next row of test vectors of the segment repeat function code, and the repeat segment end row is a row of test vectors having a repeat segment row number from the repeat segment start row. The segment repeat function code includes a segment repeat function identifier LOOP, a number N of repeated segment lines, and a number N of segment repeats2,n2The segment repeat function code can be expressed as LOOPNn2. For example, in fig. 2, LOOP 3100 indicates that 100 iterations of the test vectors included in the iteration block are performed consecutively, and the iteration block includes 3 rows of test vectors as shown in the dashed box 210 in fig. 2.
(3) The PAUSE function code is used for indicating continuous PAUSE of execution for several periods, and comprises PAUSE function identification PAUSE and PAUSE period number n3,n3The pause function code can be expressed as PAUSEn ≧ 13. For example, in fig. 2, PAUSE 10000 indicates that execution is suspended for 10000 cycles.
(4) The PPMU test function code is used to instruct to continuously execute a plurality of cycles according to a current row of test vectors to perform a PPMU (Per Pin parameter Measurement Unit) test. The PPMU test function code comprises a PPMU test function identification PPMU and a test cycle number n4,n4More than or equal to 1, the PPMU test function code can be expressed as PPMUn4. For example, in fig. 2, PPMU 10000 indicates that a current row of test vectors is repeatedly executed for PPMU test for 10000 consecutive cycles.
And the excitation code corresponding to each test channel is used for indicating the test behavior information of the test channel under the current test vector. Optionally, the test behavior information of the test channel indicated by each stimulus code is any one of stimulus data (represented by 0) of a low level output by the test channel, stimulus data (represented by 1) of a high level output by the test channel, an arbitrary state (represented by X) of the test channel, an expected reception low level (represented by L) of the test channel, an expected reception high level (represented by H) of the test channel, and no parameter information (represented by null) of a test procedure of the test channel. Wherein the test channel being in an arbitrary state indicates that there is no concern about the output level or expected receive level of the test port, and thus the test port can output an arbitrary level or receive an arbitrary level.
Referring to fig. 2, each stimulus code in the test vectors of the row repeat function code and the PPMU test function code is any one of 0, 1, X, L, and H, and all stimulus codes in the test vectors of the segment repeat function code and the pause function code are null.
Step 104, dividing the test file into a plurality of sub-files, wherein each sub-file comprises P lines of test vectors in the test file.
And step 106, for each subfile, performing column coding on the excitation codes of the P lines of test vectors in the subfile to obtain M excitation data frames, and performing line coding on the function codes of the P lines of test vectors to obtain P function data frames, so as to obtain the coding result of the subfile.
Each excitation data frame corresponds to one test channel and comprises the coding result of the excitation codes corresponding to the test channel in all P lines of test vectors in the subfile, and each functional data frame corresponds to one line of test vectors and comprises the coding result of the functional codes in the corresponding line of test vectors. The encoding process for each subfile is the same, and the encoding operation for each subfile can be performed synchronously, and fig. 1 illustrates an example that S subfiles are included in total.
As shown in fig. 2, if there are test vectors representing multiple repeated rows of the line-repeating function codes in the initially acquired test file, but there still exist multiple identical rows of test vectors, for example, the multiple rows of test vectors in the dashed-line box 220 in fig. 2, as shown in the flowchart in fig. 3, the step 104 further includes the following steps when dividing the test file into several sub-files:
step 302, compressing a plurality of continuous same test vectors in a row in the test file into a row of test vectors.
The same test vectors refer to multi-line test vectors in which the function identifiers of the function codes are the same and the excitation codes for the test channels are respectively the same, and the function identifiers include the line repeat function identifier R, the segment repeat function identifier LOOP, the PAUSE function identifier PAUSE and the PPMU test function identifier PPMU as described above.
The function identifiers of the function codes of the row of test vectors obtained by compression are the function identifiers of all the test vectors before compression, but other parameters in the function codes are different, so that the function codes of the row of test vectors obtained by compression are used for indicating the execution of the test functions of all the test vectors before compression. And the excitation codes of one row of test vectors obtained by compression are respectively the same as the excitation codes of any row of test vectors before compression.
In fact, only the test vector with the function identifier of the row repeat function identifier R generally has the situation that continuous multiple rows are repeated and need to be compressed, so the step is generally dealt with in such a situation, and the one row of the test vector obtained by compression is the test vector of a new row repeat function code, and the function identifier of the row repeat function code in the compressed test vector is still the row repeat function identifier R, and the number of row repeat times n1And changing the total number of rows contained after compression, wherein the excitation code aiming at each test channel is the excitation code of any row of test vector before compression. For example, 7 rows of test vectors in the dashed line box 220 in fig. 2 may be compressed into one row of test vectors, the updated row repetition function code is R15, the excitation code for each test channel is the excitation code of any row of test vectors before compression, and the test vectors in the remaining rows are compressed by the same principle, so that fig. 2 is compressed as shown in fig. 4.
And step 304, dividing the test file subjected to the compression processing into a plurality of sub-files, wherein each sub-file comprises continuous P lines of test vectors in the test file subjected to the compression processing.
Regardless of whether the test file is compressed or not, when the test file is divided into a plurality of sub-files, generally, the number of lines of the test vectors contained in each sub-file is equal to P, so that preprocessing is required if the total number of lines of the test vectors in the test file is not an integer multiple of P, and as an example, in fig. 3, the method further includes step 303 before dividing the sub-files: adding a plurality of rows of row-complementing test vectors to the integral multiple of P in the test file, wherein each row-complementing test vector comprises a row-repeating function code and M excitation codes, the row-repeating function code in each row of row-complementing test vectors is represented as R1, namely, the current row-complementing test vector is executed once, and each excitation code in the row-complementing test vectors is used for indicating that the test behavior information of the corresponding test channel under the current row-complementing test vector is in any state, namely all the excitation codes are X. And after the operation of line complementing is finished, dividing the file into a plurality of sub-files. Optionally, the multiple rows of complementary test vectors are generally added to the last rows of the test file, and thus the added multiple rows of complementary test vectors are generally divided into the same subfile.
In the above step 106, the formats and the contained information of the excitation data frame and the functional data frame obtained by encoding each sub-file are respectively introduced as follows:
firstly, exciting a data frame.
As shown in the frame structure of FIG. 5, the stimulus data frame for each test channel includes a frame type field, a test channel number field, and a data field. The field information of the frame type field is a first frame type identifier, and the first frame type identifier is used for identifying the current data frame as an excitation data frame. The field information of the test channel number field is a binary code of the channel number of the test channel. The field information of the data field comprises the coding results of binary codes of P excitation codes, the coding result of each excitation code occupies Q bits, and the coding result of the binary code corresponding to each excitation code is well predetermined and configured.
Then, as shown in fig. 5, the data field occupies P x Q bits, assuming that the excitation data frame occupies a total of 2KAnd a bit. The test channel number field occupies J bits, 2JThe total number of the test channels of the tester is more than or equal to J is more than or equal to 5, for example, when the tester has 32 test channels. The number of bits occupied by this frame type field is 2K-2J-P x Q and is at least 1. The general configuration frame type field occupies 1bit, and may use 0 as a first frame type identifier for identifying the current data frame as an excitation data frame, and use 1 as a second frame type identifier for identifying the current data frame as a functional data frame.
The total bit number occupied by the specific excitation data frame can be configured in a user-defined mode, and the other parameters P, Q, J can be determined to be actual values according to needs. In one embodiment, for example, Q ═ 3, i.e., the excitation code in each test vector is encoded to obtain a binary code with 3 bits, for example, one encoding result of binary codes for different types of excitation codes is shown in the following table:
Figure BDA0003417834440000081
Figure BDA0003417834440000091
in a typical application scenario, the tester has 32 test channels, and may be configured to: the excitation data frame occupies 64 bits in total, the frame type field occupies 1bit, the test channel number field occupies 6 bits, each subfile contains 19 lines of test vectors, and each excitation code is encoded to obtain a binary code with 3 bits corresponding to the test vectors, so that the data field occupies 57 bits.
And secondly, coding the test vector of the row repetition function code to obtain a function data frame.
Referring to the frame structure shown in fig. 6, the functional data frame obtained by encoding the test vector of the row repeat functional code R includes a frame type field, a row repeat identification field, a repeat row position field, and a row repeat number field. The field information of the frame type field is a second frame type identifier, the second frame type identifier is used for identifying that the current data frame is the functional data frame, the frame type field can be configured to occupy 1bit as part of the excitation data frame, and 1 is used as the second frame type identifier for identifying that the current data frame is the functional data frame so as to distinguish the excitation data frame from the functional data frame.
The field information of the row repeat identification field is a binary code corresponding to the row repeat function identification. The field information of the repeat line location field is the binary code of the line number of the line test vector in the subfile where it is located. The field information of the line repetition number field is the line repetition number n1The binary code of (2).
The binary codes corresponding to the function identifiers are configured in advance, and the bit number occupied by the binary codes corresponding to the function identifiers can be configured according to needs. For example, in one embodiment, the result of encoding each function id with a binary code of 4 bits is shown in the following table:
corresponding binary code Function identification
0000 Line repetition function identifier R
0001 Segment repeat function identification LOOP
0010 PAUSE function identification PAUSE
0011 PPMU test function identification PPMU
1111 Skip identification
The rest(s) Reserved bit
Based on the above table, the frame type fields of all the functional data frames obtained by encoding the test vector of the row repeat function code are the second frame type identifiers, and the row repeat identifier fields are 0000, which is taken as an example in fig. 6, and the rest of the repeat row position fields and the repeat row number field determine the binary code result according to the actual situation.
And thirdly, coding the test vector of the segment repeated function code to obtain a function data frame.
Referring to the frame structure shown in fig. 7, the functional data frame obtained by encoding the test vector of the segment repeat function code LOOP includes a frame type field, a segment repeat identifier field, a first cross-file field, a repeat segment start line position field, a second cross-file field, a repeat segment end line position field, and a segment repeat number field.
The field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame. The field information of the segment repeat identification field is a binary code corresponding to the segment repeat function identification. Similar to the row repeat function code portion, based on the encoding result of the function identifier in the above embodiment as an example, in this case, the frame type fields of all the functional data frames obtained by encoding the test vector of the segment repeat function code are the second frame type identifier, and the segment repeat identifier fields are 0001, which is taken as an example in fig. 7.
The field information of the first cross-file field is a first common file identifier or a first cross-file identifier, the first common file identifier indicates that the test vectors of the repeat section starting line and the section repeat function code belong to the same subfile, and the first cross-file identifier indicates that the test vectors of the repeat section starting line and the section repeat function code belong to different subfiles. Typically, if the first cross-file field occupies 1bit, 0 may be used as the first peer file identifier, and 1 may be used as the first cross-file identifier. The field information of the repeat section start line position field is a binary code of the line number of the start line of the repeat section in the subfile. The subfile where the initial line of the repeated segment is located may be the subfile where the test vector of the segment repeated function code is located, or may not be the same subfile.
And the field information of the second cross-file field is a second same-file identifier or a second cross-file identifier, the second same-file identifier indicates that the end line of the repeated section and the test vector of the section repetition function code belong to the same subfile, and the second cross-file identifier indicates that the end line of the repeated section and the test vector of the section repetition function code belong to different subfiles. Typically, if the second cross-file field occupies 1bit, 0 may be used as the second identical file identifier, and 1 may be used as the second cross-file identifier. The field information of the repeat segment end line position field is the binary code of the line number of the end line of the repeat segment in the subfile. The repeat section end line is a line of test vectors with the repeat section line number N from the repeat section start line, and similarly, the subfile in which the repeat section end line is located may be a subfile in which the test vectors of the section repeat function code are located, or may not be the same subfile.
The field information of the segment repetition number field is the segment repetition number n in the segment repetition function code2The binary code of (2).
And fourthly, coding the test vector of the pause function code to obtain a function data frame.
Referring to the frame structure shown in fig. 8, the functional data frame obtained by encoding the test vector of the PAUSE function code PAUSE includes a frame type field, a PAUSE identification field, a PAUSE row position field, and a PAUSE period number field. The field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame. The field information of the pause identification field is a binary code corresponding to the pause function identification. Similar to the row repeat function code portion, based on the encoding result of the function identifier in the above embodiment as an example, in this case, the frame type fields of all the function data frames obtained by encoding the test vector of the pause function code are the second frame type identifiers, and the pause identifier fields are 0010, which is taken as an example in fig. 8.
The pause line position field is binary code of line number of the test vector of the pause function code in the subfile, and the pause period number field is pause period number n in the pause function code3The binary code of (2).
And fifthly, encoding the test vector of the PPMU test function code to obtain a function data frame.
Referring to the frame structure diagram shown in fig. 9, the functional data frame obtained by encoding the test vector of the PPMU test function code PPMU includes a frame type field, a PPMU test identification field, a test row position field, and a test period number field.
The field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame. And the field information of the PPMU test identification field is a binary code corresponding to the PPMU test function identification. Similar to the row repeat function code portion, based on the encoding result of the function identifier in the above embodiment as an example, in this case, the frame type fields of all the functional data frames obtained by encoding the test vector of the PMU test function code are the second frame type identifier, and the PPMU test identifier field is 0011, which is taken as an example in fig. 9.
The test line location field is the binary of the line number of the test vector of the PPMU test function code in the subfile. The field information of the test period number field is the test period number n in the PPMU test function code4The binary code of (2).
The bit numbers occupied by the various types of functional data frames shown in fig. 4 to 6 and the bit numbers occupied by the fields in each type of functional data frames can be configured and adjusted by themselves on the basis of meeting the basic bit number requirement. For example, for a functional data frame obtained by encoding a test vector of a row repeat function code, when each subfile includes 19 rows of test vectors, the field occupied by the repeat row position field is at least 5 bits, so that since the binary code of 5 bits can represent 32 different row numbers, the repeat row position field is sufficient to represent each row number of the 19 rows of test vectors in the subfile, and can satisfy the basic requirement, but actually can occupy 6 bits or 7 bits, and the like, and the conditions of the other fields of the rest functional data frames are similar.
In one embodiment, the total number of bits occupied by all the functional data frames is equal, and based on the feature that the tester decodes according to the data bit width of 64 bits, each excitation data frame can be configured to occupy 64 bits, and each functional data frame occupies 32 bits, so that the total number of bits occupied by the coding result obtained by coding each subfile is 64 bits M +32 bits P. Then the encoding result obtained by processing each subfile with 5 test channels as shown in fig. 2 and each subfile containing 19 lines of test vectors is shown in fig. 10. On the basis that each functional data frame occupies 32 bits in total, in one embodiment, the number of bits occupied by each field of each functional data frame may be configured as follows:
(1) in a functional data frame obtained by encoding the test vector of the row repeat function code R, a frame type field occupies 1bit, a row repeat identification field occupies 4 bits, a repeat row position field occupies 5 bits, and a row repeat number field occupies 22 bits.
(2) In a functional data frame obtained by encoding a test vector of a segment repeat function code LOOP, a frame type field occupies 1bit, a segment repeat identification field occupies 4 bits, a first cross-file field occupies 1bit, a repeat segment start line position field occupies 5 bits, a second cross-file field occupies 1bit, a repeat segment end line position field occupies 5 bits, and a segment repeat number field occupies 15 bits.
(3) In a functional data frame obtained by coding the test vector of the PAUSE function code PAUSE, a frame type field occupies 1bit, a PAUSE identification field occupies 4 bits, a PAUSE row position field occupies 5 bits, and a PAUSE period number field occupies 22 bits.
(4) In a functional data frame obtained by encoding a test vector of a PPMU test function code PPMU, a frame type field occupies 1bit, a PPMU test identification field occupies 4 bits, a test row position field occupies 5 bits, and a test period digital field occupies 22 bits.
Optionally, on the basis that the tester decodes according to the data bit width of T bits, after M excitation data frames and P functional data frames obtained by encoding each sub file, the total bits occupied by all the data frames may be an integer multiple of T, or may not be an integer multiple of T. For example, in the example shown in fig. 10, the 5 excitation data frames and 19 functional data frames encoded for each subfile are not integer multiples of 64 bits. And if the total bit occupied by all the data frames is an integral multiple of T, directly outputting the M excitation data frames and the P functional data frames as the coding results of the subfiles to a tester. If the total bit occupied by all the data frames is not the integral multiple of T, adding the bit-complementing data frames corresponding to the bit positions until the total bit positions are the integral multiple of T, and outputting the M excitation data frames, the P functional data frames and the bit-complementing data frames as the coding results of the subfiles to a testing machine, so that the testing machine can conveniently decode the data frames subsequently. As shown in fig. 10, a 32-bit complement data frame is added, typically at the end.
The bit-complement data frames contain skip marks which are used for instructing the testing machine to skip the processing of the bit-complement data frames, so that the bit-complement data frames participate in decoding but do not influence the actual functions.
Specifically, referring to the frame structure shown in fig. 11, the bit-filled data frame includes a frame type field, a skip identification field, and a data field, where field information of the frame type field is a second frame type identifier, the second frame type identifier is used to identify the current data frame as a functional data frame, and field information of the skip identification field is a skip identification. Similar to the line repetition function code portion, based on the encoding result of the function flag in the above embodiment as an example, in this case, the frame type field of the complement data frame is the second frame type flag, and the skip flag field is 1111, which is exemplified in fig. 11. The field information of the data field is a default value, such as 0. In one embodiment, the total number of bits of the bit-complemented data frame is determined according to the number of bits to be complemented, the frame type field in the bit-complemented data frame occupies 1bit, the skip identification field occupies 4 bits, and the data field occupies the remaining bits and is 0. For example, in the embodiment of fig. 10, the complement data frame occupies 32 bits, and the data field occupies 27 bits and is 0.
What has been described above is only a preferred embodiment of the present application, and the present invention is not limited to the above embodiment. It is to be understood that other modifications and variations directly derivable or suggested by those skilled in the art without departing from the spirit and concept of the present invention are to be considered as included within the scope of the present invention.

Claims (10)

1. A method for encoding a test vector, the method comprising:
acquiring a test file, wherein the test file comprises a plurality of rows of test vectors, each row of test vectors comprises a function code and M excitation codes, and each excitation code corresponds to a test channel of a tester executing the test file; the function code is used for indicating a test function executed by the test vector, and the excitation code corresponding to each test channel is used for indicating the test behavior information of the test channel under the current test vector;
dividing the test file into a plurality of sub-files, wherein each sub-file comprises P lines of test vectors in the test file;
for each subfile, performing column coding on excitation codes of P lines of test vectors in the subfile to obtain M excitation data frames, performing line coding on function codes of the P lines of test vectors to obtain P function data frames, and obtaining a coding result of the subfile, wherein each excitation data frame corresponds to one test channel and comprises coding results of the excitation codes corresponding to the test channel in all the P lines of test vectors in the subfile, and each function data frame corresponds to one line of test vectors and comprises coding results of the function codes in the corresponding line of test vectors.
2. The method of claim 1, wherein the dividing the test file into a number of sub-files comprises:
compressing a plurality of continuous same rows of test vectors in the test file into a row of test vectors, wherein function codes of the row of test vectors obtained by compression are used for indicating test functions of all test vectors before compression, each excitation code of the row of test vectors obtained by compression is respectively the same as an excitation code of any row of test vectors before compression, the same test vectors are a plurality of rows of test vectors which have the same function identification and are respectively the same for the excitation codes of each test channel, and the function identification comprises any one of a row repetition function identification R, a segment repetition function identification LOOP, a PAUSE function identification PAUSE and a PPMU test function identification PPMU;
and dividing the test file subjected to the compression processing into a plurality of sub-files, wherein each sub-file comprises continuous P lines of test vectors in the test file subjected to the compression processing.
3. The method of claim 1, further comprising:
and when the total number of the rows of the test vectors in the test file is not an integral multiple of P, adding a plurality of rows of row-supplementing test vectors to the integral multiple of P in the test file, wherein each row-supplementing test vector comprises a row-repeating function code and M excitation codes, and each excitation code in each row-supplementing test vector is used for indicating that the test behavior information of the corresponding test channel under the current row-supplementing test vector is in an arbitrary state.
4. The method according to any one of claims 1 to 3, wherein the excitation data frame of each test channel comprises a frame type field, a test channel number field and a data field, field information of the frame type field is a first frame type identifier for identifying that the current data frame is an excitation data frame, field information of the test channel number field is a binary code of a channel number of the test channel, field information of the data field comprises an encoding result of the binary code of P excitation codes, and the encoding result of each excitation code occupies Q bits.
5. The method of any of claims 1-3, wherein the function codes in the test vector are row repeat function codes, and the row repeat function codes comprise row repeat function identifiers and row repeat times;
the functional data frame obtained by encoding the test vector of the row repeat functional code includes a frame type field, a row repeat identifier field, a repeat row position field, and a row repeat number field, where field information of the frame type field is a second frame type identifier, the second frame type identifier is used to identify the current data frame as the functional data frame, field information of the row repeat identifier field is a binary code corresponding to the row repeat functional identifier, field information of the repeat row position field is a binary code of a row number of the test vector in a subfile, and field information of the row repeat number field is a binary code of the row repeat number.
6. The method of any one of claims 1-3, wherein the function codes in the test vector are segment repeat function codes, and the segment repeat function codes include segment repeat function identifiers, a number of repeated segment rows, and a number of segment repeats;
the functional data frame obtained by encoding the test vector of the segment repeat function code includes a frame type field, a segment repeat identification field, a first cross-file field, a repeat segment start line position field, a second cross-file field, a repeat segment end line position field, and a segment repeat number field: the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the segment repeated identification field is a binary code corresponding to the segment repeated function identification; the field information of the first cross-file field is a first common file identifier or a first cross-file identifier, the first common file identifier indicates that the test vector of the repeat section starting line and the segment repeat function code belong to the same subfile, and the first cross-file identifier indicates that the test vector of the repeat section starting line and the segment repeat function code belong to different subfiles; the field information of the position field of the starting line of the repeated section is a binary code of the line number of the starting line of the repeated section in the subfile; the field information of the second cross-file field is a second same file identifier or a second cross-file identifier, the second same file identifier indicates that the end line of the repeated segment and the test vector of the segment repeating function code belong to the same subfile, and the second cross-file identifier indicates that the end line of the repeated segment and the test vector of the segment repeating function code belong to different subfiles; the field information of the repeated section ending line position field is a binary code of the line number of the ending line of the repeated section in the subfile; the field information of the segment repetition number field is a binary code of the segment repetition number in the segment repetition function code;
the repeat section start line is a next line of the test vectors of the repeat function code, and the repeat section end line is a line of test vectors having a repeat section line number from the repeat section start line.
7. The method of any one of claims 1-3, wherein the function codes in the test vector are pause function codes, and the pause function codes comprise pause function identifiers and pause cycle numbers;
the functional data frame obtained by encoding the test vector of the pause functional code comprises a frame type field, a pause identification field, a pause row position field and a pause period number field; the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the pause identification field is a binary code corresponding to the pause function identification, the pause row position field is a binary code of the row number of the test vector of the pause function code in the subfile, and the pause period number field is a binary code of the pause period number in the pause function code.
8. The method of any one of claims 1-3, wherein the function codes in the test vector are PPMU test function codes, and the PPMU test function codes comprise PPMU test function identifiers and test cycle numbers;
the functional data frame obtained by encoding the test vector of the PPMU test functional code comprises a frame type field, a PPMU test identification field, a test row position field and a test cycle number field; the field information of the frame type field is a second frame type identifier, and the second frame type identifier is used for identifying the current data frame as a functional data frame; the field information of the PPMU test identification field is a binary code corresponding to the PPMU test function identification; the test line position field is a binary code of a line number of a test vector of the PPMU test function code in the subfile; the field information of the test period number field is a binary code of the test period number in the PPMU test function code.
9. The method according to any one of claims 1-3, further comprising:
after M excitation data frames and P functional data frames obtained by encoding each subfile are encoded, if the total bit occupied by all the data frames is an integral multiple of T, the M excitation data frames and the P functional data frames are directly output to a tester as the encoding result of the subfile, and the tester decodes the encoding result according to the data bit width of the T bits; if the total bit occupied by all the data frames is not the integral multiple of T, adding the complementary bit data frames corresponding to the bit positions until the total bit positions are the integral multiple of T, and outputting the M excitation data frames, the P functional data frames and the complementary bit data frames serving as the coding results of the subfiles to the testing machine; the bit-complementing data frame comprises a skip identifier, and the skip identifier is used for indicating the test machine to skip the processing of the bit-complementing data frame.
10. The method of claim 9, wherein the bit-complementing data frame comprises a frame type field, a skip identification field and a data field, wherein field information of the frame type field is a second frame type identifier, and the second frame type identifier is used to identify a current data frame as a functional data frame; and the field information of the skip identification field is the skip identification, and the field information of the data field is a default value.
CN202111553469.4A 2021-12-17 2021-12-17 Test vector coding method Pending CN114325311A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111553469.4A CN114325311A (en) 2021-12-17 2021-12-17 Test vector coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111553469.4A CN114325311A (en) 2021-12-17 2021-12-17 Test vector coding method

Publications (1)

Publication Number Publication Date
CN114325311A true CN114325311A (en) 2022-04-12

Family

ID=81053396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111553469.4A Pending CN114325311A (en) 2021-12-17 2021-12-17 Test vector coding method

Country Status (1)

Country Link
CN (1) CN114325311A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658413A (en) * 2022-12-29 2023-01-31 摩尔线程智能科技(北京)有限责任公司 Excitation generator and excitation generating method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658413A (en) * 2022-12-29 2023-01-31 摩尔线程智能科技(北京)有限责任公司 Excitation generator and excitation generating method

Similar Documents

Publication Publication Date Title
US7770091B2 (en) Data compression for use in communication systems
US7737869B2 (en) Symbol based data compression
US7511639B2 (en) Data compression for communication between two or more components in a system
CN109889205B (en) Coding method and system, decoding method and system, coding and decoding method and system
CN102353894A (en) Method for testing SOC (System On Chip) based on reference vector and bit mask
CN114325311A (en) Test vector coding method
CN104038232A (en) Testing data compression and decompression method based on secondary exclusive-or operation
CN103297768B (en) For video and the parallel pyramid entropy code of compression of images
CN103746706A (en) Testing data compressing and decompressing method on basis of double-run-length alternate coding
CN111651137A (en) Sorting method and device, electronic device and computer equipment
EP3198728A1 (en) Sharing initial dictionaries and huffman trees between multiple compressed blocks in lz-based compression algorithms
CN103746704A (en) Chip testing data transmission method based on dual-run-length alternative coding
CN102904579B (en) Coding Compression Method Based on Successive Approximation Method
CN109116211B (en) Test excitation segmentation and coding method
CN109412605B (en) Vector compression method, device and system of maximum compatible block based on FDR (fully drawn robust random Access memory)
CN111431539B (en) Compression method and device for neural network data and computer readable storage medium
Lee et al. Combining linear and nonlinear test vector compression using correlation-based rectangular encoding
US10263638B2 (en) Lossless compression method for graph traversal
Ren A data compression technique based on reversed leading bits coding and Huffman coding
CN105824858A (en) Hash method and device for high-dimensional vector
CN112804026B (en) Frequency and time frequency interleaving method and system in OFDM system
CN112684325B (en) Compression method and device for test vector instruction in ATE (automatic test equipment)
Asokan et al. Burrows wheeler transform based test vector compression for digital circuits
US9615111B2 (en) Complexity-adaptive compression of color images using binary arithmetic coding
US11942970B2 (en) Compression circuits and methods using tree based encoding of bit masks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination