API-Driven Scripting Generators for IC Design Tools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current IC design tools require time-consuming and error-prone manual creation of custom scripting libraries in various programming languages, which hinders efficient IC design iterations.

Innovation Solution

A system and method to automate the generation of a scripting library across multiple programming languages by creating an API description using Java source code or formats like XML, JSON, and YAML, generating server and client communication modules using REST protocol, and integrating polyglot client libraries into integrated development environments (IDEs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a custom library is created for each programming language to accommodate different designer preferences, then adaptability to various programming languages is improved, but time consumption and error rates increase

Engineering Contradiction:
Improveadaptability to various programming languagesVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system uses a universal code generation platform that can generate client libraries for multiple programming languages (Python, Java, JavaScript, etc.) from a single API description. This eliminates the need to create separate custom libraries for each language while maintaining language-specific adaptability through template-based generation.

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

Solution Approach 2:

The system generates client libraries by copying and adapting a standardized template structure into different programming languages. The API description serves as a master copy that can be instantiated into multiple language-specific versions, reducing manual creation time and minimizing errors through automated replication.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If a custom library is created for each programming language, then support for multiple languages is improved, but complexity of the development process increases

Engineering Contradiction:
Improvesupport for multiple languagesVSAvoidcomplexity of development process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The development process is segmented into distinct components: a centralized API description (OpenAPI/Swagger specification) that defines the interface, and separate client libraries for each language that are generated from this description. This segmentation allows the complex multi-language support to be managed through a modular architecture where the API description serves as the single source of truth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The API description (OpenAPI/Swagger specification) acts as an intermediary between the server-side implementation and the client-side libraries in different programming languages. This intermediary standardizes the interface definition, allowing the complex task of creating multi-language libraries to be simplified through automated generation from this central specification.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If manual creation of custom scripting libraries is performed, then flexibility in design is maintained, but productivity decreases

Engineering Contradiction:
Improveflexibility in designVSAvoidproductivity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary action by generating the complete client library structure and code templates automatically from the API description before the actual development work begins. This preliminary generation handles the repetitive and error-prone portions of library creation, allowing developers to focus only on customizing and testing the generated code, thereby maintaining flexibility while significantly improving productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12450036B2System and method for scripting generators
Publication Date: 2025.10.21 ARTERIS INC
  • US12450036B2 patent drawing
  • US12450036B2 patent drawing
  • US12450036B2 patent drawing

AI summary

A system (and method) is disclosed that automate creating a scripting library in a variety of programing languages. The system uses a process that generates a web scripting. The system generates a description of the application programming interface (API). The API description may be created using any one of: Java source code (e.g., Javadoc) to create an OpenAPI (e.g., swagger) description of the API; or the API description is created in any format capable of being read by a computer (e.g., XML, JSON, YAML, etc.).