FPGA-Takt verdoppeln

#418007
Lesenswert?

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?
Gast #418012
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren