UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for
Search instead for
Did you mean:
Contributor
1,162 Views
Registered: ‎07-27-2017

## Synchronize different frequency signals with an external pulse trigger

Jump to solution

I have to synchronize three signals, namely

Signal#1 - PWM of 2MHz frequency,

Signal#2 - Square wave of 200 kHz frequency, and

Signal#3 - Square wave of 2 MHz frequency

I use a clock of 10 ns period. How can I synchronize all these signals when an external pulse SYNC of 10us high is triggered? The synchronization needs to be within a few clock cycles later.

Tags (2)
1 Solution

Accepted Solutions
Contributor
1,098 Views
Registered: ‎07-27-2017

## Re: Synchronize different frequency signals with an external pulse trigger

Jump to solution

I used a state machine like logic such that when an external trigger is identified, I let the longest period signal to complete its current cycle and let other two signals to continue toggling. If the current cycle of the first signal is completed, I will repeat the same logic to the next two signals. After all the three signals are stop, I will restart all of them on the next rising edge of the 100 MHz clock.

3 Replies
Moderator
1,144 Views
Registered: ‎04-18-2011

## Re: Synchronize different frequency signals with an external pulse trigger

Jump to solution

Hi @amkichu

There are 2 Jobs I think.

The first step I think is to take all 3 signals and synchronize them to the 100Mhz clock domain.

Since the period of the 3 signals is larger than the 10ns of the fpga then you can use the simple 2 stage FF synchronizer.

This means that everything is represented in the 100Mhz domain.

The next step you want to do is align the 3 signals

You will need to buffer the 100Mhz version of the signals.

I would then have logic that looks inside the buffer to identify an edge so now you know where the 0-1 transitions are on each signal are in relation to one another.

Once this is known, when the sync arrive the output of the buffer should tap off the location where the edge occurs.

Now I think the edges are sychronous and aligned to one another at 100MHz

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Contributor
1,111 Views
Registered: ‎07-27-2017

## Re: Synchronize different frequency signals with an external pulse trigger

Jump to solution
As a note, that I forgot to mention while posting, all these three signals are derived from the 100MHz clock itself, so I guess there is no need for the first job, synchronize.
Contributor
1,099 Views
Registered: ‎07-27-2017

## Re: Synchronize different frequency signals with an external pulse trigger

Jump to solution

I used a state machine like logic such that when an external trigger is identified, I let the longest period signal to complete its current cycle and let other two signals to continue toggling. If the current cycle of the first signal is completed, I will repeat the same logic to the next two signals. After all the three signals are stop, I will restart all of them on the next rising edge of the 100 MHz clock.