Forum: FPGA, VHDL & Co. quartus block symbol files oder components?


von Gerald G. (gerald_g)


Angehängte Dateien:

Lesenswert?

Hallo,
mein "großes" Ziel ist es einen digitalen Lock-In zu "basteln".
Hierfür habe ich ein DE2-115 und eine HSMC AD (65MSPS)/DA (125MSPS) 
Karte. Das Prinzip ist im angehängten Bild zu sehen.
Ich möchte also einfach einen Sinus ausgeben, durch das DUT schicken und 
mit dem ADC wieder aufnehmen.
Hierbei kann man schön alle Funktionen einzeln schreiben und auch 
testen.
Ich bin noch am herumprobieren, bemerke aber jetzt schon dass es langsam 
unübersichtlich wird die ganzen VHDL files per "Component" 
einzuschließen.
In vielen Tutorials wird bei Quartus ein "Block Symbol File" pro VHDL 
Datei erstellt und dann einfach in einem Diagramm zusammengefügt.
Ist das bloß eine Spielerei oder macht es Sinn dieses Feature zu 
benutzen? Ich komme da nämlich ziemlich schnell durcheinander, da ich 
vorher die ganzen Pins im PIN-Planner eingegeben habe. Diese tauchen in 
diesem Blockfile aber nicht auf, und so bin ich schon in die ersten 
Fehler gerannt, da ich die PINs doppelt vergeben habe.
Oder baut man zum Beispiel immer nur eine Komponente in die vorherige 
ein und zieht das dann durch? Also am Beispiel erstelle ich zunächst ein 
VHDL File für den Tiefpassfilter. Danach erstelle ich einen 
Multiplizierer in dem ich den Tiefpassfilter als Component einschließe. 
Davor dann der ADC bei dem Der Multilplizierer  eingeschlossen wird 
usw...

Auch nett finde ich das kleine Programm von ALTERA, bei dem man sagen 
kann welche Komponenten man am Board nutzt, und es wird dann eine Liste 
angelegt mit den entsprechenden PINs und Namen. Leider habe ich keine 
Ahnung wie ich diese benutzen soll. Kann mir da vielleicht jemand 
helfen?
Mir kommt es ein wenig so vor als ob es 1000 Möglichkeiten gibt, z.B. 
Pins irgendwo anzuschließen.
Leider sind die ganzen Beispielprogramme die mitgeliefert wurden in 
Verilog geschrieben, denn normal lerne ich am besten aus Beispielen.
Hat jemand ein Beispiel, welches umfangreicher ist? Irgendwie findet man 
immer nur diese popeligen Beispiele wo es eine Entity, eine Architecture 
und dann noch eventuell ein Process vorkommen. Große Beispiele, damit 
man sieht wie es ein Profi macht, finde ich nicht :(

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


Lesenswert?

> Oder baut man zum Beispiel immer nur eine Komponente in die vorherige
> ein und zieht das dann durch?
Nein. Stellt dier eine Komponente wie ein IC vor: Dieses IC wird auf 
eine Basis-Leiterplatte gelötet und mit anderen ICs verbunden. Und diese 
Leiterplatte hat Anschlüsse nach aussen.

Die Leiterplatte ist die Top-Level Entity, die ICs sind Components, die 
Anschlüsse nach aussen sind die Ports.

Deine Vorgehensweise wird auch teilweise verwendet, wenn z.B. eine 
andere Leiterkarte mit einem Stecksockel auf die Basisleiterkarte 
gesteckt wird, oder wenn ein Hybrid-IC auf diese Basis-Leiterkarte 
aufgelötet wird. Solche Komponenten bestehen ihrerseits wieder aus 
Komponenten, die auf ihrer eigenen "Basisplatine" verdrahtet sind.

In deinem Fall nimmst du einen Top-Level, bindest dort als Komponente 
einen Tiefpass, einen Multiplizierer und den Taktgenerator ein, 
instatiierst dann den Tiefpass 4 mal und den Multiplizierer 2 mal (wobei 
man den auch einfach mit dem * Operator realisieren könnte) und dann 
verdrahtest du in diesem Top-Level alles und fertig.

So ähnlich mache ich das mit einer PWM-Einheit und einem Sinus-Generator 
dort:
http://www.lothar-miller.de/s9y/archives/57-Sinusausgabe-mit-PWM.html

von Gerald G. (gerald_g)


Lesenswert?

OK, danke dir.
Also alles ganz normal einbinden.
Deine Beispiele haben mir auch immer geholfen.
Wie weist du die Pins zu?

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.