Assertions werden ignoriert

Gast #5054911
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 ?
Moderator (Firma: Titel) Persönliche Seite #5054959
Incanus schrieb:
> Allerdings synthetisiert und Implementiert er das File ohne
> Fehlermeldungen durch
Wer ist "er"?
Sind irgendwelche Schalter so gesetzt, dass "er" gar keine Assertions 
bearbeitet?

Probier mal diesen Dreizeiler mit gerader Vektorlänge zu implementieren:
http://www.lothar-miller.de/s9y/categories/29-Ringoszillator
Bei mir kommen dann Fehler in Xilinx ISE und beim Lattice Synthesizer.
Gast #5056324
Lothar M. schrieb:
> Wer ist "er"?

"Er" ist Vivado 2016.3

> Sind irgendwelche Schalter so gesetzt, dass "er" gar keine Assertions
> bearbeitet?

Danke für den Tipp, es ist tatsächlich so, das man das separat 
aktivieren muss (was für mich bei assertions rein logisch garkeinen Sinn 
ergibt).
Es funktioniert jetzt (bzw. es es kommen jetzt die "gewünschten" 
Fehlermeldungen).
Vielen Dank.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.