Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Questions about FPGA clocking

Status
Not open for further replies.

Maddin

Member level 5
Member level 5
Joined
Sep 26, 2001
Messages
94
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Europe
Activity points
842
Hi all,

I'm sure not to be the first guy running into this problem, so I need some advice from all the guru's out there :wink:

My concrete question is about clocking signals on FPGAs. I know that there are (a very limited number of) dedicated clock inputs available and that those should be used first. But what happens if I have some further clocks that should be used for a sub-circuit in the FPGA? May I use any other pin configured as input pin?
How should low frequency clocks be dealt with? Should they be generally synchronized to the other higher frequency clocks?
Finally, there is just one further question: if I downscale a high-frequency clock to some lower frequency by using a simple counter (MSB of the counter is the "output" clock) and feed some other logic with this signal, I can find in the report window this signal as addditional clock signal. Since gated clocks isn't a good practice, how are problems like this dealt with??
Thanks for any good advice,
Maddin
 

mami_hacky

Full Member level 6
Full Member level 6
Joined
Mar 28, 2002
Messages
337
Helped
18
Reputation
36
Reaction score
11
Trophy points
1,298
Location
Some where
Activity points
3,428
what is the purpose of dll in fpgas

Dear friend,
Can I have more than eight clocks on a FPGA which has only 8 dedicated clock pins? The answer is yes, Obviously with one important condition : there should not be a heavy load on your clock signal, or you should do some clock synchronization for transferring data from this clock domain to chip's main clock domains.
It is a very bad idea to use a counter for making lower frequency clock pulses from a high freq. clock. Instead use Clock DLL ( Or DCM in V2 designs. ) The clock DLL will easily make a freq. devided, phase compensated version of your main clock for use in your logic.
 

tlp71@hotmail.com

Full Member level 4
Full Member level 4
Joined
May 14, 2002
Messages
220
Helped
6
Reputation
12
Reaction score
2
Trophy points
1,298
Activity points
1,596
fpga clocking

i think that is a milestone the frequency of your clock, in new devices if you use a low clock there is no problem you can have how many clock you like.the clock input pins are dedicated to drive the longline to have skew zero to all flip flops,but in a FPGA you can also use all pins to clock.
bye.
 

aalbu

Member level 2
Member level 2
Joined
Dec 13, 2001
Messages
42
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
282
external dedicated clocks for fpga

As mami_hacky said the best solution is to use PLL, DLL or DCM. If you don’t have these precious resources, you can also use counters, but the output should be used as clock enable for the rest of FFs that you want to clock with a lower frequency. It’s a good design practice not to load very heavy this CE signal, otherwise you might experience unpleasant issues. Sometimes you will need to replicate the CE signal in order to have an acceptable loading. Don’t forget to declare all these paths as multicyles.
 

Jayson

Full Member level 4
Full Member level 4
Joined
Oct 8, 2001
Messages
234
Helped
14
Reputation
28
Reaction score
5
Trophy points
1,298
Location
Brazil
Activity points
2,394
dll fpga

could someone simply add buffers at the clock to help with the loading?
 

Maddin

Member level 5
Member level 5
Joined
Sep 26, 2001
Messages
94
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Europe
Activity points
842
clock_dedicated_route ucf example

Hi all,

thanks for your good and fast replies. I'm using the Spartan II (2S200) which has some DLLs, all dedicated input clock-pins are already consumed and the required frequency for my application is much lower (lower than the highest division ratio available from the DLL) than the lowest frequency of the other clocks.
Anyway, it's fine if I can use the MSB output as CE. Since I'm quite unexperienced with I$E 5.1i, could someone (maybe aalbu?) please explain me how to declare this path as a multicycle path??
Thanks for all your help,
Maddin
 

vomit

Full Member level 2
Full Member level 2
Joined
Jun 14, 2002
Messages
148
Helped
14
Reputation
28
Reaction score
4
Trophy points
1,298
Activity points
1,527
fpga synchronize to lower clock

Hi Maddin,

it's not only the frequency that matters: if the clock skew of the non-dedicated clock net exceeds the routing delays between flipflops clocked on that clock, you also get big problems (new data arriving before the old clock edge was processed).

So you can either route the non-dedicated pin to dedicated clock buffers (BUFG) if you still have some spare ones. This way you only lose some propagation delay between external clock pin and internal global clock net. The dedicated clock pins have much lower delay, obviously.

Alternatively, you can route the clock using standard nets (non-dedicated clock net) but then you should use a MAXSKEW constraint (look it up in the Xilinx Libraries Guide) to avoid trouble.
 

snake

Member level 4
Member level 4
Joined
Jan 22, 2003
Messages
79
Helped
3
Reputation
6
Reaction score
0
Trophy points
1,286
Activity points
639
counter using non clock net

hi,
you can use any pin to clock your circuit, the warning is because you have more delay in your signal when you use any combinatory logic to control your signal,
to sincronise your clocks you can use any pll circuit on altera fpgas and an dll on xilinx fpgas
good look and sorry about my poor enghish
 

Maddin

Member level 5
Member level 5
Joined
Sep 26, 2001
Messages
94
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Europe
Activity points
842
fpga clocking

Hi,

thanks anybody who has contributed to my inquiry. I got my design to run and now it't time to switch from drinking coffee to some other drink :lol:

Short comment to snake:
It doesn't matter how good anybodys ability to communicate in english is as long we all can imagine what "the guy on the other end" wants to tell us (I think this is true for anybody else out there too). However, your skills are, as I can see, absolutely ok.

Maddin
 

RTL2GDSII

Member level 1
Member level 1
Joined
Apr 20, 2002
Messages
35
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
170
how to use maxskew constraint

I have a low end FPGA which has no PLL or DLL.
Is it possible just to use digital gate to implement DLL function ?
Is DLL all digital circuit ?
 

steshenko

Member level 3
Member level 3
Joined
May 31, 2002
Messages
62
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,288
Activity points
392
dcm dll low freq clock sync

2 rtl2gdsii
1. There are several "pseudohobbist" sircuits on two flip-flops for doubling clock - but IMHO it no good way - not stable work in some condition...

2. DLL is not full digital circuits - it work like PLL
 

xfpgas

Junior Member level 2
Junior Member level 2
Joined
Apr 10, 2003
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
350
fpga non clock pin

I am assuming you have one external clock coming in, and you are dividing that clock to get slow clocks. As others have mentioned, you should always have only one clock. And instead of the slow clocks, use the CE.

If DLLs don't do the job for your clock division, you can use SRL16E to do that job. THese are very neat. Every LUT in Virtex/SpartanII can be configured as a SRL16E primitive. And you can efficiently implement your clock division using SRL16E instead of counters.

1 SRL16E - 1 LUT - you can get clk/16.

You can look at this page for more information on SRL16E here.
**broken link removed**

Hope this helps,
Kode
 

Maddin

Member level 5
Member level 5
Joined
Sep 26, 2001
Messages
94
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Europe
Activity points
842
Kode, thank you very much for the useful hint.
regards,
Maddin
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top