Dynamic IC Design Flow Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The design and testing of integrated circuits are typically complex and time-consuming processes requiring multiple specialized engineers and proprietary tools, making it difficult for a single engineer to design processors or SoCs efficiently.

Innovation Solution

A system that allows a single engineer to specify design parameters using a web interface or scripting API, automating the operation of EDA tools to generate and test integrated circuit designs, including the integration of IP cores from multiple vendors and facilitating the creation of custom, pre-verified processors or SoCs for manufacturing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple specialized engineers and proprietary tools are used for integrated circuit design, then design quality and verification thoroughness are improved, but design time and process complexity increase significantly

Engineering Contradiction:
Improvedesign verification qualityVSAvoiddesign time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the integrated circuit design process into distinct modular stages (specification, synthesis, verification, implementation) that can be independently executed and automated. Each stage is handled by specialized software modules rather than requiring multiple human engineers, thus maintaining verification quality while reducing design time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary integrated circuit design system that acts as a mediator between the engineer's high-level specifications and the detailed design implementation. This system automatically performs synthesis, optimization, and verification tasks, replacing the need for multiple specialized human engineers while maintaining thorough design quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple specialized engineers are involved in the design process, then design expertise and quality are improved, but ease of operation deteriorates as a single engineer cannot efficiently design processors or SoCs

Engineering Contradiction:
Improvedesign expertiseVSAvoidease of design operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent enables the integrated circuit design system to perform self-service by automatically executing design synthesis, optimization, and verification tasks without requiring multiple human engineers. The system incorporates built-in expertise through automated algorithms that handle complex design decisions, making the process as easy to operate as specifying high-level design parameters.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal integrated circuit design system that consolidates multiple specialized engineering functions into a single multi-functional platform. This system can handle various design tasks (processing, memory, I/O, verification) that traditionally required different specialists, thus improving ease of operation while maintaining design quality.

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

3Manufacturing precision

If proprietary EDA tool chains are used for different parts of the design workflow, then design precision and control are improved, but device complexity increases

Engineering Contradiction:
Improvedesign control precisionVSAvoiddesign tool chain complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple proprietary EDA tool chains into a single integrated design system that provides unified control across all design stages. By combining specification, synthesis, verification, and implementation tools into one cohesive platform, the system maintains precise design control while reducing the complexity of managing multiple separate tool chains.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary design system that acts as a mediator between the engineer and the complex EDA tool chains. This system handles the complexity of coordinating multiple specialized tools internally, presenting a simplified interface to the user while maintaining precise control over the design process through automated tool orchestration.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If automated systems are used to generate integrated circuit designs, then productivity and speed are improved, but adaptability may worsen due to limited customization options

Engineering Contradiction:
Improvedesign productivityVSAvoiddesign customization flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic design system that can adapt its automation level and customization options based on user needs. The system allows engineers to specify high-level parameters for automated generation while retaining the flexibility to customize specific design aspects, thus maintaining both high productivity and adaptability through dynamic configuration options.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11914933B2Generation of dynamic design flows for integrated circuits
Publication Date: 2024.02.27 SIFIVE INC
  • US11914933B2 patent drawing
  • US11914933B2 patent drawing
  • US11914933B2 patent drawing

AI summary

Systems and methods are disclosed for to generation of dynamic design flows for integrated circuits. For example, a method may include accessing a design flow configuration data structure, wherein the design flow configuration data structure is encoded in a tool control language; based on the design flow configuration data structure, selecting multiple flowmodules from a set of flowmodules, wherein each flowmodule provides an application programming interface, in the tool control language, to a respective electronic design automation tool; based on the design flow configuration data structure, generating a design flow as a directed acyclic graph including the selected flowmodules as vertices; and generating an output integrated circuit design data structure, based on one or more input integrated circuit design data structures, using the design flow to control the respective electronic design automation tools of the selected flowmodules.