Address Decoder Synchronizer for Embedded CPU Peripheral Clock Domain Crossing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In embedded systems, the asynchronous operation of Input/Output (I/O) peripherals and the central processing unit (CPU) across different clock domains poses a challenge for efficient data transfer and synchronization.

Innovation Solution

An address decoder and synchronizer (ADS) is used to receive addresses from the CPU, translate them to identify I/O peripherals, disable and enable the CPU operation, and synchronize data between the CPU and I/O peripheral clock domains, ensuring efficient data transfer and acknowledgment handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data transfer is performed between CPU and I/O peripherals operating in different clock domains, then data transfer capability is enabled, but synchronization complexity and reliability issues arise

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an Address Decoder and Synchronizer (ADS) as an intermediary component between the CPU and I/O peripherals. The ADS receives addresses from the CPU, translates them to identify I/O peripherals, and manages data transfer synchronization between different clock domains. This mediator handles the complexity of clock domain crossing, enabling reliable data transfer without requiring the CPU and peripherals to operate in the same clock domain.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The ADS performs preliminary address translation and peripheral identification before actual data transfer occurs. By pre-processing the address information and determining the target peripheral in advance, the system prepares the synchronization parameters and control signals needed for reliable cross-clock-domain data transfer, reducing the complexity during the actual transfer operation.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If I/O peripherals operate in different clock domains from the CPU, then power and performance requirements are met, but synchronization reliability deteriorates

Engineering Contradiction:
Improveclock domain flexibilityVSAvoidsynchronization reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The ADS acts as a reliable intermediary that manages clock domain synchronization. It receives control signals from the CPU in the CPU clock domain, translates addresses, identifies target peripherals, and coordinates data transfer with the peripheral's clock domain. This mediator ensures reliable synchronization by properly sequencing operations and managing clock domain transitions, allowing the system to maintain reliability while supporting multiple clock domains for different power and performance requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If address translation and peripheral identification are performed, then accurate I/O access is achieved, but processing time increases

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The ADS performs address translation and peripheral identification as preliminary actions before data transfer. By pre-processing the address information and determining the target peripheral in advance, the system prepares synchronization parameters and control signals beforehand. This allows the actual data transfer operation to proceed efficiently without repeated processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ADS autonomously handles address translation and peripheral identification without requiring CPU intervention for each step. The device self-services by automatically translating addresses, identifying peripherals, and managing the synchronization process, reducing the processing time overhead compared to CPU-managed address translation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8095707B2Method for synchronization of peripherals with a central processing unit in an embedded system
Publication Date: 2012.01.10 INTEGRATED DEVICE TECH INC
  • US8095707B2 patent drawing
  • US8095707B2 patent drawing
  • US8095707B2 patent drawing

AI summary

A method and apparatus for synchronizing I/O peripherals with a CPU in an embedded system is discussed. The method involves receiving an address from the CPU in response to a read and/or write access, translating the address received from the CPU to identify a I/O peripheral to be accessed, disabling the operation of the CPU and synchronizing a memory from the CPU clock domain to the clock domain of the identified I/O peripheral. Upon completion of the read/write access, the identified I/O peripheral sends an acknowledgment, the memory is then synchronized from the clock domain of the I/O peripheral to the CPU clock domain and the operation of the CPU is then enabled.In another embodiment, if the acknowledgement from the identified I/O peripheral is not received within a predefined time duration, reserved data is sent to the CPU and the operation/access can be restarted.