IP Library Granted Patent US 8,863,072
Granted Patent B1
US 8,863,072 · App. 13/922,114 · Granted Oct 14, 2014

FPGA and OS image build tool

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 8,863,072
App. No.
13/922,114
Granted
Oct 14, 2014
Kind
B1
Abstract

Various embodiments of the present disclosure provide techniques for producing configuration images of a system on a chip (SOC) design, including a programmable logic device (PLD) and operating system (OS) packages, responsive to a user selection of one or more modules of the PLD and a user selection of at least one OS package. A processor configured to run a design tool, builds the configuration image of the SOC. The design tool compiles a PLD configuration image corresponding to the first selection, selects one or more PLD module drivers corresponding to the first selection, compiles a bootloader and OS kernel design corresponding to the selected one or more module drivers and the PLD image; and builds the configuration image of the SOC corresponding to the bootloader and OS kernel design and the second selection.

Claims (46)

1. A method, comprising:

building, with a processor configured to run a design tool, a configuration image of a system on a chip (SOC), the processor accepting as user inputs (i) a first selection of at least one module of a programmable logic device (PLD) for implementation in the SOC; and (ii) a second selection of at least one operating system (OS) package for implementation in the SOC, wherein the design tool:

compiles a PLD configuration image corresponding to the first selection;

selects one or more PLD module drivers corresponding to the first selection;

compiles a bootloader and OS kernel design corresponding to the selected one or more module drivers and the PLD image;

builds the configuration image of the SOC corresponding to the bootloader and OS kernel design and the second selection; and

builds the bootloader and OS kernel design by first generating one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files.

2. The method of claim 1 , wherein the PLD is a field programmable gate array.

3. The method of claim 1 , wherein the design tool is cloud-based.

4. The method of claim 1 , wherein the design tool selects one or more PLD module drivers corresponding to the first selection by:

accessing a database of PLD module drivers,

tagging the one or more PLD module drivers as being selected, and

obtaining the one or more PLD module drivers from the database.

5. The method of claim 4 , wherein only a single database is used for the accessing and the obtaining.

6. The method of claim 1 , wherein the design tool builds the bootloader and OS kernel design by first generating pinlists and bootloader and kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the pinlists and bootloader and kernel pin files.

7. An apparatus comprising:

a processor configured to run a design tool; the processor configured to:

build a configuration image of a system on a chip (SOC), the processor accepting as user inputs (i) a first selection of at least one module of a programmable logic device (PLD) for implementation in the SOC; and (ii) a second selection of at least one operating system (OS) package for implementation in the SOC, wherein the design tool:

compiles a PLD configuration image corresponding to the first selection;

selects one or more PLD module drivers corresponding to the first selection;

compiles a bootloader and OS kernel design corresponding to the selected one or more module drivers and the PLD image;

builds the configuration image of the SOC corresponding to the bootloader and OS kernel design and the second selection; and

builds the bootloader and OS kernel design by first generating one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files.

8. The apparatus of claim 7 , wherein the PLD is a field programmable gate array.

9. The apparatus of claim 7 , wherein the design tool is cloud-based.

10. The apparatus of claim 7 , wherein the design tool selects one or more PLD module drivers corresponding to the first selection by:

accessing a database of PLD module drivers,

tagging the one or more PLD module drivers as being selected, and

obtaining the one or more PLD module drivers from the database.

11. The apparatus of claim 10 , wherein only a single database is used for the accessing and the obtaining.

12. The apparatus of claim 7 , wherein the design tool builds the bootloader and OS kernel design by first generating pinlists and bootloader and kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the pinlists and bootloader and kernel pin files.

13. A non-transitory computer-readable storage medium having stored thereon instructions which, when executed by a processor configured to run a design tool, cause the processor to perform operations, the operations comprising:

building, with a processor configured to run a design tool, a configuration image of a system on a chip (SOC), the processor accepting as user inputs (i) a first selection of at least one module of a programmable logic device (PLD) for implementation in the SOC; and (ii) a second selection of at least one operating system (OS) package for implementation in the SOC, wherein the design tool:

compiles a PLD configuration image corresponding to the first selection;

selects one or more PLD module drivers corresponding to the first selection;

compiles a bootloader and OS kernel design corresponding to the selected one or more module drivers and the PLD image;

builds the configuration image of the SOC corresponding to the bootloader and OS kernel design and the second selection; and

wherein the design tool builds the bootloader and OS kernel design by first generating one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the one or more of (i) pinlists, (ii) bootloader pin files, and (iii) kernel pin files.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the PLD is a field programmable gate array.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the design tool is cloud-based.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the design tool selects one or more PLD module drivers corresponding to the first selection by:

accessing a database of PLD module drivers,

tagging the one or more PLD module drivers as being selected, and

obtaining the one or more PLD module drivers from the database.

17. The non-transitory computer-readable storage medium of claim 16 , wherein only a single database is used for the accessing and the obtaining.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the design tool builds the bootloader and OS kernel design by first generating pinlists and bootloader and kernel pin files based on the PLD image, and then building the bootloader and OS kernel design using the pinlists and bootloader and kernel pin files.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2013
From: JAHNKE, STEVE
To: ALTERA CORPORATION
Reel/Frame 030791/0102 →