Forum: FPGA, VHDL & Co. Zugriff auf PLL


von Andi P. (jamaram90)


Lesenswert?

Hallo an alle,

ich habe nun schon im Forum gesucht aber zu meinem Problem leider nichts 
gefunden. Ich hoffe es kann mir trotzdem jemand weiterhelfen.

Ich habe einen FPGA Spartan3 und möchte gern auf den PLL bzw. besser 
gesagt DLL zugreifen. Das Datenblatt habe ich mir nun schon zur genüge 
durchgelesen. Mir ist aber einfach nicht so recht klar wie ich nun aber 
nun drauf zugreife.
Ich muss ja das Package des FPGA am Anfang einbinden, damit der compiler 
weiss welchen FPGA ich nutze. Wie aber genau mache ich das bzw. welches 
Package binde ich da ein? Welche library nutze ich da? Es gibt da ja von 
Xilinx spezifisch eine Bib. . Ich nutze Xilinx und VHDL.
Hätte da jemand eventuell ein Beispiel oder könnte mir da weiterhelfen?

Vielen Dank

Grüße

von Christian R. (supachris)


Lesenswert?

Hm, deine Wortwahl klingt, als würdest du VHDL mit einer 
Programmiersprache verwechseln. Wenn du sowas wie die DLL verwenden 
möchtest, musst du die entsprechenden "Bausteine" instanziieren. Dafür 
gibts in der ISE Vorlagen bei Edit -> Language Templates -> VHDL -> 
Device Primitive Instantiation -> Spartan 3 -> Clock Components ... da 
kommst du dann irgendwann zu DCM und da siehst du so eine Vorlage für 
eine Instanz des DCM. Welche Parameter du dann als Generic einstellen 
musst, sagt dir der User Guide des FPGA.

von Sigi (Gast)


Lesenswert?

Schau mal bei Xilinx nach "Libraries Guide for HDL Designs",
z.B. "Spartan-3 Libraries Guide for HDL Designs", UG607.pdf).
Da werden zu jeder Komponente alle Signale und Attribute
ausführlich beschrieben und ein VHDL/Verilog-Codeschnippsel
zum Einbinden ins eigene Design vorgegeben.

Bei DCMs würde ich allerdings erstmal wie von Christian R.
geschrieben den Core-Generator benutzen. Denn neben DCM
brauchst du noch ClockInput- bzw. Clock-Buffer. Die werden
passend und korrekt verdrahtet vom CoreGenerator erzeugt.

von berndl (Gast)


Lesenswert?

Sigi schrieb:
> Bei DCMs würde ich allerdings erstmal wie von Christian R.
> geschrieben den Core-Generator benutzen.

oehm, Chris hat nicht den Weg mit dem Core-Generator beschrieben, 
sondern den Weg zu Fuss: Ein VHDL Template in eine .vhd kopieren.

Der Core-Generator waere eine weitere Moeglichkeit (aber ich nehme 
lieber die Templates und gucke mir das dann im Datasheet nochmal genauer 
an).

von Cheffe (Gast)


Lesenswert?

Christian R. schrieb:
> Hm, deine Wortwahl klingt, als würdest du VHDL mit einer
> Programmiersprache verwechseln.
Und Deine Wortwahl klingt, als hieltest Du VHDL nicht für eine 
Programmiersprache, was sie aber definitiv ist, siehe Wikipedia. Und 
dies sowohl im Umfeld der Synthese, als auch der Simulation.

Zum Thema:

Je nach Xilinx ISE kann man die PLLs mit dem CoreGen generieren. Bei dem 
Spartan 3 und 3E würde ich es aber nicht tun, weil die moderneren ISEs 
da leider MIST bauen!

von Fpgakuechle K. (Gast)


Lesenswert?

A. P. schrieb:

> Ich nutze Xilinx und VHDL.
> Hätte da jemand eventuell ein Beispiel oder könnte mir da weiterhelfen?

Beispiel findet sich unter den wiki-Artikel hier unter:
http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA#Takt

Dort wird der "Architecture Wizard" zur Generierung der nötigen Dateien 
genutzt, der screenshoot zeigt welche Häckchen zu setzten sind. Verweise 
auf die entsprechenden Manuals finden sich auch.

MfG,

von Christian R. (supachris)


Lesenswert?

Cheffe schrieb:
> Und Deine Wortwahl klingt, als hieltest Du VHDL nicht für eine
> Programmiersprache, was sie aber definitiv ist, siehe Wikipedia. Und
> dies sowohl im Umfeld der Synthese, als auch der Simulation.

Nun ja, ich halte VHDL für das was die 3 Buchstaben HDL bezeichnen: Eine 
Hardware-Beschreibungs-Sprache. Steht auch bei Wiki:
1
"Very High Speed Integrated Circuit Hardware Description Language (auch VHSIC Hardware Description Language), kurz VHDL, ist eine Hardwarebeschreibungssprache, vergleichbar mit einer Programmiersprache, mit der es möglich ist, digitale Systeme textbasiert zu beschreiben."
Damit lässt sich Hardware beschreiben, ähnlich wie ein Schaltplan, nur 
in Text-Form. Natürlich lassen sich auch ähnliche Sachen wie mit z.B. C 
machen, aber 95% von VHDL sind nicht synthetisierbar. Wenn er sowas 
schreibt:

A. P. schrieb:
> Mir ist aber einfach nicht so recht klar wie ich nun aber
> nun drauf zugreife.

A. P. schrieb:
> Ich muss ja das Package des FPGA am Anfang einbinden, damit der compiler
> weiss welchen FPGA ich nutze

Dann bin ich überzeugt, dass er aus der Software-Ecke kommmt und noch 
viel lernen muss. Als nächsten kommen dann Fragen nach Variablen und 
for-Schleifen. Als Quereinsteiger kommt man da schnell ins Schleudern.

: Bearbeitet durch User
von Fpgakuechle K. (Gast)


Lesenswert?

Cheffe schrieb:
> Christian R. schrieb:
>> Hm, deine Wortwahl klingt, als würdest du VHDL mit einer
>> Programmiersprache verwechseln.
> Und Deine Wortwahl klingt, als hieltest Du VHDL nicht für eine
> Programmiersprache, was sie aber definitiv ist, siehe Wikipedia. Und
> dies sowohl im Umfeld der Synthese, als auch der Simulation.

Grad gecheckt: in der en, de und ru Wikipedia steht jeweils das VHDL 
eine Hardwarebschreibungssprache ist und nicht das sie "definitiv eine 
Programmiersprache sei".

MfG,

von Andi P. (jamaram90)


Lesenswert?

Vielen Dank für die zahlreichen Antworten.
Es hat mir sehr weitergeholfen. :-)

Grüße

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


Lesenswert?

Cheffe schrieb:
> Christian R. schrieb:
>> Hm, deine Wortwahl klingt, als würdest du VHDL mit einer
>> Programmiersprache verwechseln.
> Und Deine Wortwahl klingt, als hieltest Du VHDL nicht für eine
> Programmiersprache, was sie aber definitiv ist
Warum heißt VHDL dann VHDL und nicht VHPL?

Aber wenn der Cheffe das sagt...

von berndl (Gast)


Lesenswert?

Lothar Miller schrieb:
> Warum heißt VHDL dann VHDL und nicht VHPL?
>
> Aber wenn der Cheffe das sagt...

:o)))))))

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.