Forum: FPGA, VHDL & Co. Virtes 5 DCM Frequenz kleiner 32MHz


von John (Gast)


Lesenswert?

Hallo,

gibt es eine Möglichkeit in einem Virtex 5 eine Frequnez kleiner 32MHz 
zu erzeugen? Ich habe eine 100MHz Frequenz. Diese würde ich gerne 
mittels DCM auf 20MHz reduzieren. Oder gibt es eine andere Methode? Der 
CoreGenerator sagt, dass das nicht geht.

von Klock Div (Gast)


Lesenswert?

Schau mal in DS202.pdf nach DCM: CLK0,CLKFX,.. sind nach
Unten hin bis 32MHz begrenzt, CLKDV geht aber bis 2MHz.
Du musst aber 2 DCMs verwenden, da das zuständige Attribut
"CLKDV_DIVIDE" nur bis 16.0 geht.

von Ulrich (Gast)


Lesenswert?

Warum ist das so, dass FPGAs neuerdings keine niedrigen Frequenzen mehr 
können?

von John (Gast)


Lesenswert?

Cooler Tipp Klock Div! Danke!!

Was Ulricht fragt würde mich auch interessieren

von Christian R. (supachris)


Lesenswert?

Naja, das FPGA kann auch quasi statisch arbeiten. Nur die PLL/DCM haben 
natürlich eingeschränkte Bereiche. Ist sicher nicht ganz einfach 
herzustellen, muss ja nach oben hin bis etliche hundert MHz schaffen, 
und bei den PLLs für die MGTs sogar mehrere GHz....

von Duke Scarring (Gast)


Lesenswert?

John schrieb:
> Ich habe eine 100MHz Frequenz. Diese würde ich gerne
> mittels DCM auf 20MHz reduzieren. Oder gibt es eine andere Methode?
Ich würde dafür ein Clock Enable verwenden:
1
-- tested:
2
signal clk_div_cnt : natural range 0 to 4;
3
signal ce_20       : std_logic;
4
...
5
process
6
begin
7
  wait until rising_edge( clk_100);
8
  if clk_div_cnt = 0 then
9
    clk_div_cnt <= 4;
10
    ce_20       <= '1';
11
  else
12
    clk_div_cnt <= clk_div_cnt - 1;
13
    ce_20       <= '0';
14
  end if;
15
end process;
16
17
18
process
19
begin
20
  wait until rising_edge( clk_100);
21
  if ce_20 = '1' then
22
    -- do all the slow stuff here
23
  end if;
24
end process;

Duke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.