- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello. everyone.
I am considering development with Cyclone IV or Cyclon V.
Can you tell me the best way to synchronize between multiple FPGAs (between boards)?
specification
· The external clock is 100 MHz or 250 MHz.
· The internal operating frequency is 1 GHz or 500 MHz.
Thanks for your help.
Best regards
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Best way is don't. Use source/embedded clock interfaces with receive FIFOs. Then you can pass data/commands between devices without high speed synchronization issues.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your reply.
I would like to operate multiple FPGAs with synchronized clocks.
I would like to know a better way.
Best regards,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, it certainly can be done. You have to provide a central reference clock source, and route that with matched trace length to each of your FPGA(s). If they are on the same board this is much easier to control than if they are on different boards, but it can be done. This reference clock should be lower in frequency (ie, probably in the 25 to 100MHz range) for ease of distribution.
On chip you can use the PLL capability of the FPGA and generate a higher frequency internal clock (eg, 200-400MHz) for use. Using the external reference you can phase lock the internal PLL generated clocks to the external reference clock at each FPGA, so you get internal clocks that are phase synchronous across devices.
At this point there will be an internal clock in each FPGA that is frequency matched across devices, and phase matched to some tolerance, that will depend on the external trace length matching tolerances, any external buffer delays, and the timing differences across different FPGA devices. What this will mean is that, within devices, you can determine that positive going clock edges will be coincident within some tolerance, like +/-NNNns.
It is doubtful you would be able to pass data synchronized to the clock between devices, given the skew tolerance buildup.
Personally I would not go this way as getting it to work reliably all the time is going to be a significant issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your reply.
It was helpful.
Best regards,
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page