Programmable logic device with on-chip nonvolatile user memory
First Claim
Patent Images
1. An integrated circuit comprising:
- a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; and
a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises;
a boot data partition to store configuration data;
a user data partition to store information to be accessed by an application running on the programmable logic array portion;
a first data port for data read access to the boot data partition; and
a second data port for data read access to the user data partition.
2 Assignments
0 Petitions
Accused Products
Abstract
A programmable logic integrated circuit has user-accessible nonvolatile memory for use by the programmable logic. In a specific embodiment, the programmable logic integrated circuit has a programmable logic array portion and a nonvolatile memory array portion. The nonvolatile memory array portion is segregated into a boot data part and a user data partition. The boot data partition holds data for configuring the programmable logic portion on power up, and the user data partition is for use by the programmable logic. A user can store and retrieve data from the user data partition. A built-in oscillator can be programmably connected from the nonvolatile memory portion to the PLD portion.
-
Citations
28 Claims
-
1. An integrated circuit comprising:
- a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; and
a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises;
a boot data partition to store configuration data;
a user data partition to store information to be accessed by an application running on the programmable logic array portion;
a first data port for data read access to the boot data partition; and
a second data port for data read access to the user data partition. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; and
-
8. An integrated circuit comprising:
-
a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises; a boot data partition to store configuration data; a user data partition to store user data; a first data port for data read access to the boot data partition; and a second data port for data read access to the user data partition; and an oscillator circuit coupled to the programmable logic array portion and the nonvolatile memory portion, wherein the oscillator circuit comprises an enable input for enabling and disabling the oscillator circuit, wherein a signal provided by the oscillator circuit clocks transfers of user data from the nonvolatile memory portion to the programmable array portion, and wherein the programmable logic array portion further comprises volatile memory elements and programmable interconnect, wherein the logic array blocks and programmable interconnect are configurable using the volatile memory elements. - View Dependent Claims (9, 10)
-
-
11. An integrated circuit comprising:
-
a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises; a boot data partition to store configuration data; a user data partition to store user data; a first data port for data read access to the boot data partition; and a second data port for data read access to the user data partition; and an interface block coupled between the programmable logic portion and the nonvolatile memory portion, the interface block to read data from the user data partition of the nonvolatile memory portion and to write data to the user data partition of the nonvolatile memory, wherein the interface block comprises; a shift register circuit comprising inputs coupled to the programmable logic array portion; a data register circuit comprising inputs coupled to the programmable logic array portion, and input and outputs coupled to the nonvolatile memory portion; and a program/erase control circuit comprising inputs coupled to the programmable logic array portion, and an output coupled to the nonvolatile memory portion.
-
-
12. An integrated circuit comprising:
-
a programmable logic array portion comprising a plurality of logic array blocks configurable to implement user-defined logic functions; and a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises; a boot data partition to store configuration data; a user data partition to store user data; a first data port for data read access to the boot data partition; and a second data port for data read access to the user data partition, wherein the nonvolatile memory portion further comprises; a first memory cell for storing a first security bit and a second memory cell for storing a second security bit, wherein when the first security bit is in a first state, data stored in the boot data partition may be transferred through a third data port of the nonvolatile memory portion to pins of the integrated circuit, when the first security bit is in a second state, data stored in the boot data partition is prevented from being transferred through the third data port to pins of the integrated circuit, when the second security bit is in a first state, data stored in the user data partition may be transferred through the third port to pins of the integrated circuit, and when the second security bit is in a second state, data stored in the user data partition is prevented from being transferred through the third port to pins of the integrated circuit.
-
-
13. A method of operating an integrated circuit comprising:
- enabling a clock enable signal to activate an oscillator coupled to a nonvolatile memory portion of the integrated circuit; and
during a normal operation mode, transferring user data stored in a user data partition of the nonvolatile memory portion to a volatile memory portion of a programmable logic array portion of the integrated circuit to be accessed by the programmable logic array portion, wherein a signal provided by the oscillator clocks transfers of the user data from the nonvolatile memory portion to the programmable array portion. - View Dependent Claims (14, 15, 16)
- enabling a clock enable signal to activate an oscillator coupled to a nonvolatile memory portion of the integrated circuit; and
-
17. An integrated circuit comprising:
-
a programmable logic array portion comprising logic array blocks configurable to implement user-defined logic functions; a nonvolatile memory portion coupled to the programmable logic array portion, wherein the nonvolatile memory portion comprises; a boot data partition to store configuration data; and a user data partition to store user data for an operational mode where the user functions are being utilized; a first memory cell for storing a first security bit, wherein when the first security bit is in a first state, data stored in the boot data partition may be transferred to pins of the integrated circuit, and when the first security bit is in a second state, data stored in the boot data partition is prevented from being transferred to pins of the integrated circuit; and a second memory cell for storing a second security bit, wherein when the second security bit is in a first state, data stored in the user data partition may be transferred to pins of the integrated circuit, and when the second security bit is in a second state, data stored in the user data partition is prevented from being transferred to pins of the integrated circuit. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. An integrated circuit comprising:
-
a programmable portion; a nonvolatile memory portion; a volatile memory portion coupled to the nonvolatile memory portion and the programmable portion, wherein the integrated circuit is configurable by user data stored in the volatile memory portion; and an oscillator circuit coupled to the volatile memory portion and the nonvolatile memory portion wherein the oscillator circuit comprises an enable input for enabling and disabling the oscillator circuit and wherein a signal provided by the oscillator circuit clocks transfers of the user data from the nonvolatile memory portion to the volatile memory portion. - View Dependent Claims (26)
-
-
27. An integrated circuit comprising:
-
a programmable portion; a volatile memory portion coupled to the programmable portion; a nonvolatile memory portion; and an interface block coupled between the volatile memory portion and the nonvolatile memory portion, the interface block to read user data from and to write user data to the nonvolatile memory, wherein the interface block comprises; a shift register circuit comprising inputs coupled to the volatile memory portion; a data register circuit comprising inputs coupled to the volatile memory portion, and input and outputs coupled to the nonvolatile memory portion; and a program/erase control circuit comprising inputs coupled to the volatile memory portion, and an output coupled to the nonvolatile memory portion.
-
-
28. An integrated circuit comprising:
-
a programmable portion; a nonvolatile memory comprising a boot data partition to store configuration data for the programmable portion, a user data partition to store user data, a first memory cell for storing a first security bit, a second memory cell for storing a second security bit and a data port, wherein when the first security bit is in a first state, data stored in the boot data partition may be transferred through the data port to pins of the integrated circuit, when the first security bit is in a second state, data stored in the boot data partition is prevented from being transferred through the data port to pins of the integrated circuit, when the second security bit is in a first state, data stored in the user data partition may be transferred through the data port to pins of the integrated circuit, and when the second security bit is in a second state, data stored in the user data partition is prevented from being transferred through the data port to pins of the integrated circuit.
-
Specification