Dynamic Watchdog Timer for Testbench Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional watchdog timers in testbenches load a fixed, excessively large time value, leading to inefficiencies and wasted time due to asynchronous interfaces and varying test case durations, especially when randomization is introduced, as they wait for the timeout to detect errors, even in shorter test cases.

Innovation Solution

The method involves estimating the time needed for each transaction dynamically and setting the watchdog timer with these estimates, allowing for more accurate monitoring of transaction completion and reducing idle time by checking module idle states, enabling the timer to exit when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed, large watchdog timer value is used to ensure reliable timeout detection, then reliability is improved, but loss of time increases due to waiting for timeout even in shorter test cases

Engineering Contradiction:
Improvetimeout detection reliabilityVSAvoidwasted time in shorter test cases
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The watchdog timer value is changed from a fixed constant to a dynamic variable that is calculated at runtime based on the actual transaction being executed. The timer value is set to estimated_transaction_time + overhead, where estimated_transaction_time is determined from transaction type, packet size, and interface characteristics. This dynamic adjustment allows the timer to be appropriately sized for each specific transaction, preventing wasted waiting time in short transactions while maintaining sufficient timeout detection capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The timer parameter is changed from a static fixed value to a computed value based on multiple factors including transaction type (read/write), packet size, interface speed, and historical performance data. The system calculates the timer value as: base_time + (packet_size / interface_speed) + overhead_margin, where each component is dynamically determined at runtime based on the specific transaction characteristics.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If a fixed watchdog timer value is used for all test cases, then ease of operation is improved, but productivity decreases due to overhead in evaluating complex DUTs with multiple interfaces

Engineering Contradiction:
Improvesimplicity of timer configurationVSAvoidevaluation efficiency of complex DUTs
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system automatically calculates and sets the appropriate watchdog timer value without requiring manual configuration by the user. The testbench infrastructure includes functions that automatically determine the transaction type, estimate execution time based on packet size and interface characteristics, and set the timer value accordingly. This self-service approach eliminates the need for users to manually configure different timer values for different test cases while maintaining high evaluation efficiency for complex DUTs.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The timer value parameter is transformed from a manually set fixed value to an automatically computed value based on runtime transaction characteristics. The system uses formulas such as timer_value = estimated_transaction_time * safety_factor, where estimated_transaction_time is calculated from transaction-specific parameters like packet size and interface speed, and safety_factor accounts for overhead and variability.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If randomization is introduced into the testbench to improve adaptability, then adaptability is improved, but loss of time increases due to variable transaction durations with fixed timer values

Engineering Contradiction:
Improvetestbench flexibility with randomizationVSAvoidwasted time due to mismatched timer values
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The watchdog timer value is made dynamic to adapt to the randomized transaction durations introduced by randomization in the testbench. Instead of using a fixed conservative value, the system calculates the timer value at runtime based on the specific randomized transaction parameters, including variable packet sizes and transaction types. This allows the timer to scale with the actual transaction duration, maintaining appropriate timeout detection while eliminating wasted waiting time in shorter randomized transactions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The timer parameter is changed from a fixed value to a computed value that adapts to randomized transaction characteristics. The system uses formulas that incorporate randomized parameters such as packet size and transaction type to determine the appropriate timer value, ensuring the timer remains synchronized with the actual transaction duration regardless of the randomization introduced in the testbench.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7797598B1Dynamic timer for testbench interface synchronization
Publication Date: 2010.09.14 XILINX INC
  • US7797598B1 patent drawing
  • US7797598B1 patent drawing
  • US7797598B1 patent drawing

AI summary

A method of evaluating a design under test (DUT) can include executing a testbench involving the DUT and, during execution of the testbench, estimating an amount of time needed to perform a first transaction with the device under test according to resolved variables. The method also can include setting a timer with the estimated amount of time needed to perform the first transaction and invoking the first transaction with the device under test. Responsive to expiration of the timer, an indication as to whether the first transaction completed execution can be provided.