Multi-FPGA Assertion Checkers for Fast SoC Prototype Debug

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SoC prototyping methods using FPGAs often sacrifice debug infrastructure for performance, leading to slow debugging processes and increased computational costs due to periodic state dumps, which complicate the identification and correction of errors.

Innovation Solution

Incorporating user-defined assertion checkers into FPGA prototyping systems that stop the clock upon assertion events, allowing control to be passed to a runtime system for error handling, thereby enabling quick diagnostics and minimal performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If periodic state dumps are implemented for debugging, then debug information is captured, but performance slows down and computational cost increases

Engineering Contradiction:
Improvedebug capabilityVSAvoidprototyping performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the debugging function from the periodic state dump mechanism and implements it through assertion checkers that operate independently. Assertion checkers monitor specific conditions without requiring full state dumps, thus capturing essential debug information while avoiding the performance overhead of comprehensive periodic sampling.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Assertion checkers serve as intermediaries between the prototyping system and debug infrastructure. Instead of directly implementing full state dumps, the checkers provide targeted condition monitoring that mediates between performance requirements and debug needs, enabling selective information capture with minimal impact on system performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple assertion checkers are supported, then debug coverage is improved, but system complexity increases

Engineering Contradiction:
Improvedebug coverageVSAvoidchecker management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple assertion checkers into a unified management framework within the prototyping system. The runtime system consolidates checker registration, configuration, and control, allowing multiple checkers to be managed through a single interface rather than requiring separate management for each checker, thus reducing overall system complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The assertion checker implementation provides universal functionality that handles multiple checkers through a common architecture. The runtime system offers multi-functional capabilities including checker registration, enabling/disabling, and coordinated control, allowing the same infrastructure to manage any number of checkers without requiring checker-specific management code.

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

3Measurement precision

If clock stopping is implemented on assertion, then diagnostic accuracy is improved, but prototyping time increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidprototyping cycle time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies clock stopping locally and selectively rather than globally and continuously. When an assertion checker detects a condition violation, the clock is stopped only for that specific checker and only long enough to capture the relevant state information. This localized approach maintains high diagnostic accuracy while minimizing the time penalty compared to continuous or global clock stopping.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10282501B1Support for multiple user defined assertion checkers in a multi-FPGA prototyping system
Publication Date: 2019.05.07 CADENCE DESIGN SYST INC
  • US10282501B1 patent drawing
  • US10282501B1 patent drawing
  • US10282501B1 patent drawing

AI summary

A method is provided that includes selecting an assertion checker for a design under test. The design under test includes hardware and firmware for a system on a chip, the method including instantiating the assertion checker in a compilation file, annotating the compilation file to define an assertion control signal for the assertion checker, and selecting one of a DISABLE or an ENABLE definition for the assertion control signal. The method also includes configuring a clock in a prototyping platform to stop when the assertion control signal is enabled in the assertion checker and a logic condition for the assertion control signal is satisfied in the prototyping platform. A system and a computer readable medium including instructions to perform the above method are also provided.