Automated Code Generation for Switch Fabric Hardware Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software programming methods for network-connected hardware systems are inefficient, requiring manual modification of macros and source code for hardware changes, making it difficult for chip vendors to manage complex programmable devices and limiting scalability and flexibility in switch fabrics.

Innovation Solution

A method for automatically generating code to define and control connected hardware elements using system configuration macros, tables, and graphical user interfaces, allowing for easy customization and reconfiguration of switch fabrics without delving into chipset register details or modifying source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual macro modification is used to adapt software to hardware changes, then hardware independence is promoted, but the complexity of managing macros and source code increases significantly

Engineering Contradiction:
Improvehardware independenceVSAvoidmacro management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically generates configuration macros and source code based on hardware connection definitions, eliminating the need for manual macro modification. The software adapts to hardware changes through automated code generation rather than manual intervention, reducing management complexity while maintaining hardware independence

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention pre-generates all necessary macros and configuration code before runtime based on hardware connection specifications. This preliminary code generation eliminates the need for manual macro adaptation when hardware changes occur, as the system can regenerate configuration automatically

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual source code modification is required for hardware changes, then software can adapt to new hardware configurations, but the time and expertise required for programming increases

Engineering Contradiction:
Improvehardware configurabilityVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs self-configuration by automatically generating source code and macros based on hardware connection definitions. This eliminates the need for programmers to manually modify source code for hardware changes, reducing both programming time and expertise requirements while maintaining full hardware configurability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention introduces an automated code generation intermediary that translates hardware connection specifications into executable source code and macros. This intermediary layer handles the complexity of source code modification automatically, allowing hardware changes to be implemented without direct programmer intervention

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If chipsets are made highly programmable to meet customer needs, then versatility increases, but the difficulty of managing complex programmable devices increases

Engineering Contradiction:
Improvechipset programmabilityVSAvoidchipset management ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system automatically generates configuration macros, source code, and compilation commands based on hardware connection definitions. This self-service approach eliminates the need for manual configuration of complex programmable devices, making highly programmable chipsets easy to manage while maintaining full versatility

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention pre-generates all configuration macros and source code necessary for programming complex chipsets before runtime. This preliminary generation of configuration data simplifies the management of highly programmable devices by automating the complex setup process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8418129B1Method for automatically generating code to define a system of hardware elements
Publication Date: 2013.04.09 QUALCOMM INC
  • US8418129B1 patent drawing
  • US8418129B1 patent drawing
  • US8418129B1 patent drawing

AI summary

A method is provided for automatically generating code to define and control a system of connected hardware elements. The method comprises: accepting a system configuration macro with sub-macros for system elements, subsystem elements, and connections there between; accepting a plurality of tables with a plurality of system element behaviors, a plurality of subsystem element behaviors, and a plurality of connection options; defining the system of connected elements in response to selecting sub-macros; defining the physical links between the system elements and the behavior of the system and subsystem elements in response to populating the selected sub-macro parameters; expanding the selected sub-macros; generating executable code; and, accessing the tables in response to parameters in the executable code. Advantageously, the form and function of the system can be defined with programming, or writing application specific code.