VHDL: case problem Quartus 9.0 <-> ModelSim

Gast #1255342
Lesenswert?
• ▲
▼
Hallo,

ich habe ein VHDL Design in dem ich eine case Anweisung nutze. In 
QuartusII9.0 wird das Design ohne Probleme compiliert; im Altera 
ModelSim gibt es die Fehlermeldung: "Array type case expression must be
of a locally static subtype" und "Case choice must be a locally static
expression".

Ich denke, dass das Problem an der Verwendung der generics liegt, da der 
Compiler diesen Ausdruck zur Übersetzungszeit nicht auswerten kann.
Warum geht das aber im Quartus?
Hat jemand einen Vorschlag zur Lösung des Problems?
Das Design funktioniert so, aber ich würde es im rahmen eines größeren 
Projektes gerne in Modelsim simulieren...

Den Code habe ich als attachment angehängt.

Danke vorab!
Angehängte Dateien:
Gast #1255353
Lesenswert?
• ▲
▼
Hallo,

dein Problem dürfte ( evtl. unter anderem ) an deiner Variablen Nutzung 
von SHIFT_PATTERN im when Zweig liegen, zwar weist Du hier den Wert nur 
einmal zu, es würde Dich aber keiner aufhalten ( nicht richtig Modelsim 
tuts ) die Variable innerhalb der Simulation zu stimulieren...
Und da für den Simualtor nicht klar ist, dass das eigentlich keine 
Variable sein soll, setzts eine Fehlermeldung.

Versuchs doch mit nem constant an der Stelle...

Gruß

Andreas

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.