Host Simulation Direct Register Access Memory Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Host simulation environments face limitations in testing hardware-dependent software due to memory access exceptions, particularly when accessing unallocated memory addresses, and struggle with handling multiple threads and attribute changes, leading to inefficiencies and increased error potential.

Innovation Solution

Implementing a method for direct register access that maps invalid memory addresses to valid ones, using a register handler and exception handler to manage memory access exceptions, and employing a scratch memory array to handle multi-threaded applications, allowing for seamless execution and testing of embedded software without physical hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If host simulation environments use traditional memory access methods, then software can be tested without physical hardware, but memory access exceptions occur when accessing unallocated memory addresses

Engineering Contradiction:
Improveease of software testingVSAvoidmemory access reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces a simulation memory space as an intermediary between the embedded software and physical hardware memory. This simulation memory space includes valid memory addresses that map to hardware registers and invalid memory addresses that trigger memory access exceptions, allowing software to be tested in a host environment while maintaining realistic memory access behavior and exception handling

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of memory address validity by distinguishing between valid memory addresses (mapped to hardware registers) and invalid memory addresses (triggering exceptions). This parameter change allows the simulation to reproduce real hardware behavior where accessing unallocated memory addresses generates exceptions, thereby improving testing reliability without requiring physical hardware

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If host simulation environments handle multiple threads, then concurrent software can be tested, but complexity increases and error potential increases

Engineering Contradiction:
Improvemulti-thread supportVSAvoidsimulation environment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the simulation memory space into distinct regions for different threads, with each thread having its own set of valid and invalid memory addresses. This segmentation allows multiple threads to be tested concurrently with proper isolation, reducing interference between threads while maintaining the complexity necessary for realistic multi-threaded testing

Inventive Principle:
Principle #1Segmentation

3Productivity

If separate software versions are maintained for host simulation and hardware, then testing can be performed, but design efficiency decreases and error likelihood increases

Engineering Contradiction:
Improvedesign efficiencyVSAvoidsoftware maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal software version that can run on both host simulation environments and actual hardware without modification. The simulation memory space is designed to closely mirror the hardware memory structure, making the same software binary compatible with both environments. This eliminates the need to maintain separate software versions, thereby improving design efficiency and reducing errors associated with version synchronization

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8090935B2Direct register access for host simulation
Publication Date: 2012.01.03 SIEMENS INDUSTRY SOFTWARE INC
  • US8090935B2 patent drawing
  • US8090935B2 patent drawing
  • US8090935B2 patent drawing

AI summary

Methods and apparatuses are provided that enable software designed to be operated with an embedded system to be tested in the absence of a physical embodiment of the embedded system. A simulation of the embedded system may be employed to operate the software. Various implementations of the invention provide for the processing of requests by the software to access memory within the embedded system. Still, various implementations of the invention provide for the identification of these memory access request and for the mapping of the desired memory location to a valid memory location.