Claims
- 1. A method of processing a scan test data sequence for testing a circuit device, comprising the acts of:
separating the scan test data sequence into at least two scan streams, wherein each scan stream includes a sequence of scan data segments; and for each scan stream: storing the scan data segments non-contiguously in a memory; providing processing information associated with each scan data segment; and testing the circuit device by applying thereto the sequence of scan data segments;
- 2. The method of claim 1, further comprising the act of providing a pointer to each scan data segment in the processing information associated with the scan data segment.
- 3. The method of claim 2, further comprising the act of sequencing the pointers in the same order as the sequence of scan data segments.
- 4. The method of claim 2, further comprising the act of providing each pointer with the start address in the memory of the scan data segment associated with the pointer.
- 5. The method of claim 3, further comprising the act of providing each pointer with a scan data segment length for the scan data segment associated with the pointer.
- 6. The method of claim 2, further comprising the act of separating the scan test data sequence into at least a scan-in stream and a scan-out stream, the scan-in stream including a sequence of scan-in data segments, and the scan-out stream including a sequence of scan-out data segments.
- 7. The method of claim 5, further comprising the act of separating the scan test data sequence into at least a scan-in stream and a scan-out stream, the scan-in stream including a sequence of scan-in data segments, and the scan-out stream including a sequence of scan-out data documents.
- 8. The method of claim 7, further comprising the act of separating the scan test data sequence into a scan-mast stream including a sequence of scan-mask data segments.
- 9. The method of claim 2, further comprising the acts of:
determining whether the processing information associated with the scan data segment equals one or more first pre-determined values; and if the processing information associated with the scan data segment equals the first pre- determined value, then processing the scan stream sequentially from a continuous block of the memory starting at a location in the memory indicated by the pointer associated with the scan data segment.
- 10. The method of claim 9, further comprising the acts of:
determining whether the scan data segment length, the start pad length and the end pad length for the scan data segment equal one or more first pre-determined values; and if the scan data segment length, the start pad length and the end pad length for a scan data segment equal the first pre-determined value, then processing the scan stream sequentially from a contiguous block of the memory starting at a location in the memory indicated by the pointer associated with the scan data segment.
- 11. The method of claim 1, further comprising the acts of:
associating a first indicator with each scan data segment; determining whether the first indicator equals a second pre-determined value; if the first indicator equals the second pre-determined value, then processing the scan data segment from information included in the processing information associated with the scan data segment.
- 12. The method of claim 1, further comprising the acts of:
associating a first indicator and a second indicator with each scan data segment; determining whether the first indicator equals a second pre-determined value; if the first indicator equals the second pre-determined value, then: determining whether the second indicator equals a third pre-determined value; if the second indicator equals the third pre-determined value, then: retrieving a repeat number from information included in the processing information associated with the scan data segment; and processing the scan data segment from information included in the processing information associated with the scan data segment consecutively a number of times equal to the repeat number before processing a next scan data segment in the sequence of scan data segments.
- 13. A scan sequencing module for an integrated circuit tester, the scan sequencing module comprising:
at least one memory which stores scan stream data, wherein the scan stream data includes a plurality of sequences of scan data segments not contiguously located in the at least one memory and associated link table data; at least one memory controller coupled to the memory, whereby the plurality of scan data segments are retrieved from the memory as determined by the link table data; and at least one stream controller coupled to the memory controller, whereby scan data segment bits or dummy data bits are transmitted to a device under test as determined by the link table data.
- 14. The scan sequencing module of claim 13, wherein at least one data buffer is coupled between the stream controller and the scan memory controller.
- 15. The scan sequencing module of claim 13, further comprising a global sequencer coupled to the stream controllers, whereby scan data is transmitted by the stream controllers in response to each scan increment signal received from the global sequencer.
- 16. A method of processing a scan test data sequence for testing a circuit device, comprising the acts of:
separating the scan test data sequence into at least two scan streams, wherein each scan stream includes a sequence of scan data segments; and for each scan stream: storing the scan data segments in a memory; providing processing information associated with each scan data segment; testing the circuit device by applying thereto the sequence of scan data segments; providing a pointer to each scan data segment in the processing information associated with the scan data segment; sequencing the pointers in the same order as the sequence of scan data segments; providing each pointer with a scan data segment length for the scan data segment associated with the pointer; separating the scan test data sequence into at least a scan-in stream and a scan-out stream, the scan-in stream including a sequence of scan-in data segments, and the scan-out stream including a sequence of scan-out data documents; separating the scan test data sequence into a scan-mast stream including a sequence of scan-mask data segments; for each scan data segment, calculating at least one processing delay value; interleaving the scan data segments in accordance with the at least one processing delay value of each scan data segment; assigning the processing delay value calculated for each scan-out data segment in the sequence of scan-out data segments to each corresponding scan-mask data segment in the sequence of scan-mask data segments; calculating the processing delay value for a scan data segment in a current scan interval by aligning the next scan-in data segment so that it is fully scanned on the last scan clock cycle of the current scan interval, and aligning the start of the current scan-out data on the first scan clock cycle of the current scan interval, the current scan interval length being the greater of the next scan-in data length and the current scan-out data length; associating a start pad length and an end pad length to each processing delay value; determining whether the scan data segment length, the start pad length and the end pad length for the scan data segment equal one or more first pre-determined values; and if the scan data segment length, the start pad length and the end pad length for a scan data segment equal the first pre-determined value, then processing the scan stream sequentially from a contiguous block of the memory starting at a location in the memory indicated by the pointer associated with the scan data segment.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of and claims priority to co-pending application Ser. No. 09/696,102 titled “Scan Stream Sequencing for Testing Integrated Circuits” filed on Oct. 24, 2000, which is hereby incorporated by reference herein.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09696102 |
Oct 2000 |
US |
Child |
10861587 |
Jun 2004 |
US |