How to make a clock delay?

Do I use not gates to make a small clock delay, for example

module my_module (osc,a,b,c); input osc; output a,b,c; reg a, b, c; always @ (osc) begin a = osc; b = a; c = b; end

Will this give me delayed clocks?

Reply to
<anesserm>
Loading thread data ...

Only if you disable logic optomizations in your synthesis tool....which in most cases is generally 'not' what you want to do. PLL (Altera), DCM (Xilinx) or re-examining the design as to why you think you need a delayed clock is a better approach.

Kevin Jennings

Reply to
KJ

Is there a way to fool the optimizer?

Reply to
<anesserm>

Sometimes you can put a "keep" attribute on the intermediate signals. But this has to be a very bad way of doing things: your design will probably not work on a different device, may be sensitive to temperature, supply voltage, moon's phase, etc.

Reply to
David R Brooks

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.