ROM-Based Function Lookup for Updatable ASIC Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing ASICs are inflexible and require lengthy, expensive redesigns to update software due to their fixed architectures, making them unsuitable for rapidly changing markets and evolving medical technologies like glucose monitoring systems.
Innovation Solution
A method for updating ASIC programming by copying a function lookup data structure from ROM to writable memory, referencing a revision lookup data structure to replace functions, and executing revised functions without fabricating new devices, using a processor to manage the process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ASICs use fixed ROM-based programming, then manufacturing precision and reliability are improved, but adaptability and ease of repair deteriorate
Solution Approach 1:
The programming memory is segmented into two distinct parts: ROM for storing core reliable functions and writable memory (RAM/Flash) for storing updateable software. This segmentation allows the system to maintain reliability from the ROM portion while gaining adaptability through the writable memory portion that can be updated without affecting the stable core functions.
Solution Approach 2:
The invention uses a lookup data structure that copies function references from ROM to writable memory. By copying only the necessary function pointers or addresses rather than the entire programming, the system enables efficient software updates while maintaining the integrity of the original ROM-based programming. The lookup table acts as an intermediary that can be regenerated to point to updated functions in writable memory.
2Adaptability or versatility
If ASICs are redesigned to update software, then adaptability is improved, but manufacturing cost and time increase
Solution Approach 1:
The system introduces dynamic update capability by incorporating writable memory (RAM or Flash) alongside the static ROM. This dynamic element allows the ASIC to be reconfigured in the field without requiring physical redesign or remanufacturing. The writable memory can be programmed and reprogrammed as needed, providing flexibility while maintaining the original manufacturing process for the core ASIC.
Solution Approach 2:
The invention changes the state of the programming memory from read-only (ROM) to writable (RAM/Flash) for specific portions, allowing software parameters and functions to be modified after manufacturing. This parameter change enables software updates without altering the physical ASIC structure, thereby avoiding the high costs and time associated with redesigning and remanufacturing the entire device.
3Ease of repair
If lookup data structure is copied to writable memory, then ease of repair and adaptability are improved, but device complexity increases
Solution Approach 1:
The lookup data structure serves as an intermediary layer between the ROM-based application program and the writable memory. Instead of directly modifying complex program code, the system updates the simpler lookup table that contains function references. This intermediary approach simplifies the update process while enabling comprehensive software revisions, as changing the lookup table automatically redirects all function calls to the updated code in writable memory.
Data Source
AI summary
An application program stored in a ROM includes a function lookup data structure in which functions called by the application program have identifiers and memory addresses at which the function is located and can be executed. Upon startup, the function lookup data structure is copied to a RAM as a revised lookup data structure and is compared to a revision lookup data structure also written to that RAM or elsewhere. If the revision lookup data structure contains replacement functions having the same function identifiers but new memory addresses, these new memory addresses are written over the existing addresses in the revised lookup data structure for those replacement functions. The application program refers to the revised lookup data structure to find and execute the functions; thus the original application program on the ROM can continue to be used with revised functions.


