FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 01-15-2004, 11:31 AM
chuk
Guest
 
Posts: n/a
Default Generating clock delays

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
Reply With Quote
  #2 (permalink)  
Old 01-15-2004, 12:37 PM
Mario Trams
Guest
 
Posts: n/a
Default Re: Generating clock delays

chuk wrote:

> 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


Yes, synthesis ignores after statements generally.

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


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

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


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

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


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

Reply With Quote
  #3 (permalink)  
Old 01-15-2004, 02:33 PM
Rene Tschaggelar
Guest
 
Posts: n/a
Default Re: Generating clock delays

chuk wrote:
> 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



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

Reply With Quote
  #4 (permalink)  
Old 01-15-2004, 06:29 PM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Generating clock delays

The DLL in Virtex-II or Spartan3 (we call it DCM=digital clock manager)
is the way to go.
You feed it a continuously-running clock, and you generate outputs that
are delayed by a fraction of the clock period ( defined as integer
multiple of clock period divided by 256). Works very nicely!
Peter Alfke, Xilinx

chuk wrote:
>
> 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

Reply With Quote
  #5 (permalink)  
Old 01-15-2004, 10:13 PM
Andy Peters
Guest
 
Posts: n/a
Default Re: Generating clock delays

[email protected] (chuk) wrote in message news:<[email protected] com>...
> 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


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.

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


See above.

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


That's one way of doing it.

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


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
Reply With Quote
  #6 (permalink)  
Old 01-16-2004, 08:46 PM
Rene Tschaggelar
Guest
 
Posts: n/a
Default Re: Generating clock delays

Peter,
out of curiosity, how many of these DLLs are in there ?
1, 10, one per pin ?

Rene

Peter Alfke wrote:
> The DLL in Virtex-II or Spartan3 (we call it DCM=digital clock manager)
> is the way to go.
> You feed it a continuously-running clock, and you generate outputs that
> are delayed by a fraction of the clock period ( defined as integer
> multiple of clock period divided by 256). Works very nicely!
> Peter Alfke, Xilinx
>
> chuk wrote:
>
>>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


Reply With Quote
  #7 (permalink)  
Old 01-16-2004, 09:24 PM
Peter Alfke
Guest
 
Posts: n/a
Default Re: Generating clock delays

Between 4 and 12 DCMs in Virtex-II (depending on the chip size).
It's on page 2 of the data sheet. We are not shy in bragging about these
things. :-)
Peter Alfke
=============================
Rene Tschaggelar wrote:
>
> Peter,
> out of curiosity, how many of these DLLs are in there ?
> 1, 10, one per pin ?
>
> Rene
>
> Peter Alfke wrote:
> > The DLL in Virtex-II or Spartan3 (we call it DCM=digital clock manager)
> > is the way to go.
> > You feed it a continuously-running clock, and you generate outputs that
> > are delayed by a fraction of the clock period ( defined as integer
> > multiple of clock period divided by 256). Works very nicely!
> > Peter Alfke, Xilinx
> >
> > chuk wrote:
> >
> >>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

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
SystemVerilog: How to get wall clock time delays w/o knowledge ofmodule timescale units? mrfirmware Verilog 8 02-12-2008 10:27 PM
Generating CLK signal using PLI Rami Verilog 1 06-07-2005 06:02 AM
Query in generating clock batrashish Verilog 0 10-01-2004 01:19 PM


All times are GMT +1. The time now is 09:30 PM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved