Automatic IC Software Generation via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The design and customization of integrated circuit (IC) microprocessors, such as those used in RFID tags, are costly and time-consuming, making it difficult for small companies to create customized ICs that meet specific application requirements due to proprietary hardware and software that are non-reusable and tailored to particular applications.

Innovation Solution

A method and software tool that automatically generates software code for IC microprocessors based on simple input descriptions of standards or requirements, using an RFID compiler to convert assembly-like descriptions into executable C code, allowing for customization of generic ICs to accommodate various standards and future applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If proprietary hardware and software are designed specifically for each application, then application-specific functionality is optimized, but development cost and time increase significantly

Engineering Contradiction:
Improveapplication-specific functionalityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the software development process into two parts: a reusable core library containing standardized RFID functionality, and application-specific code that extends or modifies this core. This allows common RFID operations to be shared across multiple applications while enabling customization where needed, thereby reducing overall development time and cost.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal RFID software library that can serve multiple application purposes through a single codebase. The library provides generic RFID tag and reader functionality that can be applied to various scenarios (access control, inventory tracking, authentication, etc.), eliminating the need to rewrite core functionality for each new application.

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

2Reliability

If proprietary hardware and software are designed specifically for each application, then application requirements are met precisely, but reusability across different applications is lost

Engineering Contradiction:
Improveapplication requirement fulfillmentVSAvoidsoftware reusability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides the system into a reusable core library and application-specific extensions. The core library contains standardized RFID implementations that can be reused, while application-specific code modules can be added or modified to meet unique requirements without affecting the reusable portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs dynamic configuration capabilities where the software can adapt its behavior based on application requirements. The system allows dynamic selection of RFID protocols, modification of tag/reader parameters, and configuration of communication protocols without requiring changes to the core library, enabling both reusability and adaptability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If customized IC design is performed, then application-specific performance is optimized, but cost increases due to licensing and personnel requirements

Engineering Contradiction:
Improveapplication performanceVSAvoiddesign cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent uses code generation tools that automatically produce software from high-level specifications rather than requiring manual programming by qualified IC designers. The toolchain copies and adapts standardized library functions to create application-specific software, eliminating the need for expensive professional design services while maintaining application performance.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent enables organizations to perform their own IC customization using automated code generation tools without requiring external design services. The self-service platform provides templates, libraries, and automated compilation that allow in-house teams to create customized RFID solutions independently, reducing dependency on expensive external expertise.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If multiple competing RFID standards are supported, then system versatility is improved, but software complexity increases

Engineering Contradiction:
Improvestandard supportVSAvoidsoftware structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent organizes support for multiple RFID standards into separate, modular modules within the core library. Each standard (ISO 15693, ISO 18000, EPCglobal, etc.) is implemented as an independent module that can be selectively compiled and linked based on the target application, allowing standard support without proportionally increasing overall software complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses configurable parameters and abstraction layers that allow the same core codebase to support multiple standards through parameter modification rather than structural changes. The system can switch between different RFID protocols by changing configuration parameters, maintaining a unified software architecture while supporting diverse standards.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7469390B2Method and software tool for automatic generation of software for integrated circuit processors
Publication Date: 2008.12.23 UNIV OF PITTSBURGH OF THE COMMONWEALTH SYST OF HIGHER EDUCATION
  • US7469390B2 patent drawing
  • US7469390B2 patent drawing
  • US7469390B2 patent drawing

AI summary

A method of generating software code for a processor of an IC based on a simple input description of the IC's standards. The method includes generating a macros description of each of the primitives from the standards and the response corresponding to each of the primitives, wherein the macros description includes information relating to a number of first fields for each of the primitives and a number of second fields for each response. The method further includes generating a blank version of a template that includes each of the second fields and receiving a completed version of the template, wherein the completed template specifies a behavior of the integrated circuit in response to the primitives. Finally, the method includes compiling the software code based on the macros description and the completed version of the template. Also, a software tool implementing the method is provided.