Claims
- 1. A method for generating an integrated circuit (IC) including an operational circuit comprising a plurality of embedded memories (100) accessed by said operational circuit, said embedded memories having differing address ranges, the method comprising the steps of:
- a. providing a first specification for a plurality of built-in self-test (BIST) circuits (40, 60, 80, 90), each corresponding to a separate one of said embedded memories, each for responding to input timing signals by generating an address sequence, writing data to and reading data from the corresponding embedded memory at each address of said address sequence, comparing data written into the corresponding embedded memory to data read out of the corresponding embedded memory, and producing output data indicating whether the data written into the embedded memory matches the data read out of the embedded memory, wherein said timing signals include a first timing signal (11) for controlling timing of memory access and a second timing signal (13) for controlling timing of generation of each address of said address sequence;
- b. providing a second specification for a BIST controller for generating and supplying said first and second timing signals in common to all of said BIST circuits;
- c. synthesizing IC design of circuit blocks implementing each of said BIST circuits in accordance with said first specification and also implementing said operational circuit;
- d. determining placement and interconnections of said circuit blocks within said IC; and
- e. generating said IC in accordance with said design of said circuit blocks synthesized at step c and placement and interconnections of said circuit blocks determined at step d.
- 2. The method in accordance with claim 1 wherein said circuit blocks synthesized in step c also implement said BIST controller in accordance with said second specification.
- 3. The method in accordance with claim 1 wherein each of said BIST circuits corresponding to an embedded memory includes an address generator (40) for responding to pulses of said second timing signal by generating a sequence of memory addresses spanning without exceeding a memory address range of the corresponding embedded memory.
- 4. The method in accordance with claim 1 wherein said BIST controller also generates and supplies a sequence of encoded data values (12) in common to each said BIST circuit and wherein each BIST circuit decodes said sequence of encoded data values to produce data that it writes to its corresponding RAM.
- 5. The method in accordance with claim 1 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
- 6. The method in accordance with claim 2 wherein each of said BIST circuits corresponding to an embedded memory includes an address generator (40) for responding to pulses of said second timing signal by generating a sequence of memory addresses spanning without exceeding a memory address range of the corresponding embedded memory.
- 7. The method in accordance with claim 2 wherein said BIST controller also generates and supplies a sequence of encoded data values (12) in common to each said BIST circuit and wherein each BIST circuit decodes said sequence of encoded data values to produce data that it writes to each address of its corresponding RAM.
- 8. The method in accordance with claim 2 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
- 9. The method in accordance with claim 3 wherein said BIST controller also generates and supplies a sequence of encoded data values (12) in common to each said BIST circuit and wherein each BIST circuit decodes said sequence of encoded data values to produce data that it writes to each address of its corresponding RAM.
- 10. The method in accordance with claim 3 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
- 11. The method in accordance with claim 6 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
- 12. The method in accordance with claim 6 wherein said BIST controller also generates and supplies a sequence of encoded data values (12) in common to each said BIST circuit and wherein each BIST circuit decodes said sequence of encoded data values to produce data that it writes to each address of its corresponding RAM.
- 13. The method in accordance with claim 6 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
- 14. The method in accordance with claim 9 wherein said BIST controller also generates and supplies a sequence of encoded data values (12) in common to each said BIST circuit and wherein each BIST circuit decodes said sequence of encoded data values to produce data that it writes to each address of its corresponding RAM.
- 15. The method in accordance with claim 12 wherein each of said BIST circuits responds to said first timing signal by accessing its corresponding RAM with a delay, and wherein said first specification separately specifies that delay for each BIST circuit.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority from the following U.S. Provisional Applications, the disclosures of which, including all appendices and all attached documents, are incorporated by reference in their entirety for all purposes:
US Referenced Citations (9)