Model level power consumption optimization in hardware description generation
First Claim
1. A method comprising:
- accessing a graphical model having executable semantics,the graphical model created in a graphical modeling environment that definescore components that represent base level operations of the graphical modeling environment and, when executed by the graphical modeling environment, perform base level operations, andhigh-level graphical blocks that represent high-level functions of the graphical modeling environment relative to the core components and, when executed by the graphical modeling environment perform the high-level functions, the high-level graphical blocks formed from combinations of the core components,the graphical model including a first set of the core components defined within the graphical modeling environment, andthe graphical model having a functional behavior;
accessing power scores assigned to the core components defined within the graphical modeling environment;
computing, by a processor, a total power score for the graphical model, the total power scorebeing a function of the power scores assigned to the first set of the core components included in the graphical model, anddetermined without translation of the graphical model into a low-level hardware design form;
automatically performing at least one transmutation to the graphical model, the at least one transmutation automatically creating a modified graphical model, the modified graphical modelhaving a functional behavior equivalent to the functional behavior of the graphical model, andincluding a second set of the core components defined within the graphical modeling environment;
computing, by the processor, a total power score for the modified graphical model, the total power score for the modified graphical model being a function of the power scores assigned to the second set of the core components included in the modified graphical model, the total power score for the modified graphical model being less than the total power score computed for the graphical model; and
performing at least one ofpresenting a visual representation of the modified graphical model on an output device, orgenerating a hardware description for the modified graphical model.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method evaluates power information for a high-level model to be implemented in target hardware, and performs one or more power-reducing transmutations on the model. Transmutations may include moving one or more components from a fast rate region to a slow rate region, reducing bit width of data, signals, or other values, and replacing multiple instances of a resource with a shared instance of the resource. An in-memory representation of the model may be generated that reduces the model to a plurality of core components. A power score evaluation engine may assign power scores to the core components. Power scores may be retrieved from one or more power score database. The power scores may be non-dimensional scores representing power consumption relationships among the core components, and be target independent. Hints or alerts regarding suggested changes to the model to optimize power consumption may be presented to a user. A revised model incorporating the suggested changes may be constructed. The one or more transmutations resulting in a lowest total power score may be selected for hardware generation.
88 Citations
27 Claims
-
1. A method comprising:
-
accessing a graphical model having executable semantics, the graphical model created in a graphical modeling environment that defines core components that represent base level operations of the graphical modeling environment and, when executed by the graphical modeling environment, perform base level operations, and high-level graphical blocks that represent high-level functions of the graphical modeling environment relative to the core components and, when executed by the graphical modeling environment perform the high-level functions, the high-level graphical blocks formed from combinations of the core components, the graphical model including a first set of the core components defined within the graphical modeling environment, and the graphical model having a functional behavior; accessing power scores assigned to the core components defined within the graphical modeling environment; computing, by a processor, a total power score for the graphical model, the total power score being a function of the power scores assigned to the first set of the core components included in the graphical model, and determined without translation of the graphical model into a low-level hardware design form; automatically performing at least one transmutation to the graphical model, the at least one transmutation automatically creating a modified graphical model, the modified graphical model having a functional behavior equivalent to the functional behavior of the graphical model, and including a second set of the core components defined within the graphical modeling environment; computing, by the processor, a total power score for the modified graphical model, the total power score for the modified graphical model being a function of the power scores assigned to the second set of the core components included in the modified graphical model, the total power score for the modified graphical model being less than the total power score computed for the graphical model; and performing at least one of presenting a visual representation of the modified graphical model on an output device, or generating a hardware description for the modified graphical model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
constructing a graphical model having executable semantics in a graphical modeling environment that defines core components that represent base level operations of the graphical modeling environment and, when executed by the graphical modeling environment, perform the base level operations, and high-level graphical blocks that represent high-level functions of the graphical modeling environment relative to the core components and, when executed by the graphical modeling environment perform the high-level functions, the high-level graphical blocks formed from combinations of the core components, the graphical model having a behavior, and including a first set of the core components defined within the graphical modeling environment; accessing power scores assigned to the core components defined within the graphical modeling environment; computing, by a processor, a total power score for the graphical model, the total power score being a function of the assigned power scores for the first set of the core components included in the graphical model, and determined without translation of the graphical model into a low-level hardware design form; automatically updating the total power score while the graphical model is being constructed in the graphical modeling environment; performing at least one transmutation to the graphical model, the at least one transmutation creating a modified graphical model that preserves the behavior of the graphical model, the modified graphical model having a second set of the core components; computing, by the processor, a total power score for the modified graphical model, the total power score for the modified graphical model being a function of the power scores assigned to the second set of the core components, the total power score for the modified graphical model being less than the total power score computed for the graphical model; and displaying the total power score computed for the modified graphical model. - View Dependent Claims (12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising program instructions, the program instructions when executed by one or more processors operable to:
-
receive a graphical model having executable semantics, the graphical model adapted to make use of; core components that represent base level operations and, when executed, perform the base level operations, and high-level graphical blocks that represent high-level functions relative to the core components and, when executed, perform the high-level functions, the high-level graphical blocks formed from combinations of the core components, the graphical model including a first set of the core components, and having a functional behavior; access power scores assigned to the core components; compute a total power score for the graphical model, the total power score being a function of the power scores assigned to the first set of the core components included in the graphical model, and determined without translation of the graphical model into a low-level hardware design form; perform automatically at least one transmutation on the graphical model, the at least one transmutation automatically creating a modified graphical model having a functional behavior equivalent to the functional behavior of the graphical model; compute a total power score for the modified graphical model, the total power score for the modified graphical model being less than the total power score computed for the graphical model; and issue one or more notifications related to the at least one transmutation performed on the graphical model. - View Dependent Claims (16)
-
-
17. A non-transitory computing-device readable media comprising instructions executable by a computing device to:
-
receive one or more user inputs specifying at least a portion of a graphical model having executable semantics, the one or more user inputs received in a graphical modeling environment that defines core components that represent base level operations of the graphical modeling environment and, when executed by the graphical modeling environment, perform the base level operations, and high-level graphical blocks that represent high-level functions of the graphical modeling environment relative to the core components and, when executed by the graphical modeling environment, perform the high-level functions, the high-level graphical blocks formed from combinations of the core components, the at least a portion of a graphical model, when executed, producing one or more results; calculate a power consumption value for the at least a portion of a graphical model, the power consumption value being a function of power scores assigned to one or more of the core components defined by the graphical modeling environment, and determined without translation of the at least a portion of a graphical model into a low level hardware design form; determine automatically a suggested change to the at least a portion of a graphical model that reduces the power consumption value, the suggested change preserving the one or more results produced by the at least a portion of a graphical model; and output at least one of the suggested change, or an indication of the suggested change. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. An apparatus comprising:
-
processing logic coupled to a memory, wherein the processing logic is programmed to; receive a graphical model having executable semantics and adapted to make use of; core components that represent base level operations and, when executed, perform the base level operations, and high-level graphical blocks that represent high-level functions relative to the core components and, when executed, perform the high-level functions, the high-level graphical blocks formed from combinations of the core components, the graphical model including a first set of the core components, and having a functional behavior; access power scores assigned to the core components; compute a total power score for the graphical model, the total power score being a function of the power scores assigned to the first set of the core components included in the graphical model, and determined without translation of the graphical model into a low-level hardware design form; automatically perform at least one transmutation to the graphical model, the at least one transmutation automatically creating a modified graphical model, the modified graphical model having a functional behavior equivalent to the functional behavior of the graphical model, and including a second set of the core components; compute a total power score for the modified graphical model, the total power score for the modified graphical model being a function of the power scores assigned to the second set of the core components included in the modified graphical model, the total power score for the modified graphical model being less than the total power score computed for the graphical model; and at least one of present the modified graphical model on a display, or generate a hardware description for the modified graphical model. - View Dependent Claims (25, 26, 27)
-
Specification