Programmable logic devices
OwnerDavinder Aggarwal, Ashish Kumar Goel +1inventors
InventorsDavinder Aggarwal, Ashish Kumar Goel, Namerita Khanna
Life of this patent
Estimating the term…
Abstract
An improved programmable logic device provides increased efficiency and enhanced flexibility in configuration of block memories and includes one or more memory blocks and a vertical shift register that receives the data to be loaded in the memory blocks. The PLD further provides a selection device for selecting the memory cells in the memory blocks that are to store the received data, and a control block for controlling the loading of the data in the memory blocks. The selection device includes an address counter connected to the input of an address decoder so as to enable the selection of addresses in the memory blocks.
Claims22
A programmable logic device, comprising:
- a memory core comprising an array of configurable logic and routing blocks;
- at least one embedded memory block coupled to the memory core and a local counter coupled to the embedded memory block;
- a vertical shift register connected to the at least one embedded memory block to receive configuration data to be loaded in the at least one embedded memory block;
- a second shift register connected to the at least one embedded memory block that is configured to:
- store received data, the second shift register adapted to enable a configuration latches column for configuration;
- and
- enable the local counter to be reused for general logic functions once the configuration of the at least one embedded memory block has been completed using the local counter;
- and
- a configuration control unit connected to the vertical shift register and the second register for controlling the loading of the data in the at least one embedded memory block, the control unit adapted to start the local counter coupled to the at least one embedded memory.
A method comprising:
- configuring a plurality of embedded memory blocks in a programmable logic device, each of the plurality of embedded memory blocks coupled to a field programmable gate array memory core and a respective one of a plurality of address counters, by:
- shifting configuration data into a vertical shift register;
- configuring each of the embedded memory blocks with the respective address counter and data from the vertical shift register to select memory locations in the embedded memory block in which the shifted data is to be stored;
- and
- providing control signals for storing the data in the selected memory locations and starting the respective address counter;
- and
- reusing at least one of the plurality of address counters for general counter use after the embedded memory blocks are configured.
A programmable logic device, comprising:
- a plurality of memory blocks coupled to a field programmable gate array (FPGA) core;
- a vertical shift register (VSR) coupled to the plurality of memory blocks and the FPGA core to provide configuration data to the memory blocks;
- an HFF register coupled to the FPGA core;
- a control unit coupled to the VSR and HFF register for controlling the loading of data in the memory blocks;
- a plurality of address counters, each said address counter coupled to a respective said memory block to provide an address for selecting memory locations in the memory block, each said address counter adapted to be used as an up/down counter for general logic functions after configuration of the respective said memory block;
- and
- an address decoder connected between each said address counter and each said memory block and structured to enable access to selected memory locations in the memory block.
A system comprising in a programmable logic device having a field programmable gate array memory core and a plurality of embedded memory blocks coupled to the memory core, comprising:
- means for shifting configuration data into a vertical shift register;
- means for configuring each embedded memory block with an address counter and data from the vertical shift register to select memory locations in each embedded memory block in which the shifted data is to be stored, wherein the address counter is also adapted for use as an up/down counter to implement LIFO or FIFO functions;
- and
- means for providing control signals for storing the data in the selected memory locations and starting the address counter.
A method for configuring embedded block memories in a programmable logic device having a field programmable gate array memory core and a plurality of embedded memory blocks coupled to the memory core and a respective local counter coupled to each memory block, comprising:
- shifting configuration data into a vertical shift register;
- selecting memory locations in each said embedded memory block in which the shifted data is to be stored;
- and
- providing control signals for storing the data in the selected memory locations and starting the local counter;
- and
- reusing at least one said local counter after the embedded memory blocks are configured.
A method comprising:
- configuring a plurality of memory blocks, coupled to a field programmable gate array (FPGA) core, using a plurality of address counters in which each said address counter is coupled to a respective said memory block to provide an address for selecting memory locations in the memory block;
- and
- reusing at least one said address counter as a general use counter after the plurality of memory blocks are configured.
A programmable logic device comprising:
- a field programmable gate array memory core;
- a plurality of memory blocks coupled to the memory core;
- and
- a plurality of address counters, each of which being coupled to a respective one of the plurality of address counters to provide an address for selecting memory locations in the memory block to configure the plurality of memory blocks and at least one of the address counters being configured for use as a general use counter after the plurality of memory blocks are configured.
Dependencies are inferred from the claim text.