Disclosure of Invention
The inventor provides a coding method of test vectors aiming at the problems and the technical requirements, and the technical scheme of the invention is as follows:
a method of encoding a test vector, the method comprising:
The method comprises the steps of obtaining 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, 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 test behavior information of the test channel under the current test vector;
Dividing the test file into a plurality of subfiles, wherein each subfile comprises P rows of test vectors in the test file;
For each sub-file, performing column coding on the excitation codes of the P-row test vectors in the sub-file to obtain M excitation data frames, performing row coding on the function codes of the P-row test vectors to obtain P function data frames, and obtaining coding results of the sub-file, wherein each excitation data frame corresponds to one test channel and contains coding results of the excitation codes corresponding to the test channels in all the P-row test vectors in the sub-file, and each function data frame corresponds to one row of test vectors and contains coding results of the function codes in the corresponding row of test vectors.
The further technical scheme is that the test file is divided into a plurality of subfiles, including:
Compressing a plurality of continuous lines of identical test vectors in a test file into a line of test vectors, wherein the function code of the compressed line of test vectors is used for indicating the test function of all test vectors before compression, each excitation code of the compressed line of test vectors is identical to the excitation code of any line of test vectors before compression, the identical test vectors are the same function identifiers of the function codes, and the excitation codes of all test channels are respectively identical multi-line test vectors, and the function identifiers comprise any one of a line repetition function identifier R, a segment repetition function identifier LOOP, a PAUSE function identifier PAUSE and a PPMU test function identifier PPMU;
The test file after the compression processing is divided into a plurality of subfiles, and each subfile comprises continuous P rows of test vectors in the test file after the compression processing.
The method further comprises the following steps:
When the total line number of the test vectors in the test file is not an integer multiple of P, adding a plurality of line supplementing test vectors to the integer multiple of P in the test file, wherein each line supplementing test vector comprises a line repeating function code and M excitation codes, and each excitation code in the line supplementing test vector is used for indicating that the test behavior information of the corresponding test channel under the current line supplementing test vector is in any state.
The excitation data frame of each test channel comprises 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, the first frame type identifier is used for identifying that the current data frame is an excitation data frame, the field information of the test channel number field is a binary code of a channel number of the test channel, the field information of the data field comprises the 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 code in the test vector is a row repeating function code, and the row repeating function code comprises a row repeating function identifier and row repeating times;
The functional data frame obtained by encoding the test vector of the line repetition functional code comprises a frame type field, a line repetition identification field, a repeated line position field and a line repetition number field, wherein field information of the frame type field is a second frame type identification, the second frame type identification is used for identifying the current data frame as the functional data frame, field information of the line repetition identification field is a binary code corresponding to the line repetition functional identification, field information of the repeated line position field is a binary code of a line number of the test vector in a subfile, and field information of the line repetition number field is a binary code of the line repetition number.
The further technical scheme is that the function code in the test vector is a segment repetition function code, and the segment repetition function code comprises a segment repetition function identifier, a repeated segment line number and segment repetition times;
The functional data frame obtained by encoding the test vector of the segment repetition functional code comprises a frame type field, a segment repetition identification field, a first file crossing field, a repeated segment start line position field, a second file crossing field, a repeated segment end line position field and a segment repetition number field, wherein field information of the frame type field is a second frame type identification which is used for identifying that the current data frame is a functional data frame; the field information of the field of the repeated section identification is binary codes corresponding to the repeated section function identification, the field information of the first cross-file field is a first common file identification or a first cross-file identification, the first common file identification represents that the test vector of the repeated section starting line and the test vector of the repeated section function code belong to the same subfile, the first cross-file identification represents that the test vector of the repeated section starting line and the test vector of the repeated section function code belong to different subfiles, the field information of the position field of the repeated section starting line is binary codes 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 common file identification or a second cross-file identification, the second common file identification represents that the test vector of the repeated section ending line and the test vector of the repeated section function code belong to the same subfile, the field information of the position field of the repeated section ending line is binary codes of the line number of the repeated section in the subfile, and the field information of the repeated section number of the repeated section is binary codes of the repeated section function code;
the repeated section starting line is a next line of test vectors of the repeated functional codes, and the repeated section ending line is a line of test vectors with the repeated section line number from the repeated section starting line.
The further technical scheme is that the function code in the test vector is a pause function code, and the pause function code comprises a pause function identifier and a pause period number;
the method comprises the steps of encoding a test vector of a pause function code to obtain a functional data frame, wherein the functional data frame comprises a frame type field, a pause identification field, a pause line position field and a pause period number field, field information of the frame type field is a second frame type identification used for identifying the current data frame as a functional data frame, field information of the pause identification field is a binary code corresponding to the pause function identification, the pause line position field is a binary code of a line number of the test vector of the pause function code in a subfile where the test vector of the pause function code is located, and the pause period number field is a binary code of a pause period number in the pause function code.
The further technical scheme is that the function code in the test vector is a PPMU test function code, and the PPMU test function code comprises a PPMU test function identifier and a test cycle number;
The functional data frame obtained by encoding the test vector of the PPMU test function code comprises a frame type field, a PPMU test identification field, a test line position field and a test cycle number field, wherein field information of the frame type field is a second frame type identification used for identifying the current data frame as the functional data frame, field information of the PPMU test identification field is binary codes corresponding to the PPMU test function identification, the test line position field is binary codes of line numbers of the test vector of the PPMU test function code in a subfile, and field information of the test cycle number field is binary codes of test cycle numbers in the PPMU test function code.
The method further comprises the following steps:
After M excitation data frames and P functional data frames are obtained by encoding each sub-file, if the total bit of all the data frames is an integer multiple of T, the M excitation data frames and the P functional data frames are directly output to a tester as encoding results of the sub-file, the tester decodes according to the data bit width of the T bits, if the total bit of all the data frames is not an integer multiple of T, the complementary data frames of the corresponding bits are added until the total bit is an integer multiple of T, the M excitation data frames, the P functional data frames and the complementary data frames are output to the tester as encoding results of the sub-file, and the complementary data frames comprise skip marks used for indicating the tester to skip the processing of the complementary data frames.
The 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 identification used for identifying the current data frame as a functional data frame, field information of the skip identification field is a skip identification, and field information of the data field is a default value.
The beneficial technical effects of the invention are as follows:
The application discloses a test vector coding method, which takes subfiles as units to code excitation codes, and the mode of column coding and row coding functional codes can well improve the test vector storage depth, especially under the condition of fewer test channels in actual use, the compression efficiency can be greatly improved, the coded data can be directly sent to a storage space of a testing machine, more test vector files can be stored in the limited storage space of the testing machine, the test flow can be realized by matching with the decoding of the testing machine, the performance of the testing machine can be effectively improved, and the test efficiency can be improved.
Furthermore, the test file is firstly compressed in a row and then encoded according to the method of the application, so that the test vector compression efficiency can be improved, and more test vectors can be further stored in the same storage space.
Detailed Description
The following describes the embodiments of the present invention further with reference to the drawings.
The application discloses a coding method of a test vector, please refer to a flow chart shown in fig. 1, the method comprises the following steps:
Step 102, obtaining a test file, wherein the test file is a file which is written in advance for the functional test process of the testing machine and needs to be provided for the testing machine, and the testing machine can complete the functional test process of the product to be tested according to the set test flow after executing the test file.
The test file includes a plurality of rows of test vectors, which are typically written in time sequence, and in one embodiment, a portion of the test file is shown in fig. 2, 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 other 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 the present application, the function code includes at least one of a line repetition function code, a segment repetition function code, a pause function code, and a PPMU test function code, wherein:
(1) The row repetition function code is used for indicating that the current row test vector is repeatedly executed for a plurality of times, the row repetition function code comprises a row repetition function identifier R and the row repetition number n1,n1 is more than or equal to 1, and the row repetition function code can be expressed as Rn1. For example, in fig. 2, R1 represents that the current line of test vectors is executed once, and R100 represents that 100 times of current line of test vectors are executed repeatedly in succession.
(2) The segment repetition function code is used for indicating that repeated segments are continuously executed for a plurality of times, wherein the repeated segments comprise a plurality of rows of test vectors starting from the next row of test vectors of the current row of test vectors, namely, the next row of test vectors of the repeated segment start row of the segment repetition function code, and the repeated segment end row is a row of test vectors with repeated segment rows starting from the repeated segment start row. The segment repetition function code comprises a segment repetition function identifier LOOP, a repeated segment line number N and a segment repetition number N2,n2 which is more than or equal to 1, and can be expressed as LOOPNn2. For example, in fig. 2, LOOP 3 100 represents a test vector that is repeatedly executed 100 times in succession, the repeated segment containing 3 rows of test vectors as in dashed box 210 in fig. 2.
(3) The PAUSE function code is used for indicating continuous PAUSE of execution for a plurality of cycles, the PAUSE function code comprises a PAUSE function identifier PAUSE and a PAUSE period number n3,n3 is more than or equal to 1, and the PAUSE function code can be expressed as PAUSEn3. For example, in fig. 2, PAUSE 10000 represents a PAUSE in execution for 10000 cycles.
(4) The PPMU test function code is used for instructing to perform PPMU (PER PIN PARAMETRIC Measurement Unit) test according to the current line test vector and continuously executing a plurality of cycles. The PPMU test function code includes a PPMU test function identifier PPMU and a test cycle number n4,n4 is greater than or equal to 1, and the PPMU test function code may be expressed as PPMUn4. For example, in fig. 2, PPMU 10000 means that the current row of test vectors is repeatedly executed for PPMU test in 10000 consecutive cycles.
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 excitation code is any one of excitation data (represented by 0) of a low level output by the test channel, excitation data (represented by 1) of a high level output by the test channel, the test channel is in any state (represented by X), the test channel is expected to receive a low level (represented by L), the test channel is expected to receive a high level (represented by H), and no parameter information (represented by null) of a test process of the test channel. Wherein the test channel being in an arbitrary state indicates that there is no concern about the output level or the desired receiving 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 excitation code in the test vectors of the row repetition function code and the PPMU test function code is any one of 0, 1, X, L and H, and all excitation codes in the test vectors of the segment repetition function code and the pause function code are null.
Step 104, the test file is divided into a plurality of subfiles, and each subfile comprises P rows of test vectors in the test file.
And 106, for each sub-file, performing column coding on the excitation codes of the P-row test vectors in the sub-file to obtain M excitation data frames, and performing row coding on the function codes of the P-row test vectors to obtain P function data frames to obtain the coding result of the sub-file.
Each excitation data frame corresponds to one test channel and contains the coding result of the excitation code corresponding to the test channel in all the P rows of test vectors in the subfile, and each functional data frame corresponds to one row of test vectors and contains the coding result of the functional code in the corresponding row of test vectors. The encoding process for each sub-file is the same, and the encoding operation for each sub-file can be performed synchronously, and fig. 1 illustrates that S sub-files are included in total.
As shown in fig. 2, in the initially acquired test file, there are test vectors representing a plurality of repeated rows of row repeating function codes, but there may still be a plurality of identical test vectors, such as a plurality of rows of test vectors in a dashed box 220 in fig. 2, and then, as shown in the flowchart of fig. 3, step 104 further includes the following steps when dividing the test file into a plurality of subfiles:
step 302, compressing a plurality of consecutive identical test vectors in the test file into a row of test vectors.
The same test vector refers to a plurality of rows of test vectors with the same function identifiers of the function codes and the same excitation codes for all test channels respectively, and the function identifiers comprise a row repeated function identifier R, a segment repeated function identifier LOOP, a PAUSE function identifier PAUSE and a PPMU test function identifier PPMU.
The function identifier of the function code of the test vector in the compressed row is the function identifier of all the test vectors before compression, but other parameters in the function code are different, so that the function code of the test vector in the compressed row is used for indicating the test function of all the test vectors before compression. And each excitation code of the compressed test vector of one row is the same as the excitation code of the test vector of any row before compression.
In practice, only the test vector whose function identifier is the row repetition function identifier R will generally have a case that the continuous multiple rows of repetitions need to be compressed, so this step is generally handled for this case, and thus, a row of test vectors obtained by compression is a new row of test vectors of row repetition function codes, and the function identifiers of the row repetition function codes in the test vectors obtained by compression still have the row repetition function identifier R, and the number of row repetition times n1 becomes the total number of rows included after compression, and the excitation code for each test channel is the excitation code of any row of test vectors before compression. For example, 7 rows of test vectors in a dashed 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 of the other rows are compressed according to the same principle as sampling, so that the compression of fig. 2 is as shown in fig. 4.
Step 304, the test file after the compression process is divided into a plurality of subfiles, each subfile includes a continuous P-line test vector in the test file after the compression process.
Regardless of whether the test file is compressed or not, when the test file is divided into a plurality of subfiles, the number of rows of test vectors contained in each subfile is generally equal to P, so if the total number of rows of test vectors in the test file is not an integer multiple of P, and if the test file is to be preprocessed, fig. 3 is an example of compressing the test file, the method further includes step 303 of adding a plurality of rows of complementary test vectors to the integer multiple of P in the test file before dividing the subfile, each complementary test vector includes a row repetition function code and M excitation codes, the row repetition function code in each row of complementary test vectors is denoted as R1, i.e., executing the current row of complementary test vector once, and each excitation code in the complementary test vector is used for indicating that the test behavior information of the corresponding test channel under the current complementary test vector is in any state, i.e., all excitation codes are X. After the line supplementing operation is completed, the line supplementing operation is divided into a plurality of subfiles. Alternatively, multiple rows of supplemental test vectors are typically added to the last few rows of the test file, so that the added multiple rows of supplemental test vectors are typically divided into the same subfiles.
In step 106, the formats of the excitation data frame and the functional data frame obtained by encoding each sub-file and the information contained in the excitation data frame and the functional data frame are described as follows:
1. the data frame is stimulated.
As shown in the frame structure of fig. 5, the excitation data frame of 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 identification 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 pre-agreed and configured.
The data field occupies P x Q bits as shown in fig. 5, assuming that the excitation data frame occupies a total of 2K bits. The test channel number field occupies J bits, and 2J is greater than or equal to the total number of test channels of the tester, for example, when the tester has 32 test channels, J is greater than or equal to 5. Whereby the frame type field occupies a number of bits of 2K-2J -P x Q and at least 1. The general configuration frame type field occupies 1 bit, and may be used to identify the current data frame as an excitation data frame with a 0 as a first frame type identification and a1 as a second frame type identification.
The total bit number occupied by the specific excitation data frame can be configured in a self-defined way, and the rest parameters P, Q, J can be determined to be actual values according to the requirements. In one embodiment, taking q=3 as an example, that is, encoding the excitation code in each test vector to obtain a binary code with corresponding 3 bits, for example, one encoding result of the binary code for different types of excitation codes is as follows:
In a typical application scenario, where the tester has 32 test channels, it may be configured such that the stimulus data frame occupies 64 bits in total, the frame type field occupies 1 bit, the test channel number field occupies 6 bits, each subfile contains 19 rows of test vectors and each stimulus code is encoded to obtain a corresponding 3-bit binary code, such that the data field occupies 57 bits.
2. And encoding the test vector of the row repeated 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 repetition functional code R includes a frame type field, a row repetition identification field, a repetition row location field, and a row repetition 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 that the current data frame is a functional data frame, for example, in the excitation data frame part, the frame type field can be configured to occupy 1 bit, and 1 is used as the second frame type identifier to identify that the current data frame is a functional data frame, so as to distinguish the current data frame from the excitation data frame.
The field information of the row repetition identification field is a binary code corresponding to the row repetition function identification. The field information of the repeated line location field is a 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 a binary code of the line repetition number n1.
The binary codes corresponding to the function identifiers are pre-agreed and configured, and the bit number occupied by the binary code corresponding to the function identifier can be configured as required. For example, in one embodiment, a binary code using 4 bits for each function identifier may be encoded as follows:
| Corresponding binary code | Function identification |
| 0000 | Row repetition function identification R |
| 0001 | Segment repetition function identification LOOP |
| 0010 | PAUSE function identifier PAUSE |
| 0011 | PPMU test function identification PPMU |
| 1111 | Skip identification |
| The rest are | Reserved bits |
Based on the above table, the frame type fields of all the functional data frames obtained by encoding the test vectors of the row repetition functional codes are the second frame type identifier, and the row repetition identifier fields are 0000, and fig. 6 illustrates this, and the rest repeated row position fields and the row repetition number fields determine binary code results according to actual conditions.
3. And encoding the test vector of the segment repetition function code to obtain a function data frame.
Referring to the frame structure shown in fig. 7, a functional data frame obtained by encoding a test vector of a segment repetition functional code LOOP includes a frame type field, a segment repetition identification field, a first file crossing field, a repeated segment start line position field, a second file crossing field, a repeated segment end line position field, and a segment repetition 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 repetition identification field is a binary code corresponding to the segment repetition function identification. Similar to the line repetition function code portion, the encoding result based on the function identification in the above embodiment is taken as an example, in this case, the frame type fields of all the function data frames obtained by encoding the test vectors of the segment repetition function code are the second frame type identification, and the segment repetition identification fields are 0001, which is taken as an example in fig. 7.
The field information of the first file-crossing field is a first file-together identifier or a first file-crossing identifier, wherein the first file-together identifier indicates that the test vector of the repeated section starting line and the test vector of the section repeated function code belong to the same subfile, and the first file-crossing identifier indicates that the test vector of the repeated section starting line and the test vector of the section repeated function code belong to different subfiles. Typically, if the first cross-file field occupies 1bit, 0 may be used as the first together 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 where it is located. The subfile where the repeated segment start line is located may be the subfile where the test vector of the segment repetition function code is located, or may not be the same subfile.
The field information of the second file-crossing field is a second identical file identifier or a second file-crossing identifier, the second identical file identifier indicates that the test vector of the repeated segment end row and the segment repeated function code belong to the same subfile, and the second file-crossing identifier indicates that the test vector of the repeated segment end row and the segment repeated function code belong to different subfiles. Typically, if the second cross-file field occupies 1bit, 0 may be used as the second same file identifier, and 1 may be used as the second cross-file identifier. The field information of the repeat section end line position field is a binary code of the line number of the end line of the repeat section in the subfile where it is located. The repeated segment ending line is a line of test vector with the repeated segment line number N from the repeated segment starting line, and similarly, the subfile where the repeated segment ending line is located may be the subfile where the test vector of the segment repetition function code is located or may not be the same subfile.
The field information of the segment repetition number field is a binary code of the segment repetition number n2 in the segment repetition function code.
4. And encoding the test vector of the pause function code to obtain a function data frame.
Referring to the frame structure shown in fig. 8, a functional data frame obtained by encoding a test vector of a PAUSE function code PAUSE includes a frame type field, a PAUSE identification field, a PAUSE row location 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 line repetition function code portion, the encoding result based on the function identifier in the above embodiment is taken 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 identifier, and the pause identifier fields are 0010, which is taken as an example in fig. 8.
The pause row location field is the binary of the row number of the test vector of the pause function code in the subfile where it is located, and the pause period number field is the binary of the pause period number n3 in the pause function code.
5. And encoding the test vector of the PPMU test function code to obtain a functional data frame.
Referring to the frame structure diagram shown in fig. 9, a functional data frame obtained by encoding a test vector of a PPMU test function code PPMU includes a frame type field, a PPMU test identification field, a test line location 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. Similar to the line repetition function code portion, the encoding result based on the function identifier in the above embodiment is taken as an example, in this case, the frame type fields of all the functional data frames obtained by encoding the test vectors of the PMU test function code are the second frame type identifier, and the PPMU test identifier fields are 0011, which is taken as an example in fig. 9.
The test row location field is a binary code of the row number of the test vector of the PPMU test function code in the subfile where it is located. The field information of the test cycle number field is a binary code of the test cycle number n4 in the PPMU test function code.
The number of bits occupied by the various functional data frames shown in fig. 4-6 and the number of bits occupied by each field in each type of functional data frame can be configured and adjusted by itself on the basis of meeting the basic number of bits requirement. The basic bit number requirement of each field is, for example, a functional data frame obtained by encoding test vectors of row repeated functional codes, when each subfile comprises 19 rows of test vectors, the field occupied by the repeated row position field is at least 5 bits, so that as the binary code with 5 bits can represent 32 different row numbers, the basic requirement can be met by representing each row number of the 19 rows of test vectors in the subfile by the repeated row position field, but actually, 6 bits or 7 bits can be occupied, and the like, and the situation of the rest fields of the rest functional data frames is similar.
In one embodiment, the total bit number 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, and the total bit number occupied by the coding result obtained by coding each subfile is 64 bits x m+32bits x p. The encoding result obtained by processing each subfile is shown in fig. 10 in the case that 5 test channels are shown in fig. 2 and each subfile contains 19 lines of test vectors. On the basis of a total of 32 bits per functional data frame, in one embodiment, the number of bits occupied by the fields of the respective functional data frames may be configured as follows:
(1) In the functional data frame obtained by the test vector coding of the row repetition functional code R, a frame type field occupies 1bit, a row repetition identification field occupies 4 bits, a repeated row position field occupies 5 bits, and a row repetition number field occupies 22 bits.
(2) In a functional data frame obtained by test vector coding of a segment repetition functional code LOOP, a frame type field occupies 1bit, a segment repetition identification field occupies 4 bits, a first file-crossing field occupies 1bit, a repeat segment start line position field occupies 5 bits, a second file-crossing field occupies 1bit, a repeat segment end line position field occupies 5 bits, and a segment repetition number field occupies 15 bits.
(3) In a functional data frame obtained by the test vector coding of the PAUSE functional code PAUSE, a frame type field occupies 1bit, a PAUSE identification field occupies 4 bits, a PAUSE line position field occupies 5 bits, and a PAUSE period number field occupies 22 bits.
(4) In a functional data frame obtained by PPMU test function code PPMU test vector coding, a frame type field occupies 1bit, a PPMU test identification field occupies 4 bits, a test line position field occupies 5 bits, and a test period number field occupies 22 bits.
Optionally, after the test machine decodes according to the data bit width of T bits, after encoding M excitation data frames and P functional data frames obtained by encoding each subfile, the total bits occupied by all the data frames may be integer multiples of T or may not be integer multiples of T. For example, in the example shown in fig. 10, the 5 excitation data frames and 19 function data frames encoded for each sub-file are not integer multiples of 64 bits. If the total bit occupied by all the data frames is integer times of T, M excitation data frames and P functional data frames are directly output to the testing machine as the coding result of the subfiles. If the total bit occupied by all the data frames is not the integer multiple of T, adding the complementary bit data frames of the corresponding bit until the total bit is the integer multiple of T, and outputting M excitation data frames, P functional data frames and complementary bit data frames as the coding results of the subfiles to the testing machine, thereby enabling the testing machine to conveniently decode subsequently. As shown in fig. 10, a 32-bit complementary data frame is added, and the complementary data frame is generally added at the end.
The supplemental data frame includes a skip flag that instructs the tester to skip processing the supplemental data frame such that the supplemental data frame participates in decoding but does not affect the actual function.
Specifically, referring to the frame structure shown in fig. 11, the complementary data frame includes a frame type field, a skip identifier field, and a data field, wherein field information of the frame type field is a second frame type identifier, the second frame type identifier is used to identify that the current data frame is a functional data frame, and field information of the skip identifier field is a skip identifier. Similar to the line repetition function code section, the encoding result based on the function identification in the above embodiment is exemplified, in which case the frame type field of the complementary data frame is the second frame type identification, and the skip identification field is 1111, which is exemplified in fig. 11. The field information of the data field is a default value, for example, 0. In one embodiment, the total number of bits of the supplemental bit data frame is determined according to the number of bits that are to be supplemental bits, the frame type field in the supplemental bit data frame occupies 1bit, the skip identification field occupies 4 bits, and the data fields occupy the remaining number of bits and are all 0. For example, in the embodiment of fig. 10, the complementary data frames occupy 32 bits, and the data fields occupy 27 bits and are all 0.
The above is only a preferred embodiment of the present application, and the present application is not limited to the above examples. It is to be understood that other modifications and variations which may be directly derived or contemplated by those skilled in the art without departing from the spirit and concepts of the present application are deemed to be included within the scope of the present application.