Configurable HDL Design for Feature-Selective ASIC Subsystems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
ASIC developers face challenges in designing complex chips due to the need for lengthy redesigns and the inclusion of unused features in programmable general purpose subsystems, which increases costs and resource utilization inefficiencies.
Innovation Solution
The development of highly configurable designs using hardware description and verification languages, allowing for customizable features and interfaces through a configuration module that removes unnecessary constructs based on customer specifications, resulting in a derived design optimized for specific use cases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If programmable general purpose subsystems are used to accommodate multiple customer requests, then adaptability is improved, but device complexity increases due to unused features occupying resources
Solution Approach 1:
The subsystem is divided into multiple configurable constructs (e.g., different interface types, FIFO depths, error correction features) that can be independently selected and instantiated. This segmentation allows the system to accommodate multiple customer requests while avoiding the complexity of implementing all possible features simultaneously, as only the required segments are activated based on customer specifications.
Solution Approach 2:
The subsystem employs dynamic configurability where the structure and behavior of the subsystem can change based on customer requirements. The configuration module dynamically selects and instantiates appropriate constructs, allowing the same base subsystem to adapt to different customer needs without requiring physical redesign or occupying resources for unused features.
2Adaptability or versatility
If ready-made subsystems are redesigned to fit specific customer requests, then adaptability is improved, but loss of time increases due to redesign and re-verification efforts
Solution Approach 1:
The configurable constructs are pre-designed and pre-verified in a master subsystem that has been thoroughly tested. When a customer request is received, the configuration module selects from these pre-validated constructs rather than requiring redesign from scratch. This preliminary action eliminates the need for time-consuming redesign and re-verification, as the selected constructs are already verified to work together in the master subsystem.
Solution Approach 2:
The invention creates copies of verified subsystem constructs that can be selectively instantiated based on customer requirements. Instead of redesigning subsystems for each customer, the system uses template-based copying where verified construct definitions are replicated and configured for specific customer needs, significantly reducing the time required for adaptation.
3Adaptability or versatility
If all features of a programmable subsystem are included to meet various customer requests, then adaptability is improved, but quantity of substance increases leading to resource waste
Solution Approach 1:
The subsystem applies local quality by providing different levels of functionality to different parts of the system based on customer requirements. Rather than including all possible features throughout the entire subsystem, the configuration module selectively instantiates only the necessary constructs in the appropriate locations, optimizing resource utilization while maintaining adaptability to specific customer needs.
Data Source
AI summary
An invention is provided for building configurable designs synthesizable to gates. The invention includes creating a configurable design using an HDL. The configurable design has a plurality of instantiated configurable constructs that can be optionally included in a design. Basically, the configurable design is an all-inclusive design having a large set of features, including varying interfaces, FIFO depths, and other features. Then, a derived design is generated by removing configurable constructs from the configurable design based on a specification, typically a customer specification received from a customer for a particular design. The specification indicates which configurable constructs are to be included in a derived design. Thereafter, the derived design is synthesizable in logic.


