Hierarchical SOC Configuration Presets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Configuring system-on-chip (SOC) integrated circuits is complex due to the overwhelming number of control registers, requiring users to manually manage large configuration files, which is tedious and error-prone.
Innovation Solution
A method using hierarchically ordered presets and rules to automatically determine low-level presets for SOC circuit blocks, guiding users through the configuration process by traversing the preset hierarchy from top-level to low-level settings, which are then loaded into control registers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If users manually configure each control register in an SOC, then complete configuration coverage is achieved, but the configuration process becomes extremely complex and error-prone
Solution Approach 1:
The patent segments the configuration process into hierarchical levels (top-level preset selection, intermediate parameter groups, and individual control registers). Users only need to select high-level presets rather than manually configuring each of the hundreds or thousands of control registers, thereby reducing configuration complexity while maintaining completeness through automatic decomposition into lower-level settings.
Solution Approach 2:
The patent introduces an intermediary configuration system that automatically translates high-level preset selections into detailed control register values. This intermediary layer (the automatic configuration system) mediates between user intent and the actual register settings, eliminating direct manual configuration of individual registers while ensuring accurate configuration.
2Adaptability or versatility
If users manually manage large configuration files, then all configuration parameters can be controlled, but the process becomes tedious and time-consuming
Solution Approach 1:
The patent implements preliminary action by pre-defining groups of related control register parameters as intermediate parameter groups and top-level presets. These presets are prepared in advance and can be selected directly by users, eliminating the need to manually configure each parameter individually. This preliminary structuring maintains full configuration control while dramatically reducing the time required.
Solution Approach 2:
The patent creates universal preset templates that can be applied across different SOC configurations. A single preset selection can control multiple related parameters simultaneously, making the configuration process more efficient while maintaining the ability to adapt to specific configuration needs through selective preset application.
3Adaptability or versatility
If all control registers are exposed to users, then complete system functionality is achievable, but the interface becomes overwhelming
Solution Approach 1:
The patent adds a hierarchical dimension to the configuration interface, organizing control registers into multiple levels of abstraction. Instead of presenting all registers at one level (which is overwhelming), the system creates top-level presets, intermediate parameter groups, and individual registers as separate hierarchical layers. Users interact with the high-level layer for routine configurations, maintaining ease of operation while preserving access to all functionality through lower layers when needed.
Data Source
AI summary
Hierarchical preset and rule base configuration of a system-on-chip (SOC) includes receiving a user input selecting a first circuit block of the SOC for enablement and determining, using a processor, a first top level preset according to the user input for the first circuit block. Selected intermediate presets are determined from a plurality of hierarchically ordered presets for the first circuit block. Low level presets are automatically determined for the first circuit block according to the selected intermediate presets for the first circuit block. The low level presets are output, e.g., by loading them into the SOC.


