Global Clock Grid for Asynchronous Domain Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods face challenges in aligning multiple asynchronous clock domains with cycle-by-cycle accuracy during processor testing, particularly when internal to a system, as synchronizing clocks at pin boundaries is difficult.

Innovation Solution

A global clock routing mechanism, such as a clock grid, is used to provide a synchronized global clock signal to logic blocks with asynchronous clock domains, ensuring each block receives a matched clock signal through headers and clock grids, with synchronizing logic blocks inserted between mismatched grids to align data transmission between clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If clocks are aligned at pin boundaries for synchronous testing, then cycle-by-cycle accuracy is achieved, but alignment difficulty increases

Engineering Contradiction:
Improvecycle-by-cycle accuracyVSAvoidalignment difficulty
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

A global clock signal acts as an intermediary to synchronize multiple asynchronous clock domains. The global clock is distributed through a routing mechanism to various logic blocks, providing a common reference that enables cycle-by-cycle accurate testing without requiring direct alignment between each pair of asynchronous clocks at pin boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the clock synchronization function by introducing separate global clock routing mechanisms for different logic blocks. Each logic block receives the global clock signal independently through its own routing path, allowing precise local synchronization while maintaining overall system coordination.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple asynchronous clock domains are used, then system flexibility is improved, but synchronous operation difficulty increases

Engineering Contradiction:
Improvesystem flexibilityVSAvoidsynchronous operation difficulty
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The global clock signal serves multiple functions simultaneously: it synchronizes different asynchronous clock domains, provides a common timing reference for cycle-by-cycle accurate testing, and enables coordinated operation across logic blocks with different clock frequencies. This multi-functional approach maintains system flexibility while simplifying synchronous operation.

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

3Productivity

If clock signals are routed to multiple logic blocks, then system functionality is enhanced, but signal matching complexity increases

Engineering Contradiction:
Improvesystem functionalityVSAvoidsignal matching accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The clock routing mechanism provides tailored signal delivery to each logic block based on its specific requirements. Each logic block receives the global clock signal through optimized routing paths that compensate for its particular timing characteristics, ensuring accurate signal matching while supporting diverse system functionalities.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8205110B2Synchronous operation of a system with asynchronous clock domains
Publication Date: 2012.06.19 ORACLE AMERICAN INC
  • US8205110B2 patent drawing
  • US8205110B2 patent drawing
  • US8205110B2 patent drawing

AI summary

A system may be employed for allowing the synchronous operation of an asynchronous system. The system may be a system that may include multiple clusters. The clusters may include asynchronous clock domains and may also receive a global clock signal through a global clock grid that may overlay the system. Furthermore, a method may be employed for synchronizing asynchronous clock domains within a cluster. The method of synchronizing may include providing a global clock that corresponds to a global clock grid to each cluster. Additionally, the method of synchronizing may include accounting for the mismatch between the asynchronous clock domains by employing logic in a block.