P
US8751998B2ActiveUtilityPatentIndex 60

Method and system for partial reconfiguration simulation

Assignee: MENDEL DAVID WPriority: Jul 1, 2011Filed: Feb 8, 2012Granted: Jun 10, 2014
Est. expiryJul 1, 2031(~5 yrs left)· nominal 20-yr term from priority
Inventors:MENDEL DAVID WKHALAF MARWAN AXIA RENXIN
G06F 30/33G06F 30/34G06F 30/347G06F 30/3308
60
PatentIndex Score
2
Cited by
5
References
20
Claims

Abstract

Disclosed is a method of simulating partial reconfiguration of a programmable logic device (PLD). A wrapper module is incorporated into a logic description that may be implemented in a PLD. The wrapper module represents a first logic design. In response to receiving a parameter, the wrapper module changes to represent a second logic design. According to various embodiments, the logic description is a simulatable source file. The simulatable source file is a source file that is used by a simulation program to simulate partial reconfiguration of the logic design. The wrapper module of the simulatable source file receives a run-time parameter. In various embodiments, the logic description is a synthesizable source file. The synthesizable source file is a source file that is used by a synthesis tool to compile the source file into hardware. The wrapper module of the synthesizable source receives a compile-time parameter.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 in a computing system, simulating a device including a fixed logic region and a plurality of reconfigurable logic regions, the fixed logic region for performing fixed functionality and the plurality of reconfigurable logic regions reconfigurable for performing functionalities associated with a plurality of designs, wherein the plurality of designs includes a first design and a second design; and 
 receiving a run-time parameter and reconfiguring at least one reconfigurable region of the plurality of reconfigurable logic regions from the first design to the second design in response to the run-time parameter while simulation of the device is running; and 
 identifying at least one output signal that has a value corresponding to an indeterminate state after the reconfiguring of the at least one reconfigurable region and before a sub-system reset of the at least one reconfigurable logic region. 
 
     
     
       2. The method of  claim 1 , wherein the fixed logic region, and two reconfigurable logic regions of the plurality of reconfigurable logic regions, implementing the first and the second design respectively, share a common interface. 
     
     
       3. The method of  claim 1 , wherein a reconfigurable logic region includes a wrapper module for receiving the run-time parameter that directs switching from the first design to the second design. 
     
     
       4. The method of  claim 1  further comprising:
 receiving a list of the plurality of designs; 
 receiving a signal identifying a configuration of the plurality of designs; 
 receiving a list of signals having predetermined properties during partial reconfiguration; 
 receiving a list of allowed interfaces for converting a first interface to a second interface; and 
 converting the first interface to the second interface, the second interface among the list of allowed interfaces. 
 
     
     
       5. The method of  claim 4 , wherein the first interface is an advanced microcontroller bus architecture (AMBA) interface and the second interface is an Avalon interface. 
     
     
       6. The method of  claim 1  further comprising:
 receiving a signal that resets a design; and 
 receiving a signal identifying at least one reconfigurable logic region of the plurality of reconfigurable logic regions that generates an output signal, wherein the output signal notifies the fixed logic region that the at least one reconfigurable logic region of the plurality of reconfigurable logic regions is undergoing partial reconfiguration. 
 
     
     
       7. The method of  claim 1  further comprising:
 determining that the first design has a first interface different than a second interface of the second design; and 
 in response to the first design having the first interface that is different from the second interface of the second design, applying an arbiter to convert the first interface to be the same as the second interface. 
 
     
     
       8. The method of  claim 1  further comprising:
 generating a synthesizable source file operable to switch from the first design to the second design in response to receiving a compile-time parameter; and 
 generating a simulatable source file for switching from the first design to the second design in response to receiving a run-time parameter. 
 
     
     
       9. The method of  claim 8 , wherein the simulatable source file is operable to:
 identify inputs to a wrapper module that have a specified property; 
 identify a value of at least one output signal during partial reconfiguration, wherein the value is selected from a group consisting of: indeterminate, last value, 1, and 0, wherein the at least one output signal originates from the at least one reconfigurable logic region. 
 
     
     
       10. The method of  claim 1  further comprising assigning each design of the plurality of designs to a group,
 wherein designs included in a first group are switched in response to receiving a run-time parameter, and 
 wherein designs included in a second group are switched in response to receiving a compile-time parameter. 
 
     
     
       11. A system comprising:
 a processor for simulating a device including a fixed logic region and a plurality of reconfigurable logic regions, the fixed logic region for performing fixed functionality and the plurality of reconfigurable logic regions reconfigurable and for performing functionalities associated with a plurality of designs, wherein the plurality of designs includes a first design and a second design; and 
 an interface for receiving a run-time parameter and reconfiguring at least one reconfigurable region of the plurality of reconfigurable logic regions from the first design to the second design in response to the run-time parameter while simulation of the device is running; and 
 identifying at least one output signal that has a value corresponding to an indeterminate state after the reconfiguring of the at least one reconfigurable region and before a sub-system reset of the at least one reconfigurable logic region. 
 
     
     
       12. The system of  claim 11 , wherein a reconfigurable logic region includes a wrapper module for receiving the run-time parameter that directs switching from the first design to the second design. 
     
     
       13. The system of  claim 11 , wherein the interface is further for:
 receiving a list of the plurality of designs; 
 receiving a signal identifying a configuration of the plurality of designs; 
 receiving a list of signals having predetermined properties during partial reconfiguration; 
 receiving a list of allowed interfaces for converting a first interface to a second interface; and 
 converting the first interface to the second interface, the second interface among the list of allowed interfaces. 
 
     
     
       14. The system of  claim 11 , wherein the processor is further for:
 generating a synthesizable source file operable to switch from the first design to the second design in response to receiving a compile-time parameter; and 
 generating a simulatable source file for switching from the first design to the second design in response to receiving a run-time parameter. 
 
     
     
       15. The system of  claim 14 , wherein the simulatable source is further for:
 identifying inputs to a wrapper module that have a specified property; 
 identifying a value of at least one output signal during partial reconfiguration, wherein the value is selected from a group consisting of: indeterminate, last value, 1, and 0, wherein the at least one output signal originates from the at least one reconfigurable logic region. 
 
     
     
       16. The system of  claim 11 , wherein the interface is operable to receive an input that assigns each design of the plurality of designs to a group,
 wherein designs included in a first group are switched in response to receiving a run-time parameter, and 
 wherein designs included in a second group are switched in response to receiving a compile-time parameter. 
 
     
     
       17. A non-transitory computer readable storage medium comprising computer code embodied therein, the computer readable storage medium comprising:
 computer code for simulating a device including a fixed logic region and a plurality of reconfigurable logic regions, the fixed logic region for performing fixed functionality and the plurality of reconfigurable logic regions reconfigurable and for performing functionalities associated with a plurality of designs, wherein the plurality of designs includes a first design and a second design; and 
 computer code for receiving a run-time parameter and reconfiguring at least one reconfigurable region of the plurality of reconfigurable logic regions from the first design to the second design in response to the run-time parameter while simulation of the device is running; and 
 identifying at least one output signal that has a value corresponding to an indeterminate state after the reconfiguring of the at least one reconfigurable region and before a sub-system reset of the at least one reconfigurable logic region. 
 
     
     
       18. The non-transitory computer readable storage medium of  claim 17  further comprising:
 computer code for generating a synthesizable source file operable to switch from the first design to the second design in response to receiving a compile-time parameter; and 
 computer code for generating a simulatable source file operable to switch from the first design to the second design in response to receiving a run-time parameter. 
 
     
     
       19. The non-transitory computer readable storage medium of  claim 18 , wherein the simulatable source file is further for:
 identifying inputs to a wrapper module that have a specified property; 
 identifying a value of at least one output signal during partial reconfiguration, wherein the value is selected from a group consisting of: indeterminate, last value, 1, and 0, wherein the at least one output signal originates from the at least one reconfigurable logic region. 
 
     
     
       20. The non-transitory computer readable storage medium of  claim 17  further comprising code for assigning each design of the plurality of designs to a group,
 wherein designs included in a first group are switched in response to receiving a run-time parameter, and 
 wherein designs included in a second group are switched in response to receiving a compile-time parameter.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.