Programmable Interface for IC Validation and Debug

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of integrated circuits makes debugging and validation using Automatic Test Equipment (ATE) time-consuming and expensive, compounded by input/output limitations of the interface used to exercise the design-under-test.

Innovation Solution

A programmable interface-based validation and debug system that includes a test connector communicatively coupled to a design-under-test, a programmable logic interface for receiving downloadable test benches, and a multiplexer to selectively couple test control buses to a shared test bus, allowing for enhanced ad-hoc network communications and cost-effective debugging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Automatic Test Equipment (ATE) is used for validation and debugging of integrated circuits, then validation and debugging can be performed, but the process becomes time-consuming and expensive

Engineering Contradiction:
Improvevalidation and debugging capabilityVSAvoiddebugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the testing function by separating the test bench (software) from the hardware under test, allowing the test bench to be independently downloaded and executed. This enables faster validation cycles without requiring complex ATE equipment for each test scenario.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The test bench is implemented as downloadable software that can be copied to different devices and executed independently. This allows reuse of test cases across multiple validation cycles without reconfiguring physical test equipment, significantly reducing debugging time.

Inventive Principle:
Principle #26Copying

2Reliability

If Automatic Test Equipment (ATE) is used for validation and debugging of integrated circuits, then validation and debugging can be performed, but the cost becomes expensive

Engineering Contradiction:
Improvevalidation and debugging capabilityVSAvoidcost effectiveness
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system replaces expensive, complex ATE equipment with a simpler, more affordable architecture where a standard microcontroller or processor executes test benches. The test cases are software-based and can be reused across multiple devices, reducing the need for costly physical test equipment.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The same microcontroller-based platform can execute multiple different test benches for different validation scenarios. This universal approach eliminates the need for specialized expensive equipment for each test type, making the system cost-effective while maintaining comprehensive validation capability.

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

3Device complexity

If a fixed interface is used to exercise the design-under-test, then the interface is simple, but input/output limitations compound the difficulty of debugging

Engineering Contradiction:
Improveinterface simplicityVSAvoiddebugging ease
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The interface transitions from a fixed, hardware-defined connection to a dynamic, software-controlled communication path. The microcontroller can programmatically configure how test vectors are applied and how responses are captured, adapting the interface behavior to different test scenarios without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The microcontroller acts as an intermediary between the simple fixed interface and the complex testing requirements. It translates high-level test commands into appropriate signal sequences on the physical interface, providing flexible control while maintaining hardware simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If test vectors are manually applied through fixed interfaces, then the setup is straightforward, but the process is time-consuming and lacks adaptability

Engineering Contradiction:
Improvesetup simplicityVSAvoidtesting speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

Test vectors are pre-organized in the microcontroller's memory as executable test benches. Before actual testing, the test bench is downloaded and configured, so that when testing begins, the microcontroller can immediately execute the pre-planned test sequences without manual intervention, significantly increasing testing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The microcontroller automatically executes test benches, applies test vectors, captures responses, and processes results without requiring manual operation. The system serves itself by autonomously running through test cases and generating debug information, eliminating the time-consuming manual setup and execution processes.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9152520B2Programmable interface-based validation and debug
Publication Date: 2015.10.06 TEXAS INSTRUMENTS INC
  • US9152520B2 patent drawing
  • US9152520B2 patent drawing
  • US9152520B2 patent drawing

AI summary

A programmable interface-based validation and debug system includes, for example, a test connector that is arranged to communicatively couple a design under test to the test fixture. A programmable logic interface is communicatively coupled to the test connector and is arranged to receive a downloadable test bench, where the downloadable test bench is arranged to apply test vectors from a first set of test vectors to a first test control bus. A multiplexer is arranged to selectively couple one of the first test control bus and a second test control bus to a shared test bus that is coupled to the test connector, where the second test control bus is arranged to apply test vectors from a second set of test vectors provided by, for example, a debugger that is operated by a human.