Automated Memory Mapping for Block Diagram Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory mapping customizationVSAvoidexecution performance
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If default static memory mapping is used in code generation, then simplicity in implementation is maintained, but execution performance is not optimized

Engineering Contradiction:
Improvememory mapping implementationVSAvoidprogram execution efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory capacityVSAvoidmemory access rate
Core Design Contradiction:
Quantity of substanceVSSpeed

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7584465B1Memory mapping for single and multi-processing implementations of code generated from a block diagram model
Publication Date: 2009.09.01 MATHWORKS INC
  • US7584465B1 patent drawing
  • US7584465B1 patent drawing
  • US7584465B1 patent drawing

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.