mikrocontroller.net

Forum: FPGA, VHDL & Co. Refactory für VHDL


Autor: Randy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

aus der Java Ecke kenne ich die Funktion einen Namen in einem Projekt 
automatisch verändern zu können, egal ob Funktionsname, Variable o.ä.
Gibts sowas auch für VHDL? Ich bin Anfänger auf dem Gebiet und bemerke 
oft erst später dass ich was anders strukturieren muß/will bzw. einfach 
einen Namen ungünstig gewählt habe.
Noch was anderes: Ich hab nach einigen Jahren Pause mein FPGA Board 
wieder rausgezogen, damals mit ISE 8.1 programmiert. Gibts einen Grund 
nicht einfach damit weiterzumachen sondern sich ein neueres ISE auf den 
Rechner zu holen?

Vielen Dank
Randy

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Randy schrieb:
> aus der Java Ecke kenne ich die Funktion einen Namen in einem Projekt
> automatisch verändern zu können, egal ob Funktionsname, Variable o.ä.
Das ist eine Hilfestellung der IDE für dich.

> Gibts sowas auch für VHDL?
Ja, das heißt aber anders: "Suchen und Ersetzen".. ;-)

> Noch was anderes: Ich hab nach einigen Jahren Pause mein FPGA Board
> wieder rausgezogen, damals mit ISE 8.1 programmiert. Gibts einen Grund
> nicht einfach damit weiterzumachen sondern sich ein neueres ISE auf den
> Rechner zu holen?
Solange dein FPGA unterstützt wird eigentlich nicht.
Allerdings hatte die 8er Version einen eher instabilen Ruf...

Autor: Jan R. (jan_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Randy,
ich habe das Thema der Refactorings mal intensiver untersucht. Dabei ist 
ein Eclipse-Framework entstanden, mit dem man Refactorings generisch 
definiert und diese dann auf konkrete Ziel-Metamodelle abbildet. Wenn 
dir der Begriff "Metamodell" jetzt nichts sagt, ist das auch nicht 
weiter schlimm. Ich kann dir aber sagen, dass dir geholfen werden kann. 
Mein Framework basiert auf dem Eclipse Modeling Framework, was derzeit 
als Quasistandard der MDSD zu verstehen ist. D.h., wenn du nichts gegen 
Eclipse als Entwicklungsumgebung einzuwenden hast, sind wir der Lösung 
deines Problems schon sehr viel näher gekommen. Mein Framework arbeitet 
auf der abstrakten Syntax einer Sprache (in deinem Fall VHDL). D.h., 
dass ein Metamodell davon benötigt wird. Ich stehe momentan im Kontakt 
mit jemandem, der ein Metamodell und die textuelle Syntax für Eclipse 
besitzt. Damit könntest du also in Eclipse mit VHDL deine Hardware 
beschreiben, mit Code-Completion, Syntax-Highlighting, Code-Navigation 
usw., und mein Framework anbinden, mit dem dir Refactorings zur 
Verfügung gestellt werden könnten. Ich denke, dass Details diese 
Diskussion hier sprengen würden. Wenn du möchtest, kannst du mich 
kontaktieren unter: jan.reimann at tu-dresden.de

Viele Grüße,
Jan

Autor: Alex H. (hoal) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
>> Gibts sowas auch für VHDL?
> Ja, das heißt aber anders: "Suchen und Ersetzen".. ;-)

Ich kenne Refactoring nur von Eclipse mit Java. Dort ist damit nicht nur 
"Suchen und Ersetzen" innerhalb einer Datei gemeint, sondern quer durch 
das ganze Projekt inkl. aller zugehörigen Dateien.

Aber wie Lothar schon schrieb: Das hat mit VHDL und Java nichts zu tun, 
sondern ist ein Feature des verwendeten Editors.

Autor: Claudio H. (bastelfinger)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Unterschied zu "Suchen & Ersetzen" besteht darin, dass beim 
Refactoring Operationen durchgeführt werden, die das Verhalten des 
Systems garantiert nicht verändern.

Autor: Randy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber wie Lothar schon schrieb: Das hat mit VHDL und Java nichts zu tun,
> sondern ist ein Feature des verwendeten Editors.

Der aber die Sprache verstehen muß. Schließlich muß der Such/Ersetz-Algo 
die Namespaces auseinanderhalten. Die Frage scheint aber beantwortet: 
Ist in keiner der üblichen VHDL-IDEs implementiert...

Randy

Autor: Jan R. (jan_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Randy...sagt dir meine Antwort nicht zu? In der von mir beschriebenen 
Art und Weise kannst du dir deine VHDL-IDE selbst zusammenbauen.

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat einer schon mal das veditor plugin verwendet? Ich selbst noch nicht, 
daher die Frage.
http://sourceforge.net/projects/veditor/

--
Marcus

Autor: Randy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> sagt dir meine Antwort nicht zu? In der von mir beschriebenen
> Art und Weise kannst du dir deine VHDL-IDE selbst zusammenbauen.

Das von dir beschriebene Teil hört sich nach genau dem an nach was ich 
gefragt habe. Klingt nur auch ein wenig nach gefrickel. Ich bin VHDL 
Anfänger, da bleibe ich für das bisschen coden lieber erstmal bei der 
Orginal-IDE. Das mit dem Refactory war gestern auch nur eine spontane 
Idee weil ichs von Java/Eclips kannte. Bin gerade dabei eine Entity in 
ein anderes Projekt zu integrieren. Ist eine ehemaliges Top-Modul, d.h. 
FPGA-Anschlusspins und die ganze Logik alles in einer Entity. Da heißen 
die Signale nach außen Pin1, Pin2, etc... was natürlich nicht mehr passt 
weil es
jetzt interne Signale sind. Das werd ich jetzt händisch umbenennen. Und 
zwischendrin oft synthetisieren damit ich nicht nach einer halben Stunde 
editieren einen Code habe der fies versteckt einen Fehler hat...

Vielen Dank an alle für die Tipps...

Randy

Autor: Mangomichl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Randy,
zum Refactoring kann ich den ich den Editor von Sigasi empfehlen. Ich 
habe damit ein Projekt von ca. 15 Files (incl. Testbenches) 
"umgestülpt", was mit search and replace so mühselig  gewesen wäre, dass 
sich vorher keiner dran getraut hatte.
Die wave-Files für die Simulation haben allerdings manuelle 
Nachbearbeitung verlangt.

http://stefan.endrullis.de/de/vhdl_editors.html  ist ein guter 
Startpunkt für die weitere Suche.

Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann ich mich Mangomichl nur anschließen: Der Editor Sigasi HDT 
erlaubt das zuverlässige Renaming von Variablen, Funktionen etc. Er 
basiert auf dem Eclipse-Framework und besitzt für VHDL eine Echtzeit 
Syntax- und Semantikkontrolle (wie man es von Java kennt).

Ich habe Sigasi HDT bis vor einem Jahr noch benutzt, denn da war er noch 
im Betastadium und kostenlos. Jetzt kostet eine Lizenz 300 Euro pro Jahr 
(glaube ich). Inwieweit er sich seitdem verbessert hat, kann ich nicht 
beurteilen. Für kommerzielle Produkte lohnt sich die Investition aber 
allemal, da man damit super produktiv arbeiten kann. Ich werde mir 
wahrscheinlich nächsten Monat eine Lizenz kaufen.

Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh ist doch ein bisschen teurer, nämlich 499 Euro/Jahr:
http://www.sigasi.com/pricing

Aber man kann sich immerhin eine Trial runterladen...

Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... und für Studenten und Professoren umsonst!

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.