Hallo Es geht um einen Xilinx Spartan II. Ich habe gehört, dass der intere Hardware hätte um den Eingangstakt (z.B. von einem Quarz) zu verdoppeln. Wie lässt sich das in VHDL verwenden ? thx
Das sieht in VHDL (ISE 6.3.03i) so aus: ------------------------------------------------ DLL 2X library ieee; use ieee.std_logic_1164.all; library unisim; use unisim.vcomponents.all; entity dll_standard is port ( CLKIN : in std_logic; RESET : in std_logic; CLK2X : out std_logic; CLKD16 : out std_logic; LOCKED : out std_logic ); end dll_standard; architecture structural of dll_standard is signal CLKIN_w : std_logic; signal CLK2X_dll : std_logic; signal CLK2X_g : std_logic; signal CLKD16_dll : std_logic; signal CLKD16_g : std_logic; begin clkpad : IBUFG port map ( I => CLKIN, O => CLKIN_w ); dll2x : CLKDLL port map ( CLKIN => CLKIN_w, CLKFB => CLK2X_g, RST => RESET, CLK0 => open, CLK90 => open, CLK180 => open, CLK270 => open, CLK2X => CLK2X_dll, CLKDV => CLKD16_dll, LOCKED=>LOCKED ); clk2xg : BUFG port map ( I => CLK2X_dll, O => CLK2X_g ); clkd16g : BUFG port map ( I => CLKD16_dll, O => CLKD16_g ); CLK2X <= CLK2X_g; CLKD16 <= CLKD16_g; end structural; ------------------------------------------------ Das Konstrukt wird dann ganz normal in die Entity eingebunden als component. Es handelt sich nicht um ein "reines" VHDL Konstrukt, sondern um Xilinx-spezifische Angaben. Der Core-Generator kann helfen, ist aber nicht unbedingt notwendig. Hilft das so?
<<Es handelt sich nicht um ein "reines" VHDL Konstrukt, sondern um <<Xilinx-spezifische Angaben. Du hast ein "k" vergessen. Das macht den ganzen Satz sum Schwachsinn ;)
Ups, Sorry. Ich hab das "nicht" ueberlesen... Also: Der Satz macht doch Sinn. :)
Hallo zusammen, schau mal unter "DCM - Digital Clock Manager" oder unter "CLKDLL - Clock Delay Lock Looped" nach...
DCM mit sehr flexibler Clockraten-Generierung sind erst ab Spartan 3 drin, im Spartan 2 können nur doppelte, vierfache, halbe, sechzehntel und ähnliche Frequenzen generiert werden. @Daniel R.: kann passieren, kein Problem!
Kann man die nicht per Hand teilen / gfs auch eine andere PLL führen? ... z.B. ver-n-fachen und durch m und durch 2 dividieren (Zähler), diese Clk dann raus auf einen Pin, zu einem anderen wieder rein und dort die nächste PLL drauf. -> 20MHz x 4 -> 80MHz / 7 -> 11,43 unsymmetrisch, / 2 -> 5,71 mit d.c. 50% -> raus, rain, x 4 -> 22,9 MHz Mit einer kaskadierten 2/3-Anordnung erhält man aus 10MHz z.B. 1,1111 Mhz oder mit einer einfach 8/5 -> 8MHz.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.