- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm working on a system with multiple Stratix III devices on it. There is a master clock feeding each one, say 10ns period, and each FPGA creates some divided down clocks(all powers of 2). The problem is that I don't have any control on if the divided down clocks are edge-aligned across FPGAs.
For example, the input clock has rising edges at 0, 10, 20, etc. If multiple FPGA's create a divide by 8 clock with a PLL, one may have edges at 0, 80, 160..., another at 20, 100, 180, ... and another at 40, 120, 200,... Is there a way to synchronize these? I basically want to release the divide down output counters after the PLL has locked. The areset pin resets the VCO, so it moves back to far. It might be possible with the SIII dynamic phase shifting, but that seems like a lot of work. It could definitely be done by just using the 1x clock and creating a system wide clock enable for each lower frequency, but that requires recoding a lot of logic(and if I use IP that doesn't have a system-wide clock enable, it won't work). Anyway, wondering if anyone else has encountere this?Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have met this problem in my work too. Fortunately, the frequency in my design is lower than K ,so I don't have to care much about the synchronizing.
What we met is really a problem, is there some better ways except the DPA ? Hope so.- 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
I hadn't considered using the ALTCLKCTRL megafunction with enables instead of the PLL dividers - thanks for pointing it out. I like it - into the bag'o'tricks it goes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Rysc,
don't know if the question is still pending? I think, the most simple solution for synchronizing derived clocks between indepent PLLs is to distribute the slowest rather than the fastests clock. Consider a PLLs having /2, /4.. /16 divided outputs. If the /16 clock phase matches, all other also do. Don't know if this solution applicable for your design. I have e. g. a distributed system with different communication channels: a 20 MHz SPI and multichannel 400 MHz LVDS. All clocks are derived from a 20 MHz clock distributed by master FPGA. Regards, Frank
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page