Quartus II altpll input pin bestimmen

Gast #3769680
Lesenswert?

Hallo

ich möchte mit dem Megawizard unter Quartus das Plug-In "altpll" in mein 
VHDL Projekt einbinden. An welcher Stelle kann ich der PLL einen Pin für 
den Eingangstakt zuweisen? in der erzeugten .ppf Datei, in meiner 
Top-Level .vhd Datei oder in der _altpll.v Datei der PLL? Ich benutze 
zur Zeit ein DE0-Nano Board, dort ist an Pin R8 das Quarz angeschlossen. 
Im Pin Planner erscheint der Pin incl0, aber wenn ich mit der PLL 
arbeiten möchte, erscheint die Fehlermeldung " Clock input port inclk[0] 
of PLL.... must be driven by a non-inverted input pin or another PLL. 
Input port INCLK[0] of node ... is not connnected"

Die PLL habe ich mit

component pllfuerschnellentakt
  PORT
  (
    inclk0    : IN STD_LOGIC  := '0';
    c0    : OUT STD_LOGIC
  );
end component;

und

pllfuerschnellentakt_inst: pllfuerschnellentakt Port Map (
  inclk0 => inclk0_sig,
  c0 => c0_sig);

in mein Top-Level eingefügt.

Hardwareseitig stehen mir vier PLLs zur Verfügung, ist dem Plug-In egal, 
welchen Pin (PLL1 bis PLL4) es zugewiesen bekommt?

Schonmal vielen Dank
#3769875
Lesenswert?

Wenn du das QSF eines Demoprojektes vom de0nano als Vorlage nimmst - was 
sehr empfehlenswert ist - dann heisst der Eingang CLOCK_50.

Also instanzierst du den PLL wiefolgt:
1
pllfuerschnellentakt_inst: pllfuerschnellentakt Port Map (
2
  inclk0 => CLOCK_50,
3
  c0 => c0_sig);

Quartus nimmt dann automatisch den passenden PLL der zu dem Eingang 
passt.

Cheers, Roger
Gast #3769999
Lesenswert?

Vielen Dank für die Unterstützung.

Es läuft und wenn ich das richtig verstanden habe, funktioniert das mit 
den Plug-ins so:
Ein- und Ausgänge ganz normal definieren, diese auf Signale 
weiterleiten, die Signale in meine Unterprogramme leiten (PLL etc ) und 
mit den von dort kommmenden Signalen dann arbeiten.


entity MeinProgramm is
   Port( CLOCK_50 : in STD_LOGIC); --Eingang definieren
end MeinProgramm;

architecture Behavioral of MeinProgramm is
signal CLOCK_50_Signal   : std_logic;     --Signal für den Eingang 
erzeugen

component pllfuerschnellentakt
  PORT (inclk0    : IN STD_LOGIC  := '0';
        c0    : OUT STD_LOGIC );
end component;  -- hier Ein- und Ausgänge des Plug-Ins definieren

begin
   pllfuerschnellentakt_inst: pllfuerschnellentakt Port Map (
   inclk0 => CLOCK_50_sig,
   c0 => c0_sig);
      -- Ein- und Ausgänge des Plug-Ins, mit den Signalen verbinden

   process ()
   begin
   -- tu irgendwas
   end process;

  CLOCK_50_sig <= CLOCK_50;  --Signal mit Eingang verbinden

end Behavioral;

Ich hoffe damit anderen helfen zu können

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