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

cellfun function, There is a built-in function function known as cellfun t...

There is a built-in function function known as cellfun that evaluates a function for each element of a cell array.  Make a cell array, then call the cellfun function, passing the h

Arrays of any size, Modify your program so that the line "int numStones = u...

Modify your program so that the line "int numStones = ui.readStones();" in the Game constructor is considered. Depending on the value of numStones read from the user, you should cr

Show the foundation of ALU design, Q. Show the foundation of ALU design? ...

Q. Show the foundation of ALU design? The foundation of ALU design starts with micro-operation implementation. Thus let's first explain how bus can be used for Data transfer m

How does tcp take of wrapping over of sequence numbers, How does TCP take o...

How does TCP take of wrapping over of sequence numbers? To handle out of instruct deliveries, transport protocols utilize sequencing. The sending side attaches a sequence numbe

What is java awt, An AWT stands for Abstract Window Toolkit. AWT handles pr...

An AWT stands for Abstract Window Toolkit. AWT handles programmers to develop Java applications with GUI components, like windows, and buttons. The Java Virtual Machine (JVM) is re

Contact-based keyboards, Contact-based keyboards employ switches directly. ...

Contact-based keyboards employ switches directly. Though they have a comparatively shorter life they are the most preferred type these days because of their lower cost.  Three such

What is use case and use case diagram, What is use case and use case diagra...

What is use case and use case diagram? A use case is a coherent piece of functionality that a system can give by interacting with actors. Use case includes one or more actors a

Variable ordering - forward checking, Variable ordering - Forward checking:...

Variable ordering - Forward checking: Hence this is different from variable ordering in two important ways as:  Whether this is a dead end when we will end up visiting a

Prolog programming language - artificial intelligence, Prolog Programming L...

Prolog Programming Language - Artificial intelligence: Most of the programming languages are procedural: the programmer specifies exactly the correct instructions (algorithms)

What is pointers function, Visual basic applications have very rich and fle...

Visual basic applications have very rich and flexible applications but there is single limitation when using pointer function. Windows API has limited support for function pointers

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