IP Library Granted Patent US 10,417,078
Granted Patent B2
US 10,417,078 · App. 15/482,654 · Granted Sep 17, 2019

Deterministic read back and error detection for programmable logic devices

Inventors: Loren McLaury (Hillsboro, OR); Brad Sharpe-Geisler (San Jose, CA)
Assignee: Lattice Semiconductor Corporation
G06F11/079G06F11/073G06F11/0751G06F11/0769G11C11/419G11C29/52H03K19/1776H03K19/17728
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 10,417,078
App. No.
15/482,654
Granted
Sep 17, 2019
Kind
B2
Abstract

Various techniques are provided to efficiently implement deterministic read back and error detection for programmable logic devices (PLDs). In one example, a PLD includes an array of memory cells arranged in rows and columns, where at least one row includes an enable bit. The PLD further includes an address logic circuit configured to selectively assert the columns of the array by respective address lines. The PLD further includes a register configured to store a value of the enable bit in response to an assertion of an address line corresponding to the enable bit. The PLD further includes a read back circuit configured to selectively provide, for each memory cell, a data bit value stored by the memory cell or a predetermined data bit value based at least on the stored value of the register. Additional systems and related methods are provided.

Claims (39)

1. A programmable logic device (PLD) comprising:

a configuration memory comprising an array of memory cells arranged in rows and columns, wherein at least one of the rows comprises an enable bit, a first set of memory cells configured to store configuration data to configure the PLD for operation, and a second set of memory cells selectively configurable to store additional configuration data or non-configuration data as identified by a value of the enable bit;

an address logic circuit configured to selectively assert the columns of the array by respective address lines;

a first register configured to store the value of the enable bit in response to an assertion by the address logic circuit of an address line corresponding to the enable bit; and

a read back circuit configured to selectively provide, for each memory cell, a data bit value stored by the memory cell or a predetermined data bit value based at least on the stored value of the first register, wherein the read back circuit is configured to provide the predetermined data bit value for the second set of memory cells comprising the non-configuration data.

2. The PLD of claim 1 , further comprising:

a second register configured to identify whether each memory cell accessed by the read back circuit comprises the non-configuration, data; and

wherein the read back circuit is configured to selectively provide the data bit value or the predetermined data bit value further based on a value stored by the second register.

3. The PLD of claim 2 , wherein the stored value of the second register is set in response to the stored value of the first register value and an assertion by the address logic circuit of one of the address lines corresponding to the second set of memory cells.

4. The PLD of claim 2 , further comprising:

a first logic circuit configured to pass the enable bit value from the read back circuit to the first register; and

a second logic circuit configured to pass the enable bit value from the first register to the second register.

5. The PLD of claim 2 , wherein the address logic circuit is configured to reset the stored value of the second register after all address lines associated with the second set of memory cells have been asserted.

6. The PLD of claim 1 , further comprising:

a write circuit configured to write the non-configuration data to at least one of the second set of memory cells of the at least one row while the read back circuit simultaneously provides the predetermined data bit value for at least one of the memory cells of the row; and

a charging circuit configured to pre-charge bitlines associated with the row during read back.

7. The PLD of claim 1 , wherein the configuration data identifies at least one logic operation of at least one look-up table (LUT) of the PLD.

8. The PLD of claim 1 , wherein the address logic circuit comprises an address shift register.

9. The PLD of claim 1 , further comprising an output port configured to pass the data bit values provided by the read back circuit to an external system for error detection processing.

10. A method comprising:

selectively asserting, by an address logic circuit, columns of an array of memory cells of a programmable logic device (PLD) by respective address lines, wherein the array of memory cells is arranged in rows and the columns, and wherein at least one of the rows comprises an enable bit, a first set of memory cells configured to store configuration data to configure the PLD for operation, and a second set of memory cells selectively configurable to store additional configuration data or non-configuration data as identified by a value of the enable bit;

storing, in a first register, the value of the enable bit in response to the asserting of one of the address lines corresponding to the enable bit; and

selectively providing, by a read back circuit, for each memory cell, a data bit value stored by the memory cell or a predetermined data bit value based at least on the stored value of the first register, wherein the selectively providing comprises providing the predetermined data bit value for the second set of memory cells comprising the non-configuration data.

11. The method of claim 10 , further comprising:

identifying, by a second register, whether each memory cell accessed by the read back circuit comprises the non-configuration data; and

wherein the selectively providing is further based on a value stored by the second register.

12. The method of claim 11 , further comprising setting the stored value of the second register in response to the stored value of the first register value and the asserting of one of the address lines corresponding to the second set of memory cells.

13. The method of claim 11 , further comprising:

passing, by a first logic circuit, the enable bit value from the read back circuit to the first register; and

passing, by a second logic circuit, the enable bit value from the first register to the second register.

14. The method of claim 11 , further comprising:

resetting, by the address logic circuit, the stored value of the second register after all address lines associated with the second set of memory cells have been asserted.

15. The method of claim 10 , further comprising:

writing the non-configuration data to at least one of the second set of memory cells of the at least one row while the read back circuit simultaneously provides the predetermined data bit value for at least one of the memory cells of the row; and

pre-charging bitlines associated with the at least one row during read back.

16. The method of claim 10 , wherein the configuration data identifies at least one logic operation of at least one look-up table (LUT) of the PLD.

17. The method of claim 10 , wherein the address logic circuit comprises an address shift register.

18. The method of claim 10 , further comprising:

passing the data bit values provided by the read back circuit to an external system for error detection processing.

Assignments (3)
SECURITY INTEREST Recorded Sep 1, 2022
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 061365/0560 →
SECURITY INTEREST Recorded May 21, 2019
From: LATTICE SEMICONDUCTOR CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 049980/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: MCLAURY, LOREN; SHARPE-GEISLER, BRAD
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 041934/0734 →
Continuity (2)
Provisional Application 62320442 · Apr 8, 2016
Related Publication 20170293518A1 · Oct 12, 2017
Cited By (1)
US 12,512,143