Hallo,
ich möchte in meinen VHDL Code gerne Assertions einbauen, die gewisse
Fehler vermeiden.
Hierbei geht es mir im speziellen um bestimmte Wertebereiche von
Generics, die sich gegenseitig Beeinflussen.
Z.B. Ich verwender 2 Generics:
1 | g_MaxCommAdr : integer := 1600;
|
2 | g_start_point : integer := 15;
|
Und jetzt möchte sicherstellen, das der Startpunkt NIEMALS über der
maximal möglichen Adresse liegt.
Um das prinzipielle Funktionieren der Asserts zu testen habe ich
folgendes in meinen Code geschrieben:
1 | [...]
|
2 | begin
|
3 |
|
4 | assert (false) report "Assertion violation." severity error; -- müsste immer passieren
|
5 | assert (true) report "Assertion violation." severity error; -- dürfte nie passieren
|
Allerdings synthetisiert und Implementiert er das File ohne
Fehlermeldungen durch, was mich sehr verdutzt.
Jetzt weiß ich natürlich, wenn diese Bedingungen schon NICHT korrekt mit
einem Fehler belegt werden, brauch ich einen Vergleich der Generics
garnicht erst in einen logischen Ausdruck zu packen, weil es damit dann
auch nicht funktionieren wird.
Irgendwelche Tipps ?