US2015135191A1PendingUtilityA1

Compiler System, Method and Software for a Resilient Integrated Circuit Architecture

Assignee: ELEMENT CXI LLCPriority: Jun 21, 2006Filed: Aug 20, 2014Published: May 14, 2015
Est. expiryJun 21, 2026(expired)· nominal 20-yr term from priority
H03K 19/003G06F 9/5083H03K 19/007G06F 15/7867G06F 15/17362G06F 30/394H03K 19/17764G06F 9/4881H03K 19/173H03K 19/17748H03K 19/177Y02D10/00
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The exemplary embodiments provide a compiler for a reconfigurable integrated circuit having reconfigurable computational elements with a plurality of contexts. An exemplary compiler generates a compilation comprising a designation of a first type of reconfigurable computational element, the data input linkage or the data output linkage for a first action, and a portion of a first configuration for the first type of reconfigurable computational element comprising a first task identifier and the first action identifier. The reconfigurable integrated circuit utilizes the first task identifier and a run status designation in enabling and disabling corresponding contexts for execution by the reconfigurable computational elements. The first configuration, typically generated in a binding process, further comprises a first input data source address from the first data input linkage or a first output data destination address from the first data output linkage.

Claims

exact text as granted — not AI-modified
It is claimed: 
     
         1 . A computer-implemented compilation method for a reconfigurable integrated circuit, the integrated circuit having a plurality of reconfigurable computational elements each having a plurality of contexts, each reconfigurable computational element having a memory storing at least one configuration and control word for each context, the plurality of reconfigurable computational elements having different types of reconfigurable computational elements, the computer-implemented method performed by a computer system having one or more processors, the method comprising:
 generating a plurality of tasks for execution of a program or algorithm by the reconfigurable integrated circuit;   generating a plurality of actions for each task of the plurality of tasks;   assigning a different task identifier of a plurality of task identifiers to each task of the plurality of tasks, wherein the reconfigurable integrated circuit is adapted to selectively enable or disable execution of a specific task assigned a corresponding task identifier by broadcasting a message having the corresponding task identifier to the plurality of reconfigurable computational elements;   mapping the pluralities of tasks or actions to different reconfigurable computational elements of the plurality of types of reconfigurable computational elements;   determining corresponding data input or output linkages among the reconfigurable computational elements for execution of the plurality of tasks; and   without assigning an action to a specific reconfigurable computational element and without assigning an input data source address or an output data destination address, generating a compilation comprising, for each selected action of the plurality of actions, a designation of the type of reconfigurable computational element, the data input linkage or the data output linkage for the selected action, and at least a portion of a configuration and control word for the selected type of reconfigurable computational element comprising the corresponding task identifier and configuration bits for the selected action.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein the reconfigurable integrated circuit is to independently and substantially concurrently enable and disable execution of the selected task by enabling or disabling a corresponding plurality of contexts of the plurality of different reconfigurable computational elements assigned to perform the selected task through the broadcast message, whereby only those contexts of reconfigurable computational elements having the configuration control word with a matching task identifier for the selected task are enabled or disabled. 
     
     
         3 . The computer-implemented method of  claim 1 , wherein the stored configuration and control word further comprises a corresponding input data source address from a corresponding data input linkage or a corresponding output data destination address from a corresponding data output linkage. 
     
     
         4 . The computer-implemented method of  claim 1 , wherein the reconfigurable integrated circuit further is to utilize a run status designation in the broadcast message to enable or disable the corresponding plurality of contexts for execution by the plurality of reconfigurable computational elements, each context of the corresponding plurality of contexts having a corresponding configuration and control word having the corresponding task identifier. 
     
     
         5 . The computer-implemented method of  claim 1 , wherein the compilation further comprises a pointer which identifies a corresponding data input linkage or the corresponding data output linkage for the selected action. 
     
     
         6 . The computer-implemented method of  claim 1 , wherein the compilation is a symbolic netlist comprising a corresponding type of reconfigurable computational element, a first task identifier, a first action identifier, a second task identifier, and a second action identifier, wherein the second task identifier and the second action identifier correspond to the data input linkage or to the data output linkage for the selected action. 
     
     
         7 . The computer-implemented method of  claim 1 , wherein the selected action corresponds to a function of a selected type of reconfigurable computational element. 
     
     
         8 . A computing system for compiling an algorithm or a program for performance by a reconfigurable integrated circuit, the integrated circuit having a plurality of reconfigurable computational elements each having a plurality of contexts, each reconfigurable computational element having a memory storing at least one configuration and control word for each context, the plurality of reconfigurable computational elements having different types of reconfigurable computational elements, the system comprising:
 a memory to store the algorithm or program; and   one or more processors coupled to the memory, the one or more processors adapted to generate a plurality of tasks for execution of a program or algorithm by the reconfigurable integrated circuit; to generate a plurality of actions for each task of the plurality of tasks; to assign a different task identifier of a plurality of task identifiers to each task of the plurality of tasks, wherein the reconfigurable integrated circuit is adapted to selectively enable or disable execution of a specific task assigned a corresponding task identifier by broadcasting a message having the corresponding task identifier to the plurality of reconfigurable computational elements; to map the pluralities of tasks or actions to different reconfigurable computational elements of the plurality of types of reconfigurable computational elements; to determine corresponding data input or output linkages among the reconfigurable computational elements for execution of the plurality of tasks; and without assigning an action to a specific reconfigurable computational element and without assigning an input data source address or an output data destination address, to generate a compilation comprising, for each selected action of the plurality of actions, a designation of the type of reconfigurable computational element, the data input linkage or the data output linkage for the selected action, and at least a portion of a configuration and control word for the selected type of reconfigurable computational element comprising the corresponding task identifier and configuration bits for the selected action.   
     
     
         9 . The computing system of  claim 8 , wherein the reconfigurable integrated circuit is to independently and substantially concurrently enable and disable execution of the selected task by enabling or disabling a corresponding plurality of contexts of the plurality of different reconfigurable computational elements assigned to perform the selected task through the broadcast message, whereby only those contexts of reconfigurable computational elements having the configuration control word with a matching task identifier for the selected task are enabled or disabled. 
     
     
         10 . The computing system of  claim 8 , wherein the stored configuration and control word further comprises a corresponding input data source address from a corresponding data input linkage or a corresponding output data destination address from a corresponding data output linkage. 
     
     
         11 . The computing system of  claim 8 , wherein the reconfigurable integrated circuit further is to utilize a run status designation in the broadcast message to enable or disable the corresponding plurality of contexts for execution by the plurality of reconfigurable computational elements, each context of the corresponding plurality of contexts having a corresponding configuration and control word having the corresponding task identifier. 
     
     
         12 . The computing system of  claim 8 , wherein the one or more processors are further adapted to generate the compilation further comprising a pointer which identifies a corresponding data input linkage or the corresponding data output linkage for the selected action. 
     
     
         13 . The computing system of  claim 8 , wherein the one or more processors are further adapted to generate the compilation as a symbolic netlist comprising a corresponding type of reconfigurable computational element, a first task identifier, a first action identifier, a second task identifier, and a second action identifier, wherein the second task identifier and the second action identifier correspond to the data input linkage or to the data output linkage for the selected action. 
     
     
         14 . The computer-implemented method of  claim 1 , wherein the selected action corresponds to a function of a selected type of reconfigurable computational element. 
     
     
         15 . A non-transitory computer readable medium encoded with a computer program for execution by a computer system having one or more processors, the computer program having instructions for compiling an algorithm or program for a reconfigurable integrated circuit, the integrated circuit having a plurality of reconfigurable computational elements each having a plurality of contexts, each reconfigurable computational element having a memory storing at least one configuration and control word for each context, the plurality of reconfigurable computational elements having different types of reconfigurable computational elements, the computer-implemented method performed by a computer system having one or more processors, the non-transitory computer readable medium comprising:
 one or more program constructs to generate a plurality of tasks for execution of a program or algorithm by the reconfigurable integrated circuit; to generate a plurality of actions for each task of the plurality of tasks; to assign a different task identifier of a plurality of task identifiers to each task of the plurality of tasks, wherein the reconfigurable integrated circuit is adapted to selectively enable or disable execution of a specific task assigned a corresponding task identifier by broadcasting a message having the corresponding task identifier to the plurality of reconfigurable computational elements; to map the pluralities of tasks or actions to different reconfigurable computational elements of the plurality of types of reconfigurable computational elements; to determine corresponding data input or output linkages among the reconfigurable computational elements for execution of the plurality of tasks; and without assigning an action to a specific reconfigurable computational element and without assigning an input data source address or an output data destination address, to generate a compilation comprising, for each selected action of the plurality of actions, a designation of the type of reconfigurable computational element, the data input linkage or the data output linkage for the selected action, and at least a portion of a configuration and control word for the selected type of reconfigurable computational element comprising the corresponding task identifier and configuration bits for the selected action.   
     
     
         16 . The non-transitory computer readable medium of  claim 15 , wherein the reconfigurable integrated circuit is to independently and substantially concurrently enable and disable execution of the selected task by enabling or disabling a corresponding plurality of contexts of the plurality of different reconfigurable computational elements assigned to perform the selected task through the broadcast message, whereby only those contexts of reconfigurable computational elements having the configuration control word with a matching task identifier for the selected task are enabled or disabled. 
     
     
         17 . The non-transitory computer readable medium of  claim 15 , wherein the stored configuration and control word further comprises a corresponding input data source address from a corresponding data input linkage or a corresponding output data destination address from a corresponding data output linkage. 
     
     
         18 . The non-transitory computer readable medium of  claim 15 , wherein the reconfigurable integrated circuit further is to utilize a run status designation in the broadcast message to enable or disable the corresponding plurality of contexts for execution by the plurality of reconfigurable computational elements, each context of the corresponding plurality of contexts having a corresponding configuration and control word having the corresponding task identifier. 
     
     
         19 . The non-transitory computer readable medium of  claim 15 , wherein the one or more program constructs further are to generate the compilation further comprising a pointer which identifies a corresponding data input linkage or the corresponding data output linkage for the selected action. 
     
     
         20 . The non-transitory computer readable medium of  claim 15 , wherein the one or more program constructs further are to generate the compilation as a symbolic netlist comprising a corresponding type of reconfigurable computational element, a first task identifier, a first action identifier, a second task identifier, and a second action identifier, wherein the second task identifier and the second action identifier correspond to the data input linkage or to the data output linkage for the selected action.

Join the waitlist — get patent alerts

Track US2015135191A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.