Claims
- 1-24. (cancelled).
- 25. A method for testing or diagnosing a plurality of clock domains in a scan-based integrated circuit in selected self-test or scan-test mode, the scan-based integrated circuit having a global scan enable (GSE) signal and a test clock, each domain having a system clock, a scan clock, a scan enable (SE) signal, and a plurality of scan cells connected to form one or more scan chains; said method comprising the steps of:
(a) concurrently shifting a test stimulus into all said scan chains of each said clock domain by clocking said scan clock controlling each said clock domain at a shift clock speed, selectively derived from said test clock or said system clock of said clock domain, for a predetermined number of shift clock cycles, when said global scan enable (GSE) signal is set to logic value ‘1’ during the shift-in operation; (b) capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed, selectively derived from said test clock or said system clock of said clock domain, for a predetermined number of capture clock cycles, when said global scan enable (GSE) signal is set to logic value ‘0’ during the capture operation; and (c) concurrently shifting said test response out of all said scan chains of each said clock domain for comparison or compaction by clocking said scan clock controlling each said clock domain at a shift clock speed, selectively derived from said test clock or said system clock of said clock domain, for said predetermined number of shift clock cycles, when said global scan enable (GSE) signal is set to logic value ‘1’ during the shift-out operation.
- 26. The method of claim 25, wherein said shift-in operation and said shift-out operation can occur concurrently.
- 27. The method of claim 25, wherein said scan enable (SE) signal controlling one said clock domain is further derived from said global scan enable (GSE) signal during said capture operation, when said clock domain is to be tested or diagnosed with selected stuck-type faults; wherein said stuck-type faults further include stuck-at faults, bridging faults, and IDDQ (IDD quiescent current) faults.
- 28. The method of claim 27, wherein said scan enable (SE) signal controlling one said clock domain is set to logic value ‘0’ throughout all said capture clock cycles during said capture operation.
- 29. The method of claim 25, wherein said scan enable (SE) signal controlling one said clock domain is further derived from said global scan enable (GSE) signal during said capture operation, when said clock domain is to be tested or diagnosed with selected non-stuck-type faults; wherein said non-stuck-type faults further include transition faults using capture launch, path-delay faults using capture launch, and multiple-cycle delay faults using capture launch.
- 30. The method of claim 29, wherein said scan enable (SE) signal controlling one said clock domain is set to logic value ‘0’ throughout all said capture clock cycles during said capture operation.
- 31. The method of claim 25, wherein said scan enable (SE) signal controlling one said clock domain is further derived from said global scan enable (GSE) signal, said test clock, and said system clock of said clock domain, when said clock domain is to be tested or diagnosed with selected non-stuck-type faults; wherein said non-stuck-type faults further include transition faults using last-shift launch, path-delay faults using last-shift launch, and multiple-cycle delay faults using last-shift launch.
- 32. The method of claim 31, wherein said scan enable (SE) signal controlling one said clock domain is set to logic value ‘1’ for the first said capture clock cycle and ‘0’ for the second and thereafter said capture clock cycles during said capture operation.
- 33. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises performing said capture operation concurrently on selected clock domains which do not have any logic block crossing each other or any unpredictable data signal traversing from one said selected clock domain to another said selected clock domain, in said selected self-test mode or said selected scan-test mode.
- 34. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises applying said scan clocks in a selected order for detecting or locating additional faults in said scan-based integrated circuit.
- 35. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises applying another ordered sequence of scan clocks selectively longer or shorter than said ordered sequence of scan clocks for detecting or locating additional faults in said scan-based integrated circuit.
- 36. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises disabling one or more said scan clocks to facilitate fault detection or fault diagnosis.
- 37. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively operating said scan clock at a selected clock speed derived from said test clock or said system clock of said clock domain for detecting or locating stuck-at faults within said clock domain controlled by said scan clock.
- 38. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively operating said scan clock at its rated clock speed (at-speed) derived from said system clock of said clock domain for detecting or locating delay faults within said clock domain controlled by said scan clock.
- 39. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively reducing said scan clock speed derived from said system clock of said clock domain to the level where delay faults associated with all multiple-cycle paths of equal cycle latency within said clock domain are tested at a predetermined rated clock speed (at-speed).
- 40. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively operating two said scan clocks at selected clock speeds for detecting or locating stuck-at faults crossing two said clock domains.
- 41. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively adjusting the relative clock delay of two said scan clocks operating at selected clock speeds for detecting or locating delay faults crossing two said clock domains.
- 42. The method of claim 25, wherein said capturing a test response into said scan chains of each said clock domain in an ordered sequence by clocking said scan clock controlling each said clock domain at a selected capture clock speed further comprises selectively adjusting the relative clock delay of two said scan clocks to the level where delay faults associated with all multiple-cycle paths of equal cycle latency crossing two said clock domains are tested at a predetermined rated clock speed.
- 43. The method of claim 25, wherein said global scan enable (GSE) signal can be selectively generated within said scan-based integrated circuit or controlled externally.
- 44. The method of claim 25, wherein said test clock is derived from an external test clock.
- 45. The method of claim 44, wherein said external test clock is further derived from one said system clock controlling one said clock domain within said scan-based integrated circuit.
- 46. The method of claim 25, further including a TAP (Test access port) controller in said selected self-test mode or said selected scan-test mode; wherein said TAP controller is constructed according to a selected Boundary-scan Standard which includes a test access port (TAP) comprising TDI (Test data in), TDO (Test data out), TCK (Test clock), TMS (Test mode select), and selectively TRSTB (Test reset).
- 47. The method of claim 46, wherein said TAP controller further comprises means for generating said global scan enable (GSE) signal within said scan-based integrated circuit.
- 48. The method of claim 46, wherein said TAP controller further comprises means for generating said test clock within said scan-based integrated circuit; wherein said test clock is selectively derived from said TCK or one said system clock controlling one said clock domain within said scan-based integrated circuit.
- 49. A unified test controller for testing or diagnosing a plurality of clock domains in a scan-based integrated circuit in selected self-test or scan-test mode, the unified test controller having a global scan enable (GSE) signal and a test clock, and each domain controlled by one system clock; said unified test controller comprising:
(a) a capture clock generator for generating an ordered sequence of capture clocks (CCKs) in response to said global scan enable (GSE) signal and said test clock; and (b) a plurality of domain clock generators, each domain clock generator for generating a scan enable (SE) signal and a scan clock (SCK) for controlling one said clock domain, in response to said global scan enable (GSE) signal, said system clock, and said capture clock (CCK).
- 50. The unified test controller of claim 49, further including a capture phase selector for storing a selected order of capture phases for allowing reordering of said ordered sequence of capture clocks; wherein each said selected capture phase is used to control said capture clock generator for generating one said capture clock (CCK).
- 51. The unified test controller of claim 50, wherein said capture phase selector is a shift register.
- 52. The unified test controller of claim 49, further including a test type selector for storing a plurality of selected test types for allowing at-speed or reduced-speed testing in selected clock domains; wherein each said selected test type is used to control one said domain clock generator for generating one said scan enable (SE) signal and one said scan clock (SCK).
- 53. The unified test controller of claim 52, wherein said test type selector is a shift register.
- 54. The unified test controller of claim 28, wherein said selected test type is selectively a stuck-type or a non-stuck-type; wherein said stuck-type further includes tests for stuck-at faults, bridging faults, and IDDQ (IDD quiescent current) faults; and wherein said non-stuck-type further includes tests for transition faults using last-shift launch, transition faults using capture launch, path-delay faults using last-shift launch, path-delay faults using capture launch, multiple-cycle delay faults using last-shift launch, and multiple-cycle delay faults using capture launch.
- 55. The unified test controller of claim 49, wherein said global scan enable (GSE) signal can be selectively generated within said scan-based integrated circuit or controlled externally.
- 56. The unified test controller of claim 49, wherein said test clock can be selectively generated within said scan-based integrated circuit or controlled externally.
- 57. The unified test controller of claim 49, further including a TAP (Test access port) controller in said selected self-test mode or said selected scan-test mode; wherein said TAP controller is constructed according to a selected Boundary-scan Standard which includes a test access port (TAP) comprising TDI (Test data in), TDO (Test data out), TCK (Test clock), TMS (Test mode select), and selectively TRSTB (Test reset).
- 58. The unified test controller of claim 57, wherein said global scan enable (GSE) signal is further generated by a global scan enable generator; wherein said global scan enable generator further comprises using Shift_DR, Capture_DR, and Update_DR, embedded in said TAP controller, to generate said global scan enable (GSE) signal.
- 59. The unified test controller of claim 57, wherein said test clock is further generated by a test clock generator having a selected clock type and a selected external test clock; wherein said test clock generator selectively selects said selected external test clock as said test clock, when said selected clock type is set to logic value ‘0’, or selects said TCK as said test clock, when said selected clock type is set to logic value ‘1’.
- 60. The unified test controller of claim 59, wherein said selected clock type is further stored in a clock type selector for testing or diagnosing said scan-based integrated circuit; wherein said clock type selector is a shift register.
- 61. The unified test controller of claim 49, wherein said capture clock generator for generating an ordered sequence of capture clocks (CCKs) further comprises means for generating a plurality of selected overlapping clock cycles and a plurality of selected non-overlapping clock cycles as said capture clocks (CCKs).
- 62. The unified test controller of claim 49, wherein said capture clock (CCK) in said domain clock generator is used to test or diagnose stuck-type faults, including stuck-at faults, bridging faults, or IDDQ (IDD Quiescent) faults, in said clock domain in said scan-based integrated circuit.
- 63. The unified test controller of claim 49, wherein said system clock in said domain clock generator is used to test or diagnose non-stuck-type faults, including transition faults using last-shift launch, transition faults using capture launch, path-delay faults using last-shift launch, path-delay faults using capture launch, multiple-cycle delay faults using last-shift launch, and multiple-cycle delay faults using capture launch, in said clock domain in said scan-based integrated circuit.
- 64. The unified test controller of claim 49, wherein said scan clocks (SCKS) are used to test or diagnose said scan-based integrated circuit embedded with a plurality of PRPG-MISR (pseudo-random pattern number and multiple-input signature register) pairs in said selected self-test mode; wherein a selected said PRPG-MISR pair can be further split into two or more smaller PRPG-MISR pairs; and wherein two or more selected said PRPG-MISR pairs can be further merged into a larger PRPG-MISR pair.
- 65. The unified test controller of claim 49, wherein said scan clocks (SCKs) are used to test or diagnose said scan-based integrated circuit embedded with a plurality of decompressor-compressor pairs in said selected scan-test mode; wherein a selected said decompressor-compressor pair can be further split into two or more smaller decompressor-compressor pairs; and wherein two or more selected said decompressor-compressor pairs can be further merged into a larger decompressor-compressor pair.
- 66. The unified test controller of claim 65, wherein said decompressor is selectively a reconfigured PRPG or broadcaster; and wherein said compressor is selectively a MISR or a compactor.
- 67. A method for synthesizing a unified test controller for testing or diagnosing a plurality of clock domains in a scan-based integrated circuit in selected self-test or scan-test mode, said unified test controller having a global scan enable (GSE) signal and a test clock, and each domain controlled by one system clock; said method comprising the computer-implemented steps of:
(a) compiling the HDL (hardware description language) code at RTL (register-transfer level) or netlist at gate-level that represents said scan-based integrated circuit in physical form into a design database; (b) synthesizing said unified test controller; (c) integrating said unified test controller into said design database that represents said scan-based integrated circuit; (d) generating the synthesized HDL code at said RTL or netlist at said gate-level; and (e) generating HDL test benches and ATE (automatic test equipment) test programs for verifying the correctness of said unified test controller in said scan-based integrated circuit in said selected self-test mode or said selected scan-test mode.
- 68. The method of claim 67, further adapting steps (a)-(e) to accept user-supplied test constraints and report the results and errors if any.
- 69. A computer-readable memory having computer-readable program code embodied therein for causing a computer system to perform a method for synthesizing a unified test controller for testing or diagnosing a plurality of clock domains in a scan-based integrated circuit in selected self-test or scan-test mode, said unified test controller having a global scan enable (GSE) signal and a test clock, and each domain controlled by one system clock; said method comprising the computer-implemented steps of:
(a) compiling the HDL (hardware description language) code at RTL (register-transfer level) or netlist at gate-level that represents said scan-based integrated circuit in physical form into a design database; (b) synthesizing said unified test controller; (c) integrating said unified test controller into said design database that represents said scan-based integrated circuit; (d) generating the synthesized HDL code at said RTL or netlist at said gate-level; and (e) generating HDL test benches and ATE (automatic test equipment) test programs for verifying the correctness of said unified test controller in said scan-based integrated circuit in said selected self-test mode or said selected scan-test mode.
- 70. The computer-readable memory of claim 69, further adapting steps (a)-(e) to accept user-supplied test constraints and report the results and errors if any.
- 71. An electronic design automation system comprising:
a processor; a bus coupled to said processor; and a computer-readable memory coupled to said bus and having computer-readable program code stored therein for causing said electronic design automation system to perform a method for synthesizing a unified test controller for testing or diagnosing a plurality of clock domains in a scan-based integrated circuit in selected self-test or scan-test mode, said unified test controller having a global scan enable (GSE) signal and a test clock, and each domain controlled by one system clock; said method comprising the computer-implemented steps of: (a) compiling the HDL (hardware description language) code at RTL (register-transfer level) or netlist at gate-level that represents said scan-based integrated circuit in physical form into a design database; (b) synthesizing said unified test controller; (c) integrating said unified test controller into said design database that represents said scan-based integrated circuit; (d) generating the synthesized HDL code at said RTL or netlist at said gate-level; and (e) generating HDL test benches and ATE (automatic test equipment) test programs for verifying the correctness of said unified test controller in said scan-based integrated circuit in said selected self-test mode or said selected scan-test mode.
- 72. The system of claim 71, further adapting steps (a)-(e) to accept user-supplied test constraints and report the results and errors if any.
RELATED APPLICATION DATA
[0001] This application claims the benefit of U.S. Provisional Application No. 60/370,700 filed Apr. 9, 2002, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60370700 |
Apr 2002 |
US |