Full-speed bist controller for testing embedded synchronous memories
First Claim
1. A circuit for testing embedded synchronous memory in an integrated circuit, comprising:
- a memory having a plurality of memory words for storing data, the memory having an address port used to identify a memory word during a read or write operation of the memory, a data port that receives data to be written to the memory word during a write operation, and an output port to provide the memory word during a read operation;
a BIST controller coupled to the memory, the BIST controller having a BIST address port coupled to the address port on the memory, a BIST data port coupled to the data port on the memory, and a finite state machine that controls the state of the BIST controller;
compare circuitry coupled to the memory output port; and
at least one pipeline register coupled between the compare circuitry and the finite state machine that delays data to the compare circuitry.
2 Assignments
0 Petitions
Accused Products
Abstract
A test circuit is disclosed for testing embedded synchronous memories. A BIST controller is used to address the memory and provide reference data that is compared to the memory output. Pipeline registers are used to allow the BIST controller to perform reads and/or writes during every clock cycle. In one aspect, the BIST controller includes a reference data circuit that stores or generates data for comparison to the memory output. A pipeline register is positioned before the reference data circuit or between the reference data circuit and compare circuitry. Additional pipeline registers may be positioned between a compare capture circuit and the compare circuitry. The pipeline registers free the BIST controller from having to wait for a read to complete before starting the next read or write. To reduce the number of pipeline registers needed, a negative-edge BIST controller can be used with a positive-edge memory or vice versa.
87 Citations
31 Claims
-
1. A circuit for testing embedded synchronous memory in an integrated circuit, comprising:
-
a memory having a plurality of memory words for storing data, the memory having an address port used to identify a memory word during a read or write operation of the memory, a data port that receives data to be written to the memory word during a write operation, and an output port to provide the memory word during a read operation;
a BIST controller coupled to the memory, the BIST controller having a BIST address port coupled to the address port on the memory, a BIST data port coupled to the data port on the memory, and a finite state machine that controls the state of the BIST controller;
compare circuitry coupled to the memory output port; and
at least one pipeline register coupled between the compare circuitry and the finite state machine that delays data to the compare circuitry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 25, 26, 27, 28, 29, 30)
-
-
16. A method for testing embedded synchronous memory in an integrated circuit, the method comprising:
-
generating an expected data value;
pipelining the generated expected data value to delay the expected data value at least one clock cycle;
reading an actual data value from the memory; and
comparing the actual data value to the pipelined expected data value using compare circuitry.
-
-
23. A circuit used in testing embedded memory in an integrated circuit, comprising providing pipelined registers between a finite state machine and compare circuitry so that the circuit can read data from memory on consecutive clock cycles and compare the read data to an expected data value during the same clock cycle as the reads, and wherein the circuit provides the results of consecutive reads on every clock cycle.
-
24. A method for testing embedded memory, comprising:
-
(a) during a first clock cycle, setting up an address register for a first read of memory;
(b) during a second clock cycle, completing the first read and comparing the data read to an expected data value;
(c) during the second clock cycle, setting up the address register for a second read or a write;
(d) during a third clock cycle, providing an output for the first read indicating whether the first read past or failed based on whether the data read matched the expected data value; and
(e) during the third clock cycle, completing the second read or the write.
-
-
31. A method for testing embedded synchronous memory in an integrated circuit, the method comprising:
-
(a) selectively configuring the integrated circuit into a test mode for testing the memory;
(b) using a BIST controller, loading an address of the memory location to be tested;
(c) using the BIST controller, generating an expected data value that represents the correct data associated with the memory address;
(d) using the BIST controller, providing control signals to or loading a compare capture circuit used to control compare circuitry;
(e) reading the actual data value from the memory, the data value stored in memory at the memory address generated by the BIST controller;
(f) comparing the actual data value from the memory with the expected data value from the BIST controller; and
(g) pipelining at least the compare capture circuit so that the BIST controller can perform consecutive reads and compares every clock cycle of the memory.
-
Specification