Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21611 Discussions

CPLD clock skew generation

Altera_Forum
Honored Contributor II
1,356 Views

I use an epm2210 CPLD and need to generate two internal clocks of 

50MHz with 3 to 8ns phase difference.  

Any ideas?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
591 Views

 

--- Quote Start ---  

I use an epm2210 CPLD and need to generate two internal clocks of 

50MHz with 3 to 8ns phase difference.  

Any ideas? 

--- Quote End ---  

 

 

The MAX II devices do not have PLLs, so shifting the clock phase at 50MHz (20ns) is not going to be simple. You can invert the clock and get 10ns. 

 

What are you trying to achieve? Perhaps there is an alternative. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
591 Views

Thanks for the reply. 

 

My code decodes address,data,,cs and r/w from a processor bus. The data is written and read to a fifo based on fifo_read and fifo_write. Since the clock for the processor bus signals is the same as the fifo clock I just wanted a few ns delay between fifo_read/write (generated by a state machine) to make sure the fifo_clock is stable before the fifo_read/write happens. 

 

Without any phase difference between the closks the current design seems to give unpredictable read/writes results.
0 Kudos
Altera_Forum
Honored Contributor II
591 Views

 

--- Quote Start ---  

 

My code decodes address,data,,cs and r/w from a processor bus. The data is written and read to a fifo based on fifo_read and fifo_write. Since the clock for the processor bus signals is the same as the fifo clock I just wanted a few ns delay between fifo_read/write (generated by a state machine) to make sure the fifo_clock is stable before the fifo_read/write happens. 

 

Without any phase difference between the closks the current design seems to give unpredictable read/writes results. 

--- Quote End ---  

 

 

What you need to do is perform a timing analysis. 

 

Quartus has a tool called TimeQuest. You need to create a timing constraints file that describes the processor bus timing to the TimeQuest tool. The fitter will then try to meet those timing requirements. If it does not meet the timing requirements, then it will indicate which paths are failing. 

 

The Altera wiki has a nice guide written by Rysc: 

 

http://www.alterawiki.com/wiki/timequest 

 

Cheers, 

Dave
0 Kudos
Reply