Forum: FPGA, VHDL & Co. logische Verknüpfungen in Generate Anweisung


von Hans (Gast)


Lesenswert?

Hallo zusammen,

um unterschiedliche Kompilieroptionen zu ermöglichen nutze ich die 
Generate Anweisung. Hierzu habe ich einen String OptionSelect definiert:
1
constant OptionSelect : string := "OptionA";

so nutze ich das dann:
1
Option_a : if OptionSelect = "OptionA" generate
2
...
3
end generate;

Soweit ist alles klar. Nun möchte ich aber logische Verknüpfungen 
einführen. Beispielsweise sowas:
1
Option_a_or_b : if OptionSelect = "OptionA" or "OptionB" generate
2
...
3
end generate;

Das scheint nur nicht zu gehen (ungültige Anweisung). Gibts da eine 
Möglichkeit sowas zu implementieren? Ich komme grade nicht drauf...

Danke und Grüße

von Bitwurschtler (Gast)


Lesenswert?

wie ist or zweier strings definiert?

von Hans (Gast)


Lesenswert?

Bitwurschtler schrieb:
> wie ist or zweier strings definiert?

Danke für den Hinweis. Darauf hätte ich auch selber kommen können. 
Manchmal sieht man den Wald vor Bäumen nicht.

so muss es natürlich heißen:
1
Option_a_or_b : if (OptionSelect = "OptionA") or (OptionSelect = "OptionB")  generate
2
...
3
end generate;

von P. K. (pek)


Lesenswert?

Mindestens dies funktioniert:
1
constant IS_OPTION_A_OR_B  : std_logic := OPTION_A or OPTION_B;

Falls der generic nicht gleich flexibel ist, halt vorher eine Konstante 
definieren...

: Bearbeitet durch User
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.