Forum: FPGA, VHDL & Co. Lattice Diamond Takt im Schaltplan


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.
von Stephan S. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

seit ich letztens eine kleine Präsentation bekommen habe, was FPGAs 
alles können, möchte ich mich jetzt auch mal in die ganze Materie 
einarbeiten. Also habe ich mir ein Lattice MachXO3L Starter Kit zugelegt 
und schon einfache, statische Logikschaltungen erfolgreich 
synthetisieren lassen. Wo ich nun scheitere, sind getaktete Logiken :-(. 
Momentan zeichne ich mir meine Logikschaltungen (Beispiel angehängt) und 
passe dann die Ein- und Ausgänge in der Spreadsheet-Ansicht an, was 
bisher auch funktioniert. Allerdings kann ich keinen Takt auf das Netz 
"Clock" legen, hier bekomme ich in der Output-Konsole nur die zwei 
Fehler
1
ERROR - Clock matches no clock nets in the design. 
2
ERROR - Clock matches no nets in the design.
Meine .lpf-Datei enthält folgende zwei Zeilen, um den Takt zu erzeugen:
1
FREQUENCY NET "Clock" 100.000000 MHz ;
2
USE PRIMARY PURE NET "Clock" QUADRANT_BL QUADRANT_BR QUADRANT_TL QUADRANT_TR ;

Irgendwo habe ich hier einen offensichtlichen Denkfehler, doch ich komme 
auch nach Lesen des "MachXO3sysCLOCKPLLDesignandUsageGuideEB95.pdf" 
einfach nicht weiter :-?.

Hat einer der Profis einen Tipp für mich?

MfG,
Stephan (der jetzt erstmal eine Runde frische Luft holen geht)

von Schlumpf (Gast)


Lesenswert?

Kann es sein, dass der XO3 nicht jeden Pin auf ein internes Taktnetz 
routen kann?

Dass also nur spezielle Pins als Takteingang verwendet werden können?

von Andi (Gast)


Lesenswert?

Stephan S. schrieb:
> Hat einer der Profis einen Tipp für mich?

Profis arbeiten eher nicht mit Schaltplaneingabe, ich weiss nicht mal wo 
man die in Diamond findet.

Ich denke du musst den Clock mit einem Pin verbinden, so wie bei A und 
B, und an diesen Pin extern einen Clock anlegen. Dieser Clock 
Eingangspin muss wahrscheinlich auch in der LPF Datei definiert sein.
Oder du verwendest den internen RC-Oszillator, da wird es sicher ein 
Schaltzeichen dafür geben. Den Ausgang dieses Oszillators verbindest du 
dann mit dem Clock Netz.

von Schlumpf (Gast)


Lesenswert?

Andi schrieb:
> Ich denke du musst den Clock mit einem Pin verbinden, so wie bei A und
> B,

Du hast Recht.. Da fehlt ja so ein "Fähnchen", was sonst bei allen 
anderen Pins dran ist.

von Stephan S. (Gast)


Lesenswert?

Hallo zusammen,

ich habe es jetzt so zum Laufen gebracht:
Das "Clock"-Netz oben als Eingang deklariert und in der 
Constraints-Datei Folgendes hinzugefügt:
1
LOCATE COMP  "clock" SITE "C8" ;
2
FREQUENCY PORT "clock" 12.000000 MHz ;
3
IOBUF PORT "clock" PULLMODE=NONE IO_TYPE=LVCMOS33 ;
Damit verwendet das Design den 12MHz-Quarz auf dem Board.
Schonmal ein Anfang, jetzt versuche ich mich an Sachen wie PLL und 
Taktteilung.

Frohe Ostern allerseits!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stephan S. schrieb:
> Schonmal ein Anfang,
> jetzt versuche ich mich an Sachen wie PLL und Taktteilung.
Wenn du gerade am Lernen bist, dann lies dir mal den Klassiker zum Thema 
Schaltplaneingabe durch:
Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"

Und dann beschaff dir ein Buch über VHDL oder von mir aus auch über 
Verilog. Du kannst dir es ja noch zu Ostern wünschen... ;-)

> Frohe Ostern allerseits!
Schließe mich den Glückwünschen an.

: Bearbeitet durch Moderator
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.