VHDL - Altera DE1 Board PLL initialisieren

OP #5413322
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?
1
if(rising_edge(clk)) then
2
 ...
3
end if;
4

5
if(falling_edge(clk)) then
6
...
7
endif;
(Firma: www.elpra.de) Persönliche Seite #5413668
Lesenswert?

Max M. schrieb:
>
1
> ENTITY pll_conf IS
2
>   PORT
3
>   (
4
>     areset    : IN STD_LOGIC  := '0';
5
>     inclk0    : IN STD_LOGIC  := '0';
6
>     c0    : OUT STD_LOGIC ;
7
>     locked    : OUT STD_LOGIC
8
>   );
9
> END pll_conf;
10
>
>
> 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.
#5413760
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..
Gast #5416169
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

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