Forum: FPGA, VHDL & Co. Integration von externem VHDL in Quartus


von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich möchte folgenden Softcore in mein Projekt integrieren:
https://github.com/stnolting/neo430

Das Projekt hat eigentlich eine gute Doku.
Das Bild im Anhang zeigt den Teil, wie man die VHDL Files integrieren 
soll.

Da ich noch nicht viel Erfahrung mit Quartus habe bin ich nicht sicher, 
wie ich dies machen soll.

Ich habe unter Project->AddFiles->Libraries->Folder
den /rtl/core Folder ausgewählt. Das bild lib.png zeigt dies.

Leider erhalte ich beim Übersetzen folgender Fehler:
1
design library "neo430" does not contain primary unit "neo430_package"

Dies deswegen:
1
library neo430;
2
use neo430.neo430_package.all;

Dies steht in jeder VHDL Datei des projekt.
Doch wo muss ich was hinkopieren, damit es eine Library "neo430" gibt?

Danke!

von J. S. (engineer) Benutzerseite


Lesenswert?

Das ist ein lokales Verzeichnis eines definierten Projektes und keine 
Standard-Altera Lib. Das müsste also aus dem REP des NEO zu beziehen 
sein.

Generell muss/kann die Lib irgendwo hin und dann gelinkt werden. Es 
scheint ja nur ein VHDL package zu sein.

Habe mir das Projekt mal angesehen: Scheint recht interessant. Habe 
fürher ja auch einiges mit dem 430ern gemacht.

Das Problem solcher GUTHUB-Projekte ist eben meistens, dass sie sehr 
sehr schlecht und chaotisch dokumentiert sind.

von Holger K. (holgerkraehe)


Lesenswert?

Jürgen S. schrieb:
> Das müsste also aus dem REP des NEO zu beziehen
> sein.

Wie sieht denn so eine library aus?
bzw. wonach müsste ich suchen?

Handelt es sich dabei nicht um die files unter /rtl/core ?

Jürgen S. schrieb:
> Das Problem solcher GUTHUB-Projekte ist eben meistens, dass sie sehr
> sehr schlecht und chaotisch dokumentiert sind.

Scheint eine Bachelorarbeit gewesen zu sein.
Deshalb relativ gut dokumentiert. Sogar in Deutsch

https://opus.hs-offenburg.de/frontdoor/deliver/index/docId/2326/file/Bachelorarbeit_Artur_Werner.pdf

: Bearbeitet durch User
von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Ok habs gefunden.
War eigentlich easy.
Einfach die Dateien hinzufügen dann auf properties und dort bei library 
manuell neo430 eingeben.

Es handelt sich dabei um die dateien aus dem ordner rtl/core

Fertig!

von J. S. (engineer) Benutzerseite


Lesenswert?

Na bitte. Kannst ja dann mal von den Erfahrungen mit dem Projekt 
berichten.

von Holger K. (holgerkraehe)


Lesenswert?

Jürgen S. schrieb:
> Na bitte. Kannst ja dann mal von den Erfahrungen mit dem Projekt
> berichten.

Bin sehr zufrieden damit.
Macht was es soll.

von Strubi (Gast)


Lesenswert?

Moin Holger, willste nicht etwas ausführlicher sein?

Ich hatte den neo430 mal in die GHDL-Simulation gesteckt und 
festgestellt: ein paar Peripherie-Module wollen nicht, vielleicht wegen 
der eingestellten strikten VHDL93-Interpretation.
Die CPU ist nicht pipelined, aber simuliert recht flott. Code-Dichte ist 
bei den msp430 natürlich optimal. Leider fehlt ein Exception-Handling 
und Breakpoint-Support für ICE-Optionen, das ist bei TI aber auch nicht 
ganz so gut dokumentiert.

von Holger K. (holgerkraehe)


Lesenswert?

Strubi schrieb:
> Moin Holger, willste nicht etwas ausführlicher sein?
>
> Ich hatte den neo430 mal in die GHDL-Simulation gesteckt und
> festgestellt: ein paar Peripherie-Module wollen nicht, vielleicht wegen
> der eingestellten strikten VHDL93-Interpretation.
> Die CPU ist nicht pipelined, aber simuliert recht flott. Code-Dichte ist
> bei den msp430 natürlich optimal. Leider fehlt ein Exception-Handling
> und Breakpoint-Support für ICE-Optionen, das ist bei TI aber auch nicht
> ganz so gut dokumentiert.

Nun um ehrlich zu sein, so genau habe ich mir den Code nicht angeschaut.
Ich habe das ganze synthetisiert und mein eigenes C-Programm geladen.
Die LEDs blinken und der UART gibt aus wass ich programmiert habe.

Dies hat mir für den Anfang genügt.
Später brauche ich dann noch das Whishbone interface.

Einzige Einschränkung laut Doku: keine floatingpoint Zahlen benutzen.

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.