ISE/Quartus VHDL Preprozessor Direktiven

Gast #4210784
Lesenswert?
• ▲
▼
Hallo Leute,

ich habe ein Projekt das sowohl auf einem Xilinx als auch auf einem 
Altera(Intel^^) FPGA umgesetzt werden soll. Je nach Projekt gibt es 
verschiedene Codeschnipsel, die benötigt werden und sich je nach Projekt 
etwas unterscheiden.
Gibt es in VHLD sowas wie Preprocessor Direktiven?
Oder als Alternative:
Lassen sich Codesegmente mit entsprechenden if-verzweigungen so 
schreiben, dass sie "keinen richtigen" Verdrahtungsweg haben und das 
Synthesetool das dann wegoptimiert?

Danke für die Hilfe
Gast #4212816
Lesenswert?
• ▲
▼
Die Kunst ist es, zu wissen, welcher Synthesizer gerade läuft. Mir 
selbst ist leider nichts bekannt geworden, dass es entsprechend 
vordefinierte Generics gab. Ich habe deswegen dem Synthesizer/Kompiler 
jeweils ein selbst definiertes generic in den jeweiligen Aufruf 
mitgegeben. Einige Beispiele s.u.

Leonardo Spectrum: elaborate ${DESIGN} -generics ${GENERICS};
Encounter: elaborate -parameter ${GENERICS} ${DESIGN};
Modelsim: vlog ....  +define+MODELSIM=1; (Hier gabs glaube ich auch noch 
ne andere Möglichkeit, die Dokumentation hilft weiter.)

Problem: Damit wird (insbesondere wenn du zw. Quartus und ISE 
unterscheidest) der Code extrem von der IDE abhängig. Ganz schlechter 
Programmierstiel, jeder Softwerker würde die Nase rümpfen. Also nur als 
Notlösung einsetzen!

Idee: Du baust zwei Beschreibungen, die ausschließlich die 
FPGA-spezifischen Komponenten für den jweiligen FPGA kapseln. Beide mit 
gleichem Namen. Bei der Synthese musst du im Synthesescript nur die 
entsprechende Datei wählen. Sollte kein Problem sein, da die 
Synthesescripte sowieso sehr unterschiedlich sind.

Antwort schreiben

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.

Formatierung
  • [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 einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.