IP Library › Granted Patent US 11,188,684
Granted Patent B2
US 11,188,684 · App. 16/686,070 · Granted Nov 30, 2021

Software defined subsystem creation for heterogeneous integrated circuits

Inventors: Gangadhar Budde (Hyderabad, IN); Shreegopal S. Agrawal (Hyderabad, IN); Siddharth Rele (Navi Mumbai, IN); Subhojit Deb (Sodepur, IN)
Assignee: Xilinx, Inc.
G06F21/76
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 11,188,684
App. No.
16/686,070
Granted
Nov 30, 2021
Kind
B2
Abstract

Creation of subsystems for a user design to be implemented in an integrated circuit (IC) includes generating, using computer hardware, a subsystem topology based on user provided subsystem data, wherein the subsystem topology specifies a plurality of subsystems of the user design where each subsystem includes a master circuit, and determining, using the computer hardware, a system management identifier for each master circuit of the subsystem topology. Programming data for programmable protection circuits of the IC can be automatically generated using the computer hardware based on the subsystem topology and system management identifiers. The programmable protection circuits, when programmed with the programming data, form the plurality of subsystems and physically isolate the plurality of subsystems on the integrated circuit from one another.

Claims (44)

1. A method, comprising:

generating, using computer hardware, a subsystem topology based on user provided subsystem data, wherein the subsystem topology specifies a plurality of subsystems of a user design for implementation in an integrated circuit where each subsystem includes a master circuit;

determining, using the computer hardware, a system management identifier for each master circuit of the subsystem topology;

automatically generating, using the computer hardware, programming data for programmable protection circuits of the integrated circuit based on the subsystem topology and system management identifiers; and

wherein the programmable protection circuits, when programmed with the programming data, form the plurality of subsystems and physically isolate the plurality of subsystems on the integrated circuit from one another.

2. The method of claim 1 , wherein the integrated circuit includes programmable logic and at least one of the master circuits is implemented in the programmable logic of the integrated circuit.

3. The method of claim 1 , wherein the programmable protection circuits protect access to a random access memory used by at least one of the master circuits.

4. The method of claim 1 , wherein the subsystem topology further specifies, for each subsystem, a slave circuit, and wherein the programming data defines, for each subsystem, the system management identifiers permitted to access each slave circuit.

5. The method of claim 1 , further comprising:

providing the subsystem topology to a software development tool;

generating a software domain for a selected subsystem of the plurality of subsystems; and

generating a platform configuration for the software domain.

6. The method of claim 5 , wherein the platform configuration includes a device tree and a linker script for the selected subsystem.

7. The method of claim 1 , further comprising:

generating Network-on-Chip Peripheral Interface programming data including address-value pairs.

8. The method of claim 7 , further comprising:

resolving the address-value pairs to particular addresses.

9. A system, comprising:

a processor configured to initiate operations including:

generating a subsystem topology based on user provided subsystem data, wherein the subsystem topology specifies a plurality of subsystems of a user design for implementation in an integrated circuit where each subsystem includes a master circuit;

determining a system management identifier for each master circuit of the subsystem topology;

automatically generating programming data for programmable protection circuits of the integrated circuit based on the subsystem topology and system management identifiers; and

wherein the programmable protection circuits, when programmed with the programming data, form the plurality of subsystems and physically isolate the plurality of subsystems on the integrated circuit from one another.

10. The system of claim 9 , wherein the integrated circuit includes programmable logic and at least one of the master circuits is implemented in the programmable logic of the integrated circuit.

11. The system of claim 9 , wherein the programmable protection circuits protect access to a random access memory used by at least one of the master circuits.

12. The system of claim 9 , wherein the subsystem topology further specifies, for each subsystem, a slave circuit, and wherein the programming data defines, for each subsystem, the system management identifiers permitted to access each slave circuit.

13. The system of claim 9 , wherein the processor is configured to initiate operations further comprising:

providing the subsystem topology to a software development tool;

generating a software domain for a selected subsystem of the plurality of subsystems; and

generating a platform configuration for the software domain.

14. The system of claim 13 , wherein the platform configuration includes a device tree and a linker script for the selected subsystem.

15. The system of claim 9 , wherein the processor is configured to initiate operations further comprising:

generating Network-on-Chip Peripheral Interface programming data including address-value pairs.

16. The system of claim 15 , wherein the processor is configured to initiate operations further comprising:

resolving the address-value pairs to particular addresses.

17. A computer program product, comprising:

a computer readable storage medium having program code stored thereon, wherein the program code is executable by computer hardware to initiate operations including:

generating a subsystem topology based on user provided subsystem data, wherein the subsystem topology specifies a plurality of subsystems of a user design for implementation in an integrated circuit where each subsystem includes a master circuit;

determining a system management identifier for each master circuit of the subsystem topology;

automatically generating programming data for programmable protection circuits of the integrated circuit based on the subsystem topology and system management identifiers; and

wherein the programmable protection circuits, when programmed with the programming data, form the plurality of subsystems and physically isolate the plurality of subsystems on the integrated circuit from one another.

18. The computer program product of claim 17 , wherein the integrated circuit includes programmable logic and at least one of the master circuits is implemented in the programmable logic of the integrated circuit.

19. The computer program product of claim 17 , wherein the programmable protection circuits protect access to a random access memory used by at least one of the master circuits.

20. The computer program product of claim 17 , wherein the subsystem topology further specifies, for each subsystem, a slave circuit, and wherein the programming data defines, for each subsystem, the system management identifiers permitted to access each slave circuit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: BUDDE, GANGADHAR; AGRAWAL, SHREEGOPAL S.; RELE, SIDDHARTH; DEB, SUBHOJIT
To: XILINX, INC.
Reel/Frame 051030/0406 →
Continuity (1)
Related Publication 20210150072A1 · May 20, 2021
Cited By (1)
US 12,204,940