Forum: FPGA, VHDL & Co. Tabelle -> VHDL Register Generator gesucht


von M. Н. (Gast)


Lesenswert?

Guten Tag zusammen,

ich bastele gerade privat an einem Projekt, bei dem ein FPGA (Altera 
MAX10) am Speicherbus eines Mikrocontrollers hängt. Der FPGA emuliert 
ein gewisses Set an Registern für den µC. da ich ungern dieses 
Registerset komplett in VHDL hardcoden würde, frage ich mich, ob es 
bereits ein freies Tool gibt, das zum Beipiel eine Excel Tabelle o.ä. 
mit Register- und Bitfeld-beschreibungen In VHDL gießen kann. Bevor ich 
das Ganze selbst zusammenstricke, dachte ich mir, ich frage mal nach. 
Beim Speicherbus bin ich recht flexibel. Es sollte ein Wishbone oder 
Avalon MM bzw. von der Komplexität her ähnlich sein, damit ich es ohne 
großen Overhead einbinden kann.

Vielen Dank

von Mitglied, Keulenschwinger und Lanzenträger (Gast)


Lesenswert?

M. H. schrieb:
> da ich ungern dieses
> Registerset komplett in VHDL hardcoden würde,

warum? Das ist doch flotter als register package geschrieben, als in 
Excel mit Konvertierungsscript drumherumgestrickt.

 Oder gleich mit Vivado Blockdesign oder anderen Herstellerspez. 
ClickKacki-Tools.

von FPGA zum Spass (Gast)


Lesenswert?

Ich machs andersrum: in VHDL beschreiben und dann in andere Formate 
konvertieren.

Das ist recht einfach:
- vhdl package
- ein Register pro Zeile.
- wenn eine Zeile mit "constant" anfängt, dann steckt ein Register drin
- alle Eigenschaften sind Komma getrennt.

-> Übersichtlich zu beschreiben und direkt in VHDL verfügbar.
Das Parsing sind 10 Zeilen in einer beliebigen Scriptsprache.

Damit kann man konvertieren in was man will, in dem Fall wohl .h für das 
µC.


Bei Bedarf hänge ich gerne ein Minibeispiel an, das mit Lua von VHDL 
nach Lua konvertiert.

von Strubi (Gast)


Lesenswert?

Moin,
wenn es um komplexere SoC geht, wo sich die Einarbeitung amortisiert:
- IP-XACT
- Mein Ansatz: netpp/gensoc

Gemeinhin: Obige Ansätze per XML-Gerätebeschreibung sind per XSLT besser 
wieder zu verwerten als eine Excel-Quelle, insbes. wegen der 
Versionsverwaltung.

Beispiel-setup für SoC auf Linux-Basis gibts hier als Docker-container:

https://hub.docker.com/r/hackfin/masocist/

von M. Н. (Gast)


Lesenswert?

FPGA zum Spass schrieb im Beitrag #5922864:
> Ich machs andersrum: in VHDL beschreiben und dann in andere Formate
> konvertieren.

Das klingt in der Tat gar nicht übel. Ist deutlich einfacher.
Dann kann ich daraus eine Tabelle und ein svd-File generieren.

Ich kam nur von dem Trip, weil wir auf der Arbeit ein Tool haben, was 
uns eben aus gewissen Tabellen APB etc. Slaves generieren kann.

von daniel__m (Gast)


Lesenswert?

Hi,

schau dir mal https://airhdl.com/index.jsp an. Ist zwar für AXILite, 
aber einen Blick wert.

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.