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


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 Holger K. (holgerkraehe)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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ürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
1 lesenswert
nicht 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ürgen S. (engineer) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Na bitte. Kannst ja dann mal von den Erfahrungen mit dem Projekt 
berichten.

von Holger K. (holgerkraehe)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.