Extracting debug information from FPGAs in multi-tenant environments
First Claim
1. A system, comprising:
- a host computing device executing two or more user partitions at a first privilege level and executing a privileged host partition at a second privilege level greater than the first privilege level, wherein the first privilege level allows access to at least one of the two or more user partitions and restricts access to the privileged host partition, and the second privilege level allows access to the privileged host partition; and
a reconfigurable logic device having reconfigurable logic programmed to include two or more application logic units, each of the application logic units associated with one of the user partitions and being configured to communicate debug data generated by operating the application logic unit via a different communication lane to the associated user partition.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are disclosed for programming reconfigurable logic devices such as FPGAs in a multi-tenant server environment. In one example, a computing host includes one or more processors configured to execute a supervisor process and two or more user processes and a single FPGA integrated circuit configured into a plurality of partitions. The partitions include a host logic partition that is accessible only to the supervisor process executing on the computing host, and two or more accelerator partitions. Each of the accelerator partitions is configured to include a virtual debug unit with a logic analyzer that collects logic signals generated by logic within the respective accelerator partition and sends debug data indicating values of the logic signals to one of the user processes. In some examples, the host logic partitions and/or the accelerator partitions can be independently reprogrammed of each other within their respective portions of the single FPGA.
-
Citations
27 Claims
-
1. A system, comprising:
-
a host computing device executing two or more user partitions at a first privilege level and executing a privileged host partition at a second privilege level greater than the first privilege level, wherein the first privilege level allows access to at least one of the two or more user partitions and restricts access to the privileged host partition, and the second privilege level allows access to the privileged host partition; and a reconfigurable logic device having reconfigurable logic programmed to include two or more application logic units, each of the application logic units associated with one of the user partitions and being configured to communicate debug data generated by operating the application logic unit via a different communication lane to the associated user partition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
with a host computing device, executing a privileged host partition at a first privilege level and one or more user partitions at a second privilege level less than the first privilege level, wherein the first privilege level allows access to the privileged host partition, and the second privilege level allows access to at least one of the one or more user partitions and restricts access to the privileged host partition; and with a reconfigurable logic device having reconfigurable logic programmed to include one or more application logic units, communicating debug data generated by operating one of the application logic units via an assigned communication lane to an assigned user partition of the user partitions. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. One or more computer-readable storage devices or memory storing configuration data for programming a configuration memory in a field programmable gate array (FPGA) coupled to a host computing device executing a privileged host partition and one or more user partitions, the privileged host partition executing at a greater level of privilege than the user partitions, wherein the greater level of privilege allows access to the privileged host partition and the user partitions are restricted from accessing the privileged host partition, the FPGA when so programmed performing a method, the method comprising:
with one or more application logic units programmed in the FPGA, communicating debug data generated by operating one of the application logic units via an assigned communication lane to a different one of the user partitions executing on the host computing device. - View Dependent Claims (24, 25, 26, 27)
Specification