Booting mechanism for FPGA-based embedded system
AssigneeAltera Corporation
InventorsTimothy P. Allen, Andrew Draper, Aaron Ferrucci, Kerry Veenstra
Life of this patent
Estimating the term…
Loading patent…
AssigneeAltera Corporation
InventorsTimothy P. Allen, Andrew Draper, Aaron Ferrucci, Kerry Veenstra
Estimating the term…
According to various embodiments, a programmable device assembly includes an FPGA coupled to a nonvolatile serial configuration memory (e.g., serial flash memory) and a volatile fast bulk memory (e.g., SRAM or SDRAM). The nonvolatile serial configuration memory contains both the FPGA configuration data and CPU instructions. When a predetermined condition occurs, a serial memory access component that is hard coded on the FPGA automatically reads the configuration data from the nonvolatile serial configuration memory. The configuration data is used to configure the FPGA with various components, including a CPU, a boot ROM with code for a boot copier, and a bus structure. When the CPU boots, code for the boot copier is executed so that the CPU instructions are copied from the nonvolatile serial configuration memory to the volatile fast bulk memory. The CPU then executes the CPU instructions stored in the volatile fast bulk memory.
A programmable device comprising a booting mechanism including a serial memory access component and a boot read only memory (ROM), wherein the boot ROM is configured to store a boot copier, wherein the boot copier is configured to issue a command to the serial memory access component to copy a plurality of central processing unit (CPU) instructions from a nonvolatile serial configuration memory to a volatile memory, wherein the booting mechanism is configured to serially access upon occurrence of a predetermined condition the CPU instructions stored in the nonvolatile serial configuration memory, wherein the boot copier is configured to identify and read the nonvolatile serial configuration memory and determine a location of the CPU instructions within the nonvolatile serial configuration memory based on a length of configuration data stored within the nonvolatile serial configuration memory.
A method for booting a programmable device, said method comprising:
A programmable device comprising:
Dependencies are inferred from the claim text.