Forum: FPGA, VHDL & Co. Probleme mit clk


von Anfänger (Gast)


Lesenswert?

Hi,
ich habe folgendes Problem:

In meinem FPGA hab ich ein clk, welches ich in meinem vhdl-Code als in 
std_logic deklariert habe.
Diese habe ich dem Pin GClk0 zugewiesen, also dem internen Oszillator 
mit einer bestimmten Frequenz (49.12 Mhz).
Da Problem liegt darin, dass dieser clk nicht funktioniert, hab auch mal 
nur den clk auf ein Oszillaor ausgegeben und er wurde nicht angezeigt.

Ich verwende übrignes den Xilinx xc3s200.


Hoffe ihr könnt mir helfen.
Danke und Gruß

von scheff (Gast)


Lesenswert?

Nun kann es sein, dass ich bei Xilinx etwas eingerostet bin und/oder 
Deine Frage nicht richtig verstanden habe: Aber wo sollen die 49MHz 
herkommen? GCLK0 ist nur ein spezieller Takteingang, der von außen 
gefüttert werden muß. Mir wäre (bis jetzt) nicht bekannt, dass der 
Xilinx einen internen Oszillator hat (außer fürs Konfigurieren). Die 
DCMs brauchen immer einen externen Referenztakt.
Vielleicht kannst Du mal genauer beschreiben was Du versucht hast zu 
bauen?

von Christian R. (supachris)


Lesenswert?

Interner Oszillator? Wo hast du das denn her? Sowas gibts im Spartan 
nicht. GCLK0 Ist einer der globalen Takteingänge, da muss schon eine 
externe Taktquelle dran. Im einfachsten Fall ein Quarzoszillator.

von D. I. (Gast)


Lesenswert?

ich vermute er hat das Spartan-3 Board von Digilent und will den dort 
vorhandenen 50MHz Oszi verwenden.

von Anfänger (Gast)


Lesenswert?

Hi,
Danke schonmal für die Antworten.

Hier mal ein Auzug aus dem User Manual:
A crystal oscillator with an output frequency of 49,152MHz is connected 
to GCLK0 of the FPGA.
This oscillator can be disabled completely through its power supply by 
removing a jumper at
jumper block CON4 position 3-4.

Mein FPGA soll einzelnen Bits mit einem bestimmten Abstand ausgeben. Das 
soll bei jeder aufsteigenden Taktflange vom clk passieren (+ 
programmierte Verzögerung).

Hierzu dachte ich, dass ich einfach den GCLK0 nehmen kann als clk in 
meinem Code?

Gru0

von Christian R. (supachris)


Lesenswert?

Wenn der Oszillator auf dem Board vorhanden ist, der Jumper gesetzt und 
der richtige Anschluss in der UCF Datei eingetragen, dann sollte das 
schon klappen. Wenn nicht, ist evtl. der VHDL Code fehlerhaft und sollte 
mal simuliert werden.

von D. I. (Gast)


Lesenswert?

und der UCF sollte dann afaik nicht GCLK0 stehen sondern der Pin hat nen 
Namen guck mal aufs eval board

von Anfänger (Gast)


Lesenswert?

Also den Vhdl- Code hatte ich simuliert und das hat auch funktioniert.

Hab mein clk (in std_logic) einfach dem Pin der im Datenblatt für Gclk0 
steht zugeordnet. Hab die Xilinx ISE Desigin Suite. Da öffnet sich ja 
ein Bild mit den Pins, da hab ich den clk- Eingang einfach zugeordnet.

Muss ich das sonst noch irgendwo tun oder wo war der Fehler?

Dank und Gruß

von Name (Gast)


Lesenswert?

Hallo,

arbeite einfach mal das Anfängertutorial in der ISE durch, dann wird dir 
auch klar, was du da gerade machst und vor allem warum.

Gruß und einen schönen Sonntag

von Freelancer (Gast)


Lesenswert?

>Sowas gibts im Spartan nicht.
Einen Internen Clock kann man leicht mit FFs und LUTs aufbauen. Im S3E 
habe ich einen mit 350 MHz am rennen.

von Duke Scarring (Gast)


Lesenswert?

@Freelancer:
Das ist aber schon advanced und nichts für einen Anfänger. Außerdem 
dürfte es nicht ganz trivial werden, den Oszillator Spannungs- und 
Temperaturstabil zu bekommen.

Duke

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
Noch kein Account? Hier anmelden.