# US 5,703,788 A · Configuration management and automated test system ASIC design software

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,703,788 A
- Document ID: US5703788A
- Status: Granted
- Kind: A
- Application number: 08/477,490
- Filed: 1995-06-07
- Granted: 1997-12-30
- Earliest claimed: 1995-06-07
- Assignees: LSI Logic Corporation
- Inventors: Darlene Shei; Jiurong Cheng
- Web page: https://patentgrep.com/patent/US5703788A

## CPC

- G06F 11/22: Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F 30/33: Design verification, e.g. functional simulation or model checking
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A software configuration management and test System for tracking and testing an ASIC design software package includes a library of test programs, an autodetector, an autoverifier, a failure report generator, and a package information logger. The System automatically selects which tests to run on the tools package depending on which portions of which tools have been updated, and then automatically sequences the tools package through the selected tests. By automating the testing process, the System achieves automation, standardization, completeness, and a systematic approach to testing. By greatly reducing test turnaround time, the System also facilitates concurrent engineering.

## Claims

### Claim 1

An apparatus for facilitating the operational reliability of a library of modules indicative of a set of interdependent software tools that cooperate with one another to enable a logic system designer to interconnect a plurality of integrated circuits for achieving a high level of functional integration therebetween, comprising:
autodetector means for automatically detecting a module submission to the library of modules;
autoverifier means for determining whether said module submission has a previously submitted archived module within the library of modules;
modification identification means responsive to said verification means for comparing and identifying functionality changes between said module submission and said previously submitted archived module;
module selection means responsive to said modification identification means for assembling an exclusive set of previously submitted archived modules with interdependence on said module submission;
function identification means responsive to said module selection means for sequentially identifying individual functions in each individual previously submitted archived module in said exclusive set interdependent upon the identified functionality changes between said module submission and said previously submitted archived module;
module testing means responsive to said function identification means for testing sequentially each identified function to verify its proper functional operation relative to each identified functional change between said module submission and said previously submitted archived module: and
error reporting means responsive to said module testing means for generating a failure report that identifies each function that failed to perform its proper functional operation due to each individual one of the identified functional changes between said module submission and said previously submitted archived module.

### Claim 2 (depends on 1)

The apparatus of claim 1, further comprising:
system use reporting means for generating an approval indication that the identified functionality changes between said module submission and said previously submitted module have been tested and verified for proper functional operation relative to each individual function tested by said module testing means.

### Claim 3 (depends on 2)

The apparatus of claim 2, said autodetector means further comprising:
means for automatically identifying lines of code within said design tools that have changed.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein said module selection means includes:
interdependency identifying means for determining whether individual ones of the previously submitted archived modules have an interdependence on said module submission;
said interdependency identifying means including:
a first mapping means for mapping a line of code within said previously submitted archived module to a subroutine within which said line of code resides; and
a second mapping means for mapping said subroutine to test programs within said library that exercise said subroutine.

### Claim 5

A system for automatically testing and verifying the operational reliability of a library of interdependent software tools, comprising:
change identifier means for automatically identifying any modification in the library of interdependent software tools; and
sequential tester means responsive to said change identifier means for automatically selecting and testing sequentially each interdependent software tool affected by the identified modification.

### Claim 6 (depends on 5)

A system according to claim 5, wherein said sequential tester means includes:
mapping means responsive to said change identifier means for automatically selecting individual ones of a suite of test programs that exercise functions of software tools upstream and downstream from any identified modifications and for automatically mapping the selected software tools to selected ones of the test programs that exercise functions of individual ones of the software tools selected from said library.

### Claim 7 (depends on 6)

A system according to claim 6, wherein said interdependent software tools include integrated circuit design software tools.

### Claim 8 (depends on 7)

A system according to claim 7, wherein the integrated circuit design tools are ASIC design tools.

### Claim 9 (depends on 8)

A system according to claim 8, further comprising:
autoverifier means responsive to said tester means for generating an approval report whenever all the tested interdependent software tools affected by the identified modification operate in a functionally correct manner and for generating an error report identifying each software tool that fails to operate in a functionally correct manner.

### Claim 10 (depends on 9)

A system according to claim 9, wherein said error report includes an indication of the outputs and internal states of the selected interdependent software tools.

### Claim 11 (depends on 10)

The system of claim 10 further comprising:
a package information logger for logging software tools package information.

### Claim 12 (depends on 11)

The system of claim 11, said software tools package information comprising:
software tools version numbers; and
test results.

### Claim 13 (depends on 12)

The system of claim 12 further comprising:
a software tool archiver for storing software tool revisions.

### Claim 14

A method of automatically testing and verifying the operational reliability of a library of interdependent software tools, comprising: identifying automatically any modification in the library of interdependent software tools;
selecting automatically each interdependent software tool affected by the modification;
selected automatically from a library of software test programs a suite of test programs to test each interdependent software tool affected by the modification; and
testing each selected interdependent software tool with selected ones of the suite of test programs.

### Claim 15 (depends on 14)

A method according to claim 14, wherein the step of selecting a suite of test programs includes: mapping the selected software tools to selected ones of the test programs to exercise the software tool functions affected by the modifications.

### Claim 16 (depends on 15)

A method according to claim 15, wherein the interdependent software tools are integrated circuit design tools.

### Claim 17 (depends on 16)

A method according to claim 16, wherein the integrated circuit design tools are ASIC design tools.

### Claim 18 (depends on 17)

A method according to claim 17, further comprising
generating automatically a failure report, said failure report including indications of outputs and internal states of the interdependent software tools.

### Claim 19 (depends on 18)

A method according to claim 18, further comprising:
logging software tool package information.
