Geändert: 22. 8. 2007, 17:57
Völlig Banane
Juchu, es gibt noch mehr Schwachsinn. Da hat man doch einen Weg um den einen Bug herum gefunden, da fällt man gleich über den nächsten. Assertions sind Annahmen, die man in den Quellcode schreiben kann. In folgendem Beispiel nehme ich einfach mal an, das "synthesis" wahr ist. Wenn es doch falsch sein sollte wird die Meldung ausgegeben. Mit report-Anweisungen, die durch Assertions versteckt sind, kommt das Xst komischerweise klar, deshalb diese Konstruktion:
assert synthesis report "Packet routet to RaceConfig: config" severity note;
Ja hossa, auf einmal klappt das auch mit der Synthese. Natürlich nimmt man dann einen globalen Schalter, um das vor der Synthese zu verstecken:
constant synthesis: boolean := true;
Alles klar? Na denkste, das Xst hat die nächste Überraschung für uns bereit. Diesmal ist es zwar nur eine Warnung, aber die ist an Dämlichkeit auch kaum noch zu überbieten: WARNING:Xst:1748 - Inp_Route.vhdl line 98: VHDL Assertion Statement with non constant condition is ignored. Man beachte den hervorgehobenen Teil. Wie viel konstanter als eine Konstante soll die Assertion denn noch werden? Reicht ihnen die Banane für die kaputteste Logik-Simulation des Tages? Oder darf es noch etwas Mayo dazu sein?
Die Firma kommt natürlich aus Amiland, warum wundere ich mich eigentlich das die kaputte Logik haben?