www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL / FPGA Entwicklungsprozess


Autor: Stefan K. (stefan82)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich beschäftige mich nun seit etwa 1 1/2 Jahren mit Entwicklungen auf 
Basis von FPGAs und VHDL. Leider habe ich immer noch keine wirklich 
durchdachte herangehensweise an derartige Projekte.

In herkömmlichen Programmiersprachen (ja, ich hab mich von diesem 
Programmierstil noch nicht vollständig getrennt) habe ich zunächst immer 
zumindest in Skizzenform Ablaufdiagramme und / oder 
Nassi-Schneidermann-Diagramme skizziert um mir selbst vor der 
eigentlichen Programmierung den Logikablauf des Programms zu 
verdeutlichen. Habe damit bisher immer recht effektiv (glaub ich 
zumindest) arbeiten können.

Für VHDL Konfigurationen empfinde ich diese Werkzeuge jedoch irgendwie 
als unzureichend, da ich beispielsweise noch keinen Weg gefunden habe 
Flankenereignisse oder verschiedene Nebenläufige Prozesse entsprechend 
darzustellen ...

Meine Frage für diesen Thread ist nun einfach:
Wie gehen erfahrenere Entwickler (also IHR! ;-) ) an neue FPGA Projekte 
heran? Wie strukturiert man eine solche Entwicklung aus mehreren 
Einzelmodulen und behält dabei sowohl funktionell als auch 
organisatorisch den Überblick?

Gruß,

Stefan

Autor: Ras Funk (rasfunk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde sagen, mit genau dem gleichen Ansatz wie bei Software: Teile 
und (Be-)Herrsche. Die Unterteilung in Entities (VHDL) reicht meines 
Erachtens schon aus. Für jede Entity wird festgelegt, wie sie sich zu 
verhalten hat, darauf aufbauend eine Testbench geschrieben, und dann 
implementiert.

Üblicherweise sind komplexere Module über einen Bus verbunden - die 
Bus-Interfaces sind klar definiert und sind nach ein bis zwei Ansätzen 
auch im Griff. Auf diesem Level ist dann natürlich auch ein Schematic 
sehr wichtig.

Einzelne Entities bestehen entweder aus recht einfacher Logik, 
Statemachines oder Pipelines (viel anderes hab ich bislang nicht 
erlebt).

Staemachines kann man mit herkömmlichen Werkzeugen sehr gut designen, 
implementieren und analysieren. Einfache Logik ist mit Modelsim 
eigentlich gut beherrschbar. Das größte Problem stellen aus meiner Sicht 
Pipelines dar, die oft von diversen Hazards heimgesucht werden. Da 
werden die "Großen" auch diverse Tools haben, ich muss mein Gehirn 
allerdings noch eigenhändig um das Problem wickeln.

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.