Programmable Delay Line for Clock Insertion Compensation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor and memory emulation technologies face challenges in accurately modeling cache events and system interactions, leading to performance discrepancies between simulated and actual target performance, especially with cache-based architectures, which affects developer confidence and necessitates advanced emulation for visibility and optimization.

Innovation Solution

The implementation of a programmable delay in clock and data interfaces, along with advanced data extraction and compression techniques, enhances transfer rates and visibility into system and memory behavior, enabling better debug and profiling capabilities, including stall cycle profiling, event profiling, cache viewer analysis, and memory protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If master slave timing with clock insertion delays is used in interfaces, then device compatibility and timing synchronization are achieved, but transfer rates degrade and sampling window is reduced

Engineering Contradiction:
Improvetransfer rateVSAvoidsampling window
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and pre-adjusting the clock insertion delays during system initialization or configuration phase. The delay values are determined in advance based on measured or specified timing characteristics of the interface devices, allowing the main data transfer operation to proceed without real-time delay adjustments, thus maximizing transfer rates while maintaining sampling window integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs parameter changes by dynamically adjusting the clock timing parameters (delay values) to optimize the interface timing. By modifying the clock insertion delay parameters, the system compensates for timing variations in master-slave interfaces, thereby improving transfer rates without compromising the sampling window, as the delayed clock signals are precisely tuned to align with data arrival times.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If advanced emulation is implemented to provide visibility into cache events, then performance monitoring accuracy is improved, but device complexity and implementation cost increase

Engineering Contradiction:
Improveperformance monitoring accuracyVSAvoidemulation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary emulation layer that sits between the actual hardware and the analysis tools. This intermediary layer captures and records cache events, memory accesses, and system interactions, providing high-fidelity performance monitoring data without requiring complex modifications to the underlying hardware. The emulation layer acts as a mediator that translates complex hardware behaviors into observable and analyzable data streams.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies copying by creating a virtual replica or model of the target system's behavior through emulation. Instead of directly instrumenting the complex hardware, the system creates a software-based copy that mimics the hardware's operational characteristics, cache behavior, and timing properties. This copied model provides accurate performance monitoring while keeping the actual hardware unchanged and the implementation more manageable.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7676697B2Using a delay line to cancel clock insertion delays
Publication Date: 2010.03.09 TEXAS INSTRUMENTS INC
  • US7676697B2 patent drawing
  • US7676697B2 patent drawing
  • US7676697B2 patent drawing

AI summary

A programmable delay is added to the data and clock data paths in order to cancel the effect of the clock insertion delays. This programmable delay is adjusted dynamically at runtime to optimize the performance of the interface.