Ich baue mir gerade eine automatisierte testbench, und versuche die Resultate in eine Datei zu schreiben. Ich lege ein paar Inputs an eine kombinatorische Schaltung an, und warte auf die Output Flanke. Nun möchte ich die Durchlaufzeit protokollieren, weil händisch das mit dem Cursor in den Waveforms ausmessen ist etwas langweilig (vor allem für zigtausend Input Combinationen ;-).
Du kannst Werte vom Typ "Time" direkt in ein File schreiben, musst Du nicht nach String oder sonstwas konvertieren. Im Package textio ist eine Funktion WRITE, die für die unterschiedlichsten Datentypen definiert ist: Bit, Boolean, Bit_vector, Integer, String und eben auch Time. Delay_lenght ist als subtype von Time definiert, d.h. geht ohne Probleme.
Codebeispiel: > file ReportFile: text open write_mode is "Report.txt"; > variable Message : line; > > variable Time1, Time2: delay_length; > > ... > > write(Message, NOW, right, 10); -- NOW geht auch direkt in WRITE. > write(Message, Time2 - Time1, right, 10); > write(Message, Data1, right, 10); > write(Message, Data2, right, 10); > ... usw > writeline(ReportFile, Message);
Für das rausschieben von "Time" hab ich übrigens txt_util nicht benötigt.
Falls das bei Dir nicht funktioniert, schicke am besten Deinen Beispielcode, dann kann man nochmals draufschauen.