Software Module Programming for Firmware Units via RTL Namespaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual generation of register interface modules for firmware devices is time-consuming and prone to errors, leading to improper register operations and unauthorized overwriting of values.

Innovation Solution

Introduce namespaces in the register transfer level program using a high-level programming language, allowing direct referencing of register variables without the need for a register interface module, and automate the generation of the register interface module using high-level synthesis tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual generation of register interface module is used, then programmer can access registers through defined interfaces, but development time increases and errors occur

Engineering Contradiction:
Improveerror-free register accessVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by automatically generating register interface modules through high-level synthesis tools. The tools take RTL descriptions as input and automatically produce the corresponding register interface modules, eliminating the need for manual creation and reducing errors while saving development time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of creating register interface modules with an automated computational process. High-level synthesis tools automatically generate the interface modules from RTL descriptions, substituting human manual work with automated software-based generation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If manual creation of register interface module is performed, then register access control is implemented, but manual errors lead to unauthorized overwriting

Engineering Contradiction:
Improveregister access safetyVSAvoidmanual intervention complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system achieves self-service by automatically generating register interface modules that inherently include proper access control mechanisms. The high-level synthesis tools ensure that the generated modules correctly implement register protection logic without requiring manual intervention, thereby preventing unauthorized overwriting while reducing complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where the high-level synthesis tools automatically verify and adjust the generated register interface modules to ensure proper access control. The tools provide feedback loops that check for potential errors and automatically correct them, ensuring register access safety without manual intervention.

Inventive Principle:
Principle #23Feedback

3Productivity

If register interface module is manually defined, then software can access registers, but development process becomes dependent on manual module creation

Engineering Contradiction:
Improvesoftware module development speedVSAvoiddevelopment process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system enables self-service by automatically generating register interface modules through high-level synthesis tools. This eliminates the dependency on manual module creation, allowing software module development to proceed independently and faster, while the automated generation handles the complexity of interface module creation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12373195B2Method of programming a software module associated with a firmware unit of a device
Publication Date: 2025.07.29 SIEMENS INDUSTRY SOFTWARE INC
  • US12373195B2 patent drawing
  • US12373195B2 patent drawing
  • US12373195B2 patent drawing

AI summary

A method of programming a software module associated with a firmware unit of a device is provided. The method includes obtaining a register transfer level program associated with the firmware unit. The register transfer level program includes a plurality of register variables indicative of a plurality of registers in the firmware unit, defined within a first namespace of the register transfer level program. The method includes linking the first namespace associated with the register transfer level program with a namespace associated with a software module for referencing at least one register variable from the plurality of register variables. The register transfer level program includes design level description of one or more operations associated with the firmware unit in a high-level programming language.