What are different ways synchronize between two clock domain, Computer Engineering

Assignment Help:

What are the different ways synchronize between two clock domains?

The following section describes clock domain interfacing one of the biggest challenges of system-on-chip (SOC) designs is which different blocks operate onto independent clocks.

Integrating these blocks through the processor bus, peripheral busses, memory ports and other interfaces can be troublesome since unpredictable behavior can result while the asynchronous interfaces are not appropriately synchronized. A very general and robust method for synchronizing multiple data signals is a handshake technique as demonstrated in diagram below. It is popular since the handshake technique can easily manage changes in clock frequencies, whereas minimizing latency at the crossing. Nonetheless, handshake logic is considerably more complex than standard synchronization structures.

2144_Synchronize between two clock domains.png

FSM1 (Transmitter) asserts the req (request) signal, asking the receiver to accept the data onto the data bus. FSM2 (Receiver) usually a slow module asserts the ack (acknowledge) signal, signifying which this has accepted the data. This has loop holes: while system Receiver samples the systems Transmitter req line and Transmitter samples system Receiver ack line, they have completed this regarding their internal clock, therefore there will be setup and hold time violation. To ignore this we go for double or triple stage synchronizers that increase the MTBF and therefore are immune to metastability to a fine extent. The figure below demonstrates how this is done.

2200_handshake technique.png

Multi- Bulit Sync

409_handshaking technique.png

Single Bit Metastability Sync


Related Discussions:- What are different ways synchronize between two clock domain

Explain direct addressing mode with example, Q. Explain Direct Addressing M...

Q. Explain Direct Addressing Mode with example? Direct Addressing Mode A direct operand signifies to contents of memory at an address referred by the name of the variable.

Define electronic data interchange, Define Electronic Data Interchange. ...

Define Electronic Data Interchange. An EDI stand for Electronic Data Interchange is used by organizations for transactions which occur on regular basis to a pre-determined for

Multiple assign statements targeting the same wire, What logic is inferred ...

What logic is inferred when there are multiple assign statements targeting the same wire? It's illegal to specify multiple assign statements to the same wire in a synthesizable

Explain the application of e-commerce in home banking, Explain the applicat...

Explain the application of E-Commerce in Home Banking. Home Banking: E-commerce is employed in Home Banking like one call or one click. Internet banking or online bank

What is single program multiple data, Q. What is Single Program Multiple Da...

Q. What is Single Program Multiple Data? A general style of writing data parallel programs for MIMD computers is SPMD (single program, multiple data) means all processors execu

Explain vector reduction instructions, Vector reduction Instructions Wh...

Vector reduction Instructions When operations on vector are being decreased to scalar items as a result then these are vector reduction instructions. These instructions are ref

Write an interrupt routine to handle division by zero, Q. Write an interrup...

Q. Write an interrupt routine to handle 'division by zero'? This file can be loaded just like a COM file though makes itself permanently resident until the system is running.

Prolog programming language, Prolog Programming Language : Probably pr...

Prolog Programming Language : Probably programming languages are procedural: than the programmer specifies exactly the right instructions (algorithms) required to get an agent

Explain a binary semaphore, Explain a binary semaphore with the help of an ...

Explain a binary semaphore with the help of an example? An abstract data type (ADT) is a semaphore which defines a nonnegative integer variable that apart from initialization i

Define interrupts in assembly language, Q. Define Interrupts in assembly la...

Q. Define Interrupts in assembly language? An interrupt causes interruption of an ongoing program. A number of the common interrupts are: printer, monitor, keyboard, an error c

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd