USB-Programmed FPGA Network Testing System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current testing solutions for content-aware network devices are inadequate, failing to rigorously test performance and security under real-world conditions, especially with the rise of latency-sensitive applications and sophisticated security threats, due to their focus on traditional IP network testing and lack of consideration for Layers 4-7 attributes.

Innovation Solution

A network testing system that programs configurable logic devices via USB, utilizing a processor and microcontroller to load control instructions and images, enabling comprehensive testing of content-aware systems by simulating realistic application workloads and security attacks at line speed, including high-speed packet capture, generation, and application-level simulation across Layers 2-7.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing solutions are used for content-aware network devices, then testing can be performed on basic IP network connections, but testing of Layers 4-7 functionality and content-aware performance is insufficient

Engineering Contradiction:
Improvetesting completenessVSAvoidtesting capability coverage
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The testing system segments network testing into distinct layers (Layers 2-3 IP networking and Layers 4-7 content-aware functionality). Each layer is tested by specialized components: the CLD handles high-speed packet processing and Layer 4-7 inspection, while the microcontroller manages USB communication and configuration. This segmentation allows comprehensive testing of both basic connectivity and advanced content-aware features.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The configurable logic device serves multiple functions: it performs high-speed packet capture, generation, and forwarding; implements Layers 4-7 protocol inspection; and supports reconfiguration for different testing scenarios. The USB interface provides universal communication capability for programming and control across different device types and testing requirements.

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

2Productivity

If high-speed packet processing is implemented for line speed testing, then realistic application workload simulation is enabled, but device complexity increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the high-speed packet processing functionality into a separate configurable logic device that interfaces with the host processor via USB. This extraction allows the host processor to focus on control and configuration tasks while the CLD handles time-critical packet processing at line speed, reducing the overall system complexity burden on any single component.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The USB interface acts as an intermediary between the host processor and the configurable logic device. It enables efficient data transfer for packet processing while providing a standardized, manageable communication protocol. This intermediary simplifies the integration complexity by using a well-defined interface standard rather than requiring custom high-speed communication logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If USB interface is used for programming CLD, then ease of operation is improved, but data transfer speed may be limited compared to other interfaces

Engineering Contradiction:
Improveprogramming convenienceVSAvoiddata transfer rate
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The USB interface is used for control and configuration functions rather than for high-speed packet data transfer. The CLD is programmed with the necessary configuration data via USB, and then operates autonomously at line speed using its internal resources. This partial use of USB for only the necessary control functions avoids the speed limitation issue while maintaining ease of operation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9026688B2Systems and methods for programming configurable logic devices via USB
Publication Date: 2015.05.05 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US9026688B2 patent drawing
  • US9026688B2 patent drawing
  • US9026688B2 patent drawing

AI summary

A system for programming one or more configurable logic devices (e.g., FPGA or CPLD) via universal serial bus (USB) may include one or more CLDs; a microcontroller coupled to the one or more CLDs via a parallel data bus; a processor coupled to the microcontroller via a USB interface, the processor having access to CLD access logic and one or more CLD images; and instructions executable by the processor to program at least one of the CLDs by loading the CLD access logic onto the microcontroller, using the CLD access logic loaded on the microcontroller to set each of the at least one CLD to a programming mode, and forwarding a particular CLD image from the processor to the microcontroller via the USB interface and from the microcontroller to each of the at least one CLD via the parallel data bus.