Virtualization of programmable integrated circuits
First Claim
Patent Images
1. A programmable integrated circuit (IC), comprising:
- a configuration memory;
a plurality of programmable resources including programmable logic circuits and programmable routing resources, wherein in response to a configuration datastream being loaded into the configuration memory, the programmable resources are configured to concurrently implement two or more different user designs of a plurality of user designs specified in the configuration datastream using respective subsets of the programmable resources;
a plurality of shareable logic circuits coupled to the plurality of programmable resources, wherein the plurality of sharable logic circuits are exclusive from the respective subsets of the programmable resources used to implement the two of more user designs;
a virtualization circuit configured to manage sharing of access to the plurality of shareable logic circuits between the two or more user designs according to a resource allocation policy derived from the configuration datastream; and
wherein the plurality of user designs are communicatively isolated from one another on the programmable IC.
1 Assignment
0 Petitions
Accused Products
Abstract
A programmable IC includes a plurality of programmable resources, a plurality of shareable logic circuits coupled to the plurality of programmable resources, and a virtualization circuit. The plurality of programmable resources includes programmable logic circuits and programmable routing resources. The virtualization circuit is configured to manage sharing of the plurality of shareable logic circuits between a plurality of user designs implemented in the plurality of programmable resources. The user designs are communicatively isolated from one another on the programmable IC.
-
Citations
20 Claims
-
1. A programmable integrated circuit (IC), comprising:
-
a configuration memory; a plurality of programmable resources including programmable logic circuits and programmable routing resources, wherein in response to a configuration datastream being loaded into the configuration memory, the programmable resources are configured to concurrently implement two or more different user designs of a plurality of user designs specified in the configuration datastream using respective subsets of the programmable resources; a plurality of shareable logic circuits coupled to the plurality of programmable resources, wherein the plurality of sharable logic circuits are exclusive from the respective subsets of the programmable resources used to implement the two of more user designs; a virtualization circuit configured to manage sharing of access to the plurality of shareable logic circuits between the two or more user designs according to a resource allocation policy derived from the configuration datastream; and wherein the plurality of user designs are communicatively isolated from one another on the programmable IC. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for virtualizing a programmable integrated circuit (IC) for a plurality of user designs, comprising:
-
identifying a subset of sharable logic circuits, in a set of shareable logic circuits on the programmable IC, that are each used by two or more of the plurality of user designs during operation; generating a virtualization circuit configured to manage sharing of access to the subset of shareable logic circuits by the two or more of the plurality of user designs according to a resource allocation policy derived from the configuration datastream; generating a configuration data stream to program a set of programmable resources of the programmable IC to concurrently implement the plurality of user designs and the virtualization circuit; wherein the two or more of the plurality of user designs are implemented concurrently by respective subsets of the set of programmable resources; wherein the set of sharable logic circuits are exclusive from the respective subsets of the set of programmable resources; and wherein the plurality of user designs are communicatively isolated from one another on the programmable IC. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A programmable integrated circuit (IC), comprising:
-
a plurality of programmable resources, including programmable logic circuits and programmable routing resources, configured and arranged to implement circuits of a plurality of user designs specified by an input configuration datastream; a plurality of hard-wired logic circuits coupled to the plurality of programmable resources; and a virtualization circuit configured to manage sharing of the plurality of hard-wired logic circuits between the plurality of user designs implemented concurrently in the plurality of programmable resources according to a resource allocation policy derived from the configuration datastream; wherein the plurality of user designs are communicatively isolated from one another on the programmable IC.
-
Specification