The cores in a multi-core processor need to be tested to determine if the processor has any failed core. After that, the non-failed cores are tested to compute the performance thereof. However, these steps need to start a procedure for determining the failed cores first, then select non-failed cores from all of the cores, and then perform another procedure to compute the performance of the non-failed cores. Accordingly, the whole test flow is time consuming and power consuming.
One objective of the present invention is to provide a core test method which needs no extra step for selecting non-failed cores in a performance test.
Another objective of the present invention is to provide a core test circuit which needs no extra step for selecting non-failed cores in a performance test.
One embodiment of the present invention discloses a core test method, for testing a processing circuit with multi cores, comprising: (a) testing defects of the cores to determine at least one failed core; (b) recording the failed core; (c) performing a performance test to all of the cores to generate performance data; and (d) filtering the performance data based on the failed core recorded in the step (b).
Another embodiment of the present invention discloses a core test circuit, comprising: a data receiving circuit, configured to receive a defect result for a defect test to generate defect result codes, or to receive performance data for a performance test to generate performance data codes; a logic circuit, coupled to the data receiving circuit, configured to receive the defect result codes to generate a defect result value; a recording unit, coupled to the logic circuit, configured to record the defect result value; and a multiplexer, coupled to the logic circuit and the data receiving circuit, configured to output a logic output in a first mode, and to output the defect result codes or the performance codes in a second mode; wherein the logic circuit generates the logic output according to the defect result value recorded in the recording unit and the performance data codes.
In view of the embodiment illustrated, the non-failed cores do not need to be particularly selected from all of the cores. The performance data of the failed cores can be automatically filtered while computing the performance level of the processing circuit. Accordingly, time and power consumption for the core test can be reduced.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
In the following descriptions, several embodiments are provided to explain the concept of the present application. The term “first”, “second”, “third” in following descriptions are only for the purpose of distinguishing different one component, and do not mean the sequence of the elements. For example, a first device and a second device only mean these devices can have the same structure but are different devices.
The following test methods or test circuits can be utilized to a logic test or a memory test (e.g., MBIST).
Test defects of the cores to determine at least one failed core.
For example, if a net of a core has a fixed logic value, the core may be determined as a failed core.
Record the failed core.
For example, record the identification information of the failed core.
Perform a performance test to all of the cores to generate performance data.
Please note, the step 105 tests the performance of all cores which comprise non-failed cores and failed cores, rather than only the non-failed cores. In one embodiment, the performance data comprises output voltages of the cores.
The performance data may be defined corresponding to different requirements. For example, the performance data may comprise a minimum operation voltage or a maximum operation frequency of the core.
Filter the performance data based on the failed core recorded in the step 103.
Compute a performance level of the processing circuit according to the performance data which is not filtered (non-filtered performance data) in the step 107.
In other words, step 109 computes a performance level of the processing circuit according to the performance data of the non-failed cores but not according to the performance data of the failed cores.
In one embodiment, the term “filter” in the step 107 means “ignoring”. Accordingly, the step 107 ignores the performance data of the failed core even if it exists. In other words, the step 105 comprises testing the performance of the failed core recorded in the step 103 and the step 109 computes the performance level of the processing circuit without considering the performance data of the failed core. In one embodiment, the step 109 can be removed, such that the non-filtered performance data in step 107 can be processed by other steps.
The steps illustrated in
As shown in
In a first mode, the data receiving circuit 201 outputs defect result codes DRD or performance codes PDD to the logic circuit 203. Then, the logic circuit 203 generates a defect result value DRV according to the defect result codes DRD, or generates a performance data value PDV according to the performance codes PDD. The performance data value PDV is output by the logic circuit 203 as the logic output LO. Also, in the first mode, the logic output LO is output by the multiplexer 207 as the scan out SO. The defect result value DRV is a logic value corresponding to the defect result DR and the performance data value PDV is a logic value corresponding to the performance data PD. In a second mode, the data receiving circuit 201 outputs the defect result codes DRD or the performance codes PDD to the multiplexer 207. Then, the multiplexer 207 outputs the defect result codes DRD or the performance codes PDD as the scan out SO.
In the first mode, if the core is a failed core, the defect result value DRV is a first logic value and is recorded to a corresponding address of the E-fuse 205. Next, while performing the performance test, the defect result value DRV recorded in the E-fuse 205 is received by the logic circuit 203, and the logic circuit 203 correspondingly generates the logic output LO (the performance data value PDV). On the opposite, if the core is a non-failed core, the defect result value DRV is a second logic value and is still recorded to the E-fuse 205. Accordingly, in the first mode, the scan out SO is affected by the defect result value DRV stored in the E-fuse 205, no matter the core is a failed core or a non-failed core. If the E-fuse 205 does not record any defect result value DRV in an address for a core while the logic circuit generating the defect result value DRV for the core, the E-fuse 205 may have an initial value in the address such that the logic circuit 203 may generate a correct defect result value DRV to the E-fuse 205.
Next, the cores 1 and 2 pass the performance test. In such case, the performance data value PDV is a specific logic value (0 in this example). The logic circuit 203 reads the corresponding defect result value DRV (0 in such case) from the E-fuse 205, and generates the logic output LO responding to the defect result value DRV from the E-fuse 205. Then, the multiplexer 207 outputs the logic output LO as the scan out SO.
In the performance test of core 3, the logic circuit 203 receives the corresponding defect result value DRV (1 in this example) from the E-fuse 205, and generates the logic output LO responding to the defect result value DRV from the E-fuse 205. Then, the multiplexer 207 outputs the logic output LO as the scan out SO. In such case, the scan out SO corresponding to the core 3 is also 0.
In above-mentioned descriptions, although the scan outs of the cores 1, 2, 3 are all 0, the performance of the cores 1, 2 are used to compute the performance level of the processing circuit, but the performance of the core 3 is not considered, since the E-fuse 205 records that the core 3 is a failed core. In other words, the performance data of the core 3 is filtered or ignored, as above-mentioned, since it is a failed core. In other words, the performance data of the core 3 is filtered or ignored, based on the corresponding defect result value DRV which is 1 in the E-fuse 205. The computation of the power level can be performed, for example, by a test machine coupled to the core test circuit 200.
Cores 4, 5, 6, 7, 9, 10 and 12 follow the same rules of the core 1, 2. Further, core 8 follows the same rule of core 3. Thus descriptions thereof are omitted for brevity here. Additionally, core 11 is a non-failed core in the examples of
In view of the embodiment illustrated in
The core test circuit 200 in
As above-mentioned, the data receiving circuit 201 can operate in the first mode or the second mode to selectively output the defect result codes DRD or the performance data codes PDD. Thus in the embodiment of
As mentioned in
Further, as illustrated in
The logic circuit 503 in
The first inverted IMPLY gate 701_1 and the second inverted IMPLY gate 701_3 are IMPLY gates but the output thereof are inverted. Each of the first inverted IMPLY gate 701_1 and the second inverted IMPLY gate 701_3 comprises a first input terminal receiving the defect result value DRV recorded in the E-fuse 503, and comprises a second input terminal receiving an inverted value of a code of the defect result codes DRD or a code of the performance codes PDD. The first register 703_1 and the second register 703_2 are configured to register outputs of the first inverted IMPLY gate 701_1 and the second inverted IMPLY gate 701_3, and then output to the OR gate 705. The values of the first register 703_1 and the second register 703_2 are also output as the scan out SO.
The operations of the core test circuit 700 are similar with the operations of the core test circuit 500 in
Moreover, during the performance test, the first inverted IMPLY gate 701_1 and the second inverted IMPLY gate 701_2 respectively receive a code of the performance data codes PDD and receive the defect result value DRV recorded in the E-fuse 205. Also, the first register 703_1 and the second register 703_2 respectively receive the output of the first inverted IMPLY gate 701_1 and the second inverted IMPLY gate 701_2, which is affected by the defect result value DRV. The values of the first register 703_1 and the second register 703_2 are output by the multiplexer 207 as the scan out SO. That is, the values of the first register 703_1 and the second register 703_2 are the above-mentioned logic out LO during the performance test. By this way, the performance data of the failed core can also be filtered according to the defect result value DRV.
In view of the embodiment illustrated, the non-failed cores do not need to be particularly selected from all of the cores. The performance data of the failed cores can be automatically filtered while computing the performance level of the processing circuit. Accordingly, time and power consumption for the core test can be reduced.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
202310396038.4 | Apr 2023 | CN | national |