Systems and methods for estimating performance characteristics of hardware implementations of executable models
First Claim
1. A method comprising:
- storing, in a first memory, a plurality of hardware synthesis scripts, where the plurality of hardware synthesis scriptsinclude instructions directing a hardware synthesis tool chain to implement functionality of core components of a modeling environment using hardware components of one or more physical target hardware elements, the core components providing base level functions or operations for use in executable models created in or run by the modeling environment, one or more of the core components implemented as model elements of the modeling environment;
providing the plurality of hardware synthesis scripts to the hardware synthesis tool chain for synthesizing the hardware components to implement the functionality of the core components of the modeling environment;
receiving performance data from the hardware synthesis tool chain for the hardware components synthesized to implement the functionality of the core components;
mapping, by a first processor coupled to the first memory, the performance data received from the hardware synthesis tool chain to the core components of the modeling environment;
storing, in the first memory or a second memory, the performance data as mapped to the core components of the modeling environment;
utilizing, by the first processor or a second processor, the performance data as mapped to the core components during generation of code for at least a portion of a given executable model that includes a plurality of the core components; and
implementing a given physical target hardware element based on the code generated for the at least a portion of the given executable model.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods automatically generate optimized hardware description language code for a model created in a modeling environment. A training tool selects and provides scripts to a hardware synthesis tool chain that direct the tool chain to synthesize hardware components for core components of the modeling environment. A report generated by the tool chain is evaluated to extract performance data for the core components, and the performance data is stored in a library. An optimization tool estimates the performance of the model using the performance data in the library. Based on the performance estimate and an analysis of the model, the optimization tool selects an optimization technique which it applies to the model generating a revised. Estimating performance, and selecting and applying optimizations may be repeated until a performance constraint is satisfied or a termination criterion is met.
133 Citations
35 Claims
-
1. A method comprising:
-
storing, in a first memory, a plurality of hardware synthesis scripts, where the plurality of hardware synthesis scripts include instructions directing a hardware synthesis tool chain to implement functionality of core components of a modeling environment using hardware components of one or more physical target hardware elements, the core components providing base level functions or operations for use in executable models created in or run by the modeling environment, one or more of the core components implemented as model elements of the modeling environment; providing the plurality of hardware synthesis scripts to the hardware synthesis tool chain for synthesizing the hardware components to implement the functionality of the core components of the modeling environment; receiving performance data from the hardware synthesis tool chain for the hardware components synthesized to implement the functionality of the core components; mapping, by a first processor coupled to the first memory, the performance data received from the hardware synthesis tool chain to the core components of the modeling environment; storing, in the first memory or a second memory, the performance data as mapped to the core components of the modeling environment; utilizing, by the first processor or a second processor, the performance data as mapped to the core components during generation of code for at least a portion of a given executable model that includes a plurality of the core components; and implementing a given physical target hardware element based on the code generated for the at least a portion of the given executable model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. One or more non-transitory computer-readable media comprising program instructions for execution by one or more processors, the program instructions instructing the one or more processors to:
-
store, in a first memory coupled to at least one of the one or more processors, a plurality of hardware synthesis scripts, where the plurality of hardware synthesis scripts include instructions directing a hardware synthesis tool chain to implement functionality of core components of a modeling environment using hardware components of one or more physical target hardware elements, the core components providing base level functions or operations for use in executable models created in or run by the modeling environment, one or more of the core components implemented as model elements of the modeling environment; provide the plurality of hardware synthesis scripts to the hardware synthesis tool chain for synthesizing the hardware components to implement the functionality of the core components of the modeling environment; receive performance data for the hardware components of the one or more physical target hardware elements from the hardware synthesis tool chain; map the performance data received from the hardware synthesis tool chain to the core components of the modeling environment; store, in the first memory or a second memory, the performance data as mapped to the core components of the modeling environment; utilize the performance data as mapped to the core components during generation of code for at least a portion of a given executable model that includes a plurality of the core components; and implement a given physical target hardware element based on the code generated for the at least a portion of the given executable model. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus comprising:
-
a memory storing a plurality of hardware synthesis scripts, where the plurality of hardware synthesis scripts include instructions directing a hardware synthesis tool chain to implement functionality of core components of a modeling environment using hardware components of one or more physical target hardware elements, the core components providing base level functions or operations for use in executable models created in or run by the modeling environment, one or more of the core components implemented as model elements of the modeling environment; and one or more processors at least one of which is coupled to the memory, the one or more processors configured to provide the plurality of hardware synthesis scripts to the hardware synthesis tool chain for synthesizing the hardware components to implement the functionality of the core components of the modeling environment; receive performance data from the hardware synthesis tool chain for the hardware components synthesized to implement the functionality of the core components; map the performance data received from the hardware synthesis tool chain to the core components of the modeling environment; store, in the memory or in an additional memory, the performance data as mapped to the core components of the modeling environment; utilize the performance data as mapped to the core components during generation of code for at least a portion of a given executable model that includes a plurality of the core components; and implement a given physical target hardware element based on the code generated for the at least a portion of the given executable model. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
Specification