Automated Memory Mapping for Block Diagram Code Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory mapping techniques for programs generated from block diagram models are not optimized, leading to suboptimal execution performance on computational hardware devices with varying memory access rates, especially in systems with multiple processors sharing memory resources.
Innovation Solution
An automated system that generates an optimized memory mapping by comparing program information with memory information, using heuristic, exhaustive, or genetic algorithms to determine the placement of code and data segments in memory sections, thereby improving execution performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual trial and error is used to determine memory mapping, then flexibility in customization is achieved, but execution performance optimization is insufficient
Solution Approach 1:
The system automatically generates optimized memory mappings by analyzing the block diagram model and program characteristics without requiring manual intervention. The code generation application performs self-service optimization by integrating automated memory mapping generation into the build process, eliminating the need for manual trial and error while achieving optimal execution performance.
Solution Approach 2:
The system changes memory mapping parameters automatically based on program characteristics and hardware architecture. By analyzing access patterns, data sizes, and processor requirements, the system dynamically adjusts memory allocation parameters to optimize execution performance while maintaining ease of operation through automated customization.
2Device complexity
If default static memory mapping is used in code generation, then simplicity in implementation is maintained, but execution performance is not optimized
Solution Approach 1:
The system transitions from static default memory mapping to dynamic optimized memory mapping. The memory mapping is generated dynamically based on the specific program requirements and hardware characteristics, allowing the system to adapt memory allocation to actual usage patterns while maintaining implementation simplicity through automation.
Solution Approach 2:
The system performs preliminary analysis of the block diagram model and program characteristics during the code generation phase to determine optimal memory mapping before execution. This preliminary optimization action ensures that memory is allocated efficiently from the start without requiring complex runtime adjustments or manual configuration.
3Quantity of substance
If code and data segments are stored in external memory, then memory capacity requirements are met, but access speed decreases due to slower external memory
Solution Approach 1:
The system applies local quality optimization by placing frequently accessed code and data segments in faster on-chip memory while storing less frequently accessed segments in external memory. This creates a hierarchical memory structure where critical data resides in high-speed local memory, improving access speed for time-critical operations while still meeting overall capacity requirements through external storage.
Data Source
AI summary
Methods and systems are provided for automatically generating code from a graphical model representing a design to be implemented on components of a target computational hardware device. During the automatic code generating process, a memory mapping is automatically determined and generated to provide an optimization of execution of the program on the target device. The optimized memory mapping is incorporated into building the program executable from the automatically generated code of the graphical model.


