Hallo, wir wollen bei uns eine Fehlererkennung testen und dazu muss ich einen absichtlichen Fehler einbauen. Weiß jemand eine nette Möglichkeit, wie man mit dem Synthesetool xst das so einbauen kann, dass bei der Synthese eine Warnung ausgegeben wird, nach der man zb das Logfile durchgreppen kann? Ich stell mir das so vor, dass ich das in den Code schreibe, es landet dann zb "MYWARNING: Incorrect SPI sending for testing implemented" im xflow.log und am Ende der Synthese greppe ich nach "MYWARNING". Ich will damit verhindern, dass ich vergesse, einen absichtlich eingebauten Fehler zu entfernen. lg flint
Du könntest deinen Code mit -- pragma translate_on/translate_off oder -- sysnthesis on/off umgeben. Das wird dann bei der Syntese ausgeklammert.
Ich baue solche Teststrukturen immer fest ein und zeige auch nach Aussen an, ob man im Testmode ist und in welchem! Gesteuert wird das Ganze über einen parametrierbaren Testvektor, der von aussen angelegt oder per CPU / seriell einprogrammiert wird. Die letztliche Software kriegt dann diesen Vektor auf Null, sodaß alles an Testoptionen wegsynthetisiert wird.
Dazu ist das Assert-Statement gedacht. Siehe XST User Guide S.393 http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/xst.pdf XST supports Assert statements. Assert statements enable you to detect undesirable conditions in VHDL designs, such as bad values for generics, constants, and generate conditions, or bad values for parameters in called functions. For any failed condition in an Assert statement, XST, according to the severity level, issues a warning message, or rejects the design and issues an error message. XST supports the Assert statement only with static condition. Tom
@Thomas Reinemann: Das schaut exakt nach dem aus, was ich suche. Danke!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.