Differential Interface for FPGA Programming, Test, and User Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programmable logic devices rely on the JTAG standard for programming and testing, which is not robust and supports only low data rates, leading to undesirable system overhead and inefficiency, especially during normal system operation.

Innovation Solution

Incorporating differential communications circuitry, such as USB, that supports high data rates and noise immunity, allowing for unified programming, testing, and user mode operations, eliminating the need for duplicative legacy ports.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If JTAG standard is used for programming and testing, then device programming and testing can be performed, but data rate is limited and system overhead increases

Engineering Contradiction:
Improvedata rateVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling the differential communications circuitry to perform multiple functions: it serves as the programming interface during device configuration, the testing interface during boundary scan operations, and the user-mode communication interface during normal system operation. This single multi-functional interface replaces the traditional separate JTAG port and user-mode ports, thereby reducing system overhead while maintaining high data rates for all operations.

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

2Adaptability or versatility

If JTAG port is used for programming, then configuration data can be loaded, but the port is not used during normal operation representing overhead

Engineering Contradiction:
Improveoperational versatilityVSAvoidport overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The differential communications circuitry is designed to adapt its function based on operational mode. During programming, it receives configuration data; during testing, it performs boundary scan operations; and during normal user-mode operation, it handles user data traffic. This adaptive multi-functionality eliminates the need for separate dedicated ports for each operation, reducing overall port overhead while increasing operational versatility.

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

Solution Approach 2:

The communications circuitry dynamically changes its operational role depending on the system state. The same physical interface and circuitry are reconfigured through control logic to switch between programming mode, testing mode, and user-mode communication. This dynamic reusability ensures the interface remains active and useful across all operational phases, eliminating wasted overhead.

Inventive Principle:
Principle #15Dynamics

3Reliability

If differential communications circuitry is used, then high data rates and noise immunity are achieved, but additional circuitry is required

Engineering Contradiction:
Improvenoise immunityVSAvoidcircuitry overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The differential communications circuitry, while more complex than simple single-ended interfaces, is designed to serve all communication needs universally. The same robust differential interface that provides noise immunity for user-mode high-speed data transmission is also used for programming and testing operations. This eliminates the need for separate simpler interfaces for other operations, so the additional circuitry complexity is amortized across multiple functions rather than adding redundant overhead.

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

Data Source

PatentUS7505331B1Programmable logic device with differential communications support
Publication Date: 2009.03.17 TAHOE RES LTD
  • US7505331B1 patent drawing
  • US7505331B1 patent drawing
  • US7505331B1 patent drawing

AI summary

Programmable logic device integrated circuits with differential communications circuitry are provided in which the differential communications circuitry is used to support programming, testing, and user mode operations. Programming operations may be performed on a programmable logic device integrated circuit by receiving configuration data with the differential communications circuitry and storing the received configuration data in nonvolatile memory. The nonvolatile memory may be located in an external integrated circuit such as a configuration device or may be part of the programmable logic device integrated circuit. The stored configuration data may be loaded into configuration memory in the programmable logic device to program the device to perform a desired custom logic function. The differential communications circuitry may be used to handle boundary scan tests and programmable scan chain tests. During user mode operations the differential communications circuitry carries user data traffic.