Generating clock delays

Jan 15, 2004 6 Replies

Generating clock delays



I am relatively new to VHDL so pleas excuse me if this is too easy a question. I need to be able to generate a time shifted version of the clk signal for control purposes in an Xilinx based project. There are several options that I have come across:


-Using the after ??n, but this dose not seem to generate any difference



-using the wait until statement though this is not supported by Xilinx for some reason



-using the dll (is this the most efficient manor?)



I would like someone to tell me which is the best and most controllable manor of generating a clock delay. Thanks


Yes, synthesis ignores after statements generally.

That's basically the same problem as with "after".

That's the way to go - provided that your FPGA implements such a circuitry. DLLs are there for exactly such purposes.

Another alternative is to feed the clock through some normal circuitry. But you can't describe this in VHDL. Instead, you need to create a hard-macro that does nothing more than propagating the signal from input to output. Depending on the timing information you receive in the data sheets, you can calculate how often the signal needs to be feed through some LUTs or other parts. Although this method is not the very best one, it is working fine in many cases.

Regards, Mario

The usual approach for such a problem is to have a PLL. There are chips, such as the Cypress CY7B9911 clock skew buffer, or the Cypress CY7B9930 multi frequency PLL clock buffer.

Rene

Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net

Go re-read the synthesis tool documentation, especially the part about which VHDL language features are supported and which ones aren't.

"after" isn't. Spend a moment or two thinking about WHY. Hint: Think Hardware.

See above.

That's one way of doing it.

Perhaps rather than delaying the clock in such a manner, you need a higher-frequency master clock that you can use to clock your whole design. A simple state machine or whatever can be used to create clock enables at the appropriate time.

-a

Peter, out of curiosity, how many of these DLLs are in there ?

1, 10, one per pin ?

Rene

Peter Alfke wrote:

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required