Forum: FPGA, VHDL & Co. Clock für Spartan 3 - wie?


von Tobi A. (Gast)


Lesenswert?

Hallo zusammen

ich hab mit mit ISE 8.1 einen timer zusammengezimemrt und will nun ganz 
simpel den clock (50MHz) der an Pin 124 meines XC3S200-144TQ geht damit 
runterteilen und mit dem COE output ne LED an und ausschalten.

Frage ist warum geht das nicht?

Erster Versuch war P124 einfach auf einen IO Marker zu klemmen und den 
direkt in den clock reinzufüttern - ging nicht.

Dann mal in der Artikelsammlung nachgelesen unter UCF files und das hier

NET CLOCK        LOC = AA12;
NET CLOCK        TNM_NET = "CLOCK_50";
TIMESPEC         TS_CLOCK_50 = PERIOD CLOCK_50 50 MHz HIGH 50 %;

gefunden

also - IO marker vom Clock eingang des counters abgerissen - die wire 
die in den clockeingang des "clock" genannt und dann mein ucf file so 
geschrieben

NET clock        LOC = P124;
NET clock        TNM_NET = "clock_50";
TIMESPEC         TS_clock_50 = PERIOD clock_50 50 MHz HIGH 50 %;
NET ledout     LOC = P97 ;

erfog - nix passiert led bleibt dunkel und compiler meckert 
"WARNING:DesignEntry:216 - Net "clock" is connected to load pins and/or 
I/O"

Wie mache ich das denn nun richtig?

Danke im Voraus

Tobi

von Gast (Gast)


Lesenswert?

TIMESPEC TS_clock_50 = PERIOD "clock_50" 20 ns HIGH 50 %;

evtl. die Anfuehrungszeichen?

von Gast (Gast)


Lesenswert?

TIMESPEC "TS_clock_50" = PERIOD "clock_50" 20 ns HIGH 50 %;

zweimal

von Gast (Gast)


Lesenswert?

NET "clock"        LOC = "P124";
NET "clock"        TNM_NET = "clock_50";
TIMESPEC "TS_clock_50" = PERIOD "clock_50" 50 MHz HIGH 50 %;

oder noch mehr ;-)

von Tobi A. (Gast)


Lesenswert?

???
verstehe ich grad nicht - sorry
abgesehen von dem hier

NET clock        LOC = P124;

bzw der zuweisung für die LED hab ich keine ahnung was die 2 anderen 
Zeilen machen bzw wofür sie gut sind.

Ich brauch einfach nur was was meine counter zählen lässt - timings und 
so sind mir ziemlich egal.

Tobi

von Falk B. (falk)


Lesenswert?

@ Tobi A. (Gast)

>Ich brauch einfach nur was was meine counter zählen lässt - timings und
>so sind mir ziemlich egal.

Dann musst du nur die Pins richtig zuweisen. Das hast du scheinbar 
nicht, denn dein Takt geht auch direkt auf IOs. Prüfe das nochmal GENAU!

MFG
Falk

von Gast (Gast)


Lesenswert?

Versuche die Anfuehrungszeichen zu setzen wie beschrieben.

Die erste Zeile weist deinen clock-Anschluss einem Pin zu (der clock 
muss natuerlich auch so heissen).

Die Zeile
TIMESPEC "TS_clock_50" = PERIOD "clock_50" 20 ns HIGH 50 %;
setzt einen Timing-Parameter, naemlich Periode von 20 ns (also 50 MHz) 
wobei davon jeweils die Haelfte high ist.

Die Zeile dazwischen wendet diesen Timing-Parameter auf deinen konkreten 
clock an.

von Tobi A. (Gast)


Angehängte Dateien:

Lesenswert?

Es geht immer noch nicht.

Ich hab den ganzen kram mal zusammengepackt und hochgeladen. Wäre cool 
wenn sich das wer mit Ahnung mal angucken könnte.

1000 Dank

 Tobi

von Tobi A. (Gast)


Lesenswert?

mir ging da grad im wahrsten sinne des wortes ein Lich auf..

kaum hatte ich es hochgeladen ging die LED an.

Kurz auf den Taschenrechner geguckt und festgestllt das ich zwar 
oderentlich

50E6/2^32 geteilt hatte und auf 11.irgendwas E-3 gekommen bin das dann 
aber als milisekunden gelsen habe.. na ja dann noch der andere macht es 
schlimmer.. weil das sind HZ.. das ding zählt anscheinend einfach nur zu 
langsam.

Versuche das grad mal zu fixen :-D

Tobi

von Tobi A. (Gast)


Lesenswert?

ok
ist geklärt.. war das timing.. schön blöd wenn man mal "eben" was in den 
taschenrechenr eintipp...


Tobi

von Rick Dangerus (Gast)


Lesenswert?

Eieiei. Lern VHDL oder verilog. Der schematic-Editor ist was für Leute, 
die auf Schmerz stehen.

Vielleicht machst Du einfach ein Bild von Deiner Zeichnung. Das wäre 
einfacher.

Rick

von Nat (Gast)


Lesenswert?

Wie wäre es wenn du einen Frequenzteiler schreibst? Ich habe das so 
gemacht.
Du nimmst die Frequenz, die du brauchst und teilst die 50 MHz durch 
diese Frequenz, es muss eine ganze Zahl rauskommen, dann teilst du die 
Zahl durch 2  und mit einem Zähler zählst hoch bis die Zahl erreicht 
ist. Dann definierst du ein Signal und sagst einfach wenn die Zahl 
erreicht ist Signal <= not Signal. Dieses Signal kannst du dann einfach 
an die LED führen. Die blinkt dann in dem Takt der gewünschten Frequenz.

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.