IP Library Granted Patent US 9,728,273
Granted Patent B2
US 9,728,273 · App. 14/283,329 · Granted Aug 8, 2017

Embedded memory testing using back-to-back write/read operations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,728,273
App. No.
14/283,329
Granted
Aug 8, 2017
Kind
B2
Abstract

In one embodiment, a BIST (built-in self-test) engine performs BIST testing of embedded memory in an integrated circuit device (e.g., an FPGA) via an (e.g., hard-wired, dedicated, low-latency) bus from the configuration bitstream engine. During BIST testing, data is written into the embedded memory at-speed, which may require the bitstream engine to produce a higher frequency than originally used for configuration. Between consecutive write operations, the BIST engine is capable of reading the previously written set of data from the embedded memory and comparing that read-back data with the corresponding original set of data to determine whether a BIST error has occurred. By performing back-to-back write/read-back operations faster than the configuration speed and using a dedicated W/RB bus, BIST testing can be optimally performed without false-positive-invoking delays and undesirable resource utilization.

Claims (32)

1. A method for testing embedded memory in a field-programmable gate array (FPGA) device, the embedded memory having an at-speed configuration frequency, the method comprising:

(a) performing a number of write operations to write sets of configuration data into the embedded memory to configure the FPGA device;

(b) performing at least one read operation after each write operation to read back the previous written set of configuration data from the embedded memory as read-back data, wherein each of the write and read operations are performed at a frequency greater than the at-speed configuration frequency;

(c) comparing the read-back data to the configuration data to detect an embedded memory testing error;

wherein the method is performed by a memory-testing engine of the FPGA separate from the embedded memory, separate from a programmable logic fabric of the FPGA, and connected to the embedded memory by a hardwired data bus; and

wherein the memory-testing engine is implemented in a configuration bitstream engine of the FPGA device.

2. The method of claim 1 , wherein step (b) comprises performing only one read operation between consecutive write operations.

3. The method of claim 1 , wherein step (b) comprises performing two or more read operations between consecutive write operations.

4. The method of claim 1 , wherein:

each write operation is based on an address value stored in an address register for the embedded memory; and

after each write operation, the at least one read operation is performed without changing the address value stored in the address register from the address value used during the previous write operation.

5. A field-programmable gate array (FPGA) device comprising:

a programmable logic fabric;

an embedded memory having an at-speed configuration frequency;

a memory-testing engine separate from the embedded memory and the programmable logic fabric;

a hardwired data bus connecting the memory-testing engine to the embedded memory, wherein the memory-testing engine is configured to:

(a) perform a number of write operations to write sets of configuration data into the embedded memory to configure the FPGA device;

(b) perform at least one read operation after each write operation to read back the previous written set of configuration data from the embedded memory as read-back data, wherein each of the write and read operations are performed at a frequency greater than the at-speed configuration frequency; and

(c) compare the read-back data to the configuration data to detect a memory testing error; and

wherein the memory-testing engine is implemented in a configuration bitstream engine of the FPGA device.

6. The FPGA device of claim 5 , wherein the memory-testing engine is configured to perform only one read operation between consecutive write operations.

7. The FPGA device of claim 5 , wherein the memory-testing engine is configured to perform two or more read operations between consecutive write operations.

8. The FPGA device of claim 5 , wherein:

each write operation is based on an address value stored in an address register for the embedded memory; and

after each write operation, the memory-testing engine is configured to perform the at least one read operation without changing the address value stored in the address register from the address value used during the previous write operation.

9. The FPGA device of claim 5 , wherein the memory-testing engine comprises:

a memory-testing controller configured to control operations of the memory-testing engine;

a comparator configured to compare the read-back data to the configuration original data to detect the memory testing error; and

an error counter configured to count each memory testing error.

10. The FPGA device of claim 9 , wherein the memory-testing engine further comprises:

an address generator configured to generate memory address values for the write operations; and

a data generator configured to generate the sets of configuration data.

Assignments (4)
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
SECURITY INTEREST Recorded Mar 24, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035309/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2014
From: CHAKRABORTY, KANAD; PURUSHOTHAM, NAVEEN
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 032937/0827 →