mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL - Altera DE1 Board PLL initialisieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Max M. (maxmicr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gerne auf meinem Altera DE1 Dev-Board eine PLL des Cyclone II 
als Clock-Signal verwenden.
Im MegaWizard Plugin Manager gibt es unter I/O die ALTPLL Funktion.

Wie genau muss ich diese einstellen, damit ich sowas in VHDL schreiben 
kann?
if(rising_edge(clk)) then
 ...
end if;

if(falling_edge(clk)) then
...
endif;

: Bearbeitet durch User
Autor: Donni D. (donnidonis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf beide Flanken wirst du nicht Triggern können. Du stellst halt die 
Frequenzen ein, fügst die Komponente hinzu und verbindest sie. Fertig.

Autor: Max M. (maxmicr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Donni D. schrieb:
> verbindest sie

Wie mache ich das denn?

Die generierte Entity sieht so aus:
ENTITY pll_conf IS
  PORT
  (
    areset    : IN STD_LOGIC  := '0';
    inclk0    : IN STD_LOGIC  := '0';
    c0    : OUT STD_LOGIC ;
    locked    : OUT STD_LOGIC 
  );
END pll_conf;

Ist nun c0 der Clock-Pin?

: Bearbeitet durch User
Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Max M. schrieb:
>
> ENTITY pll_conf IS
>   PORT
>   (
>     areset    : IN STD_LOGIC  := '0';
>     inclk0    : IN STD_LOGIC  := '0';
>     c0    : OUT STD_LOGIC ;
>     locked    : OUT STD_LOGIC
>   );
> END pll_conf;
> 
>
> Ist nun c0 der Clock-Pin?

Sieht ganz danach aus. Der locked Ausgang gibt dir Information über den 
Zustand der PLL, damit bleibt nur noch c0 als Clock Ausgang.

inclk0 ist der Eingangstakt aus dem die PLL c0 generiert und areset ist 
der Reset der PLL.

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
c0 ist der "neue" Clock-Port (steht so übrigens auch im Megawizard, wo 
Du ihn definiert hast). Wenn man in derselben PLL zusätzliche Clocks 
definiert, heissen die entsprechend c1 - c4.

Stabil sind die Clocks erst, wenn "locked" aktiv wird. Man sollte das 
Signal also geschickt mit dem Reset verheiraten, um einen stabilen 
Anlauf sicher zu stellen..

Autor: ElKo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Pll nutzt, und du brauchst nur einen Takt, kannst du auch 
einen zweiten Takt c1 erzeugen mit 180° Phaseshift. Dessen steigende 
Taktflanken kommen dann ungefähr bei der fallenden Flanke von c0.
Auch wenn das geht, würde ich davon abraten und lieber nochmal über das 
Design nachdenken. Sowas bringt meist jede Menge versteckten Ärger. 
Evtl. hilft ja auch ein doppelt so schneller Takt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.