Forum: FPGA, VHDL & Co. Framework für VHDL?


von Tim (Gast)


Lesenswert?

Hallo!

Ich arbeite (hobbymäßig) seit einiger Zeit mit einem FPGA von Altera(DE 
2-115). Ich verwende die Hardwarebeschreibungssprache VHDL und die 
Entwicklungsumgebung Quartus 2. Ich habe ein fertiges Framework zu 
Verfügung, indem ich Untermodule programmiert habe. Nun würde ich jedoch 
selber eigene Projekte realisieren, daher meine Frage:

Wie kann man eigene Projekte realisieren?
Benötige ich immer ein Framework und wenn ja, wie baue ich mein eigenes?
Was muss ich tun um beispielsweise einen GPIO-Pin auf High bzw. Low zu 
setzen? Benötige ich dafür ein extra Framework oder könnte man einfach 
einen Code schreiben,welcher
gp_io(3) <= '1';
beinhaltet?

Schönen Sonntagabend!

: Verschoben durch Moderator
von S. R. (svenska)


Lesenswert?

Tim schrieb:
> Was muss ich tun um beispielsweise einen GPIO-Pin
> auf High bzw. Low zu setzen?

Ich kann das nur für Xilinx beantworten, für Intel dürfte das aber 
ähnlich sein. Du brauchst ein Constraints-File, welches die einzelnen 
Pins des FPGA zu Signalen zusammenfasst, und du brauchst ein 
Top-Level-Modul.

Das Top-Level-Modul besteht aus einer Entity, die als Interface genau 
die im Constraints-File definierten Signale enthält, und deren 
Implementation enthält dann alle Submodule (oder deine Logik).

Dadrin reicht dann tatsächlich ein:
1
  leds <= "0011";
Um die vier LEDs passend zu setzen. Vorausgesetzt, es gibt ein 
Vier-Bit-Signal "leds" im Constraints-File. :-)

Wie du die einzelnen Prozess-Schritte von Quartus aufrufst, weiß ich 
nicht. Bei Xilinx ISE geht das mit relativ flachen Projektdateien, die 
man in einem Makefile erzeugen kann (und dann muss das Makefile nur die 
Einzelschritte aufrufen). Für Xilinx Vivado erzeugt man sich ein 
Tcl-Script, was man dann von Vivado ausführen lässt.

von Edi M. (Gast)


Lesenswert?

Altera hat doch tonnenweise Beispiele dafür. Gerade bei ihren 
Demo-Platinen.

von Markus F. (mfro)


Lesenswert?

Tim schrieb:
> Wie kann man eigene Projekte realisieren?
> Benötige ich immer ein Framework und wenn ja, wie baue ich mein eigenes?

Keine Ahnung, was Du unter "Framework" verstehst. Das einfachst mögliche 
Quartus-Projekt besteht jedenfalls nur aus ein paar Zeilen.

Bei Altera/Intel brauchst Du ein Constraints-File nur für TimeQuest 
(also für die Timing-Analyse). Im einfachsten Fall hat das nur eine 
Zeile:
1
create_clock -period $period -name clk [get_ports {CLK}]

Die Pin-Zuordnung zu den Signalen des Toplevel-Entity macht man per 
Assignment-Editor.

von Frank, der Framer (Gast)


Lesenswert?

Markus F. schrieb:
> Tim schrieb:
>> Wie kann man eigene Projekte realisieren?
>> Benötige ich immer ein Framework und wenn ja, wie baue ich mein eigenes?
>
> Keine Ahnung, was Du unter "Framework" verstehst.

Wahrscheinlich das selbe wie hier: 
https://www.researchgate.net/publication/317184398_SF3_A_Scalabe_and_Flexible_FPGA-Framework_for_Education_and_Rapid_Prototyping

da ist auch vom selben Board die Rede.

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.