[vhdl_group2] Re: trunk: Testsystem fertig

  • From: Johannes F Dorfner <johannes.dorfner@xxxxxxxx>
  • To: vhdl_group2@xxxxxxxxxxxxx
  • Date: Thu, 12 Feb 2009 13:47:46 +0100

Hi Johannes,

ich werd am WE die beiden Sachen verheiraten. Soll ich noch weitere Energie in die Tests für trunk/ stecken, oder wird der nicht mehr weiter gebraucht? Mir ist nämlich aufgefallen, dass noch einige opcodes (v.a. branch-Befehle) nicht implementiert sind. Müssen wir die noch einbauen oder reicht es, wenn am Ende die strukturelle Beschreibung die geforderten Features hat?

Viele Grüße,
Johannes


-------- Original Message  --------
Subject: [vhdl_group2] Re: [vhdl_group2] trunk: Testsystem fertig
From: Johannes Boch <johannes.boch@xxxxxxxx>
To: vhdl_group2@xxxxxxxxxxxxx
Date: 12.02.2009 10:35

Hallo Johannes,

im neuesten trunk2 sollte sich eine Datei namens "System.vhdl" befinden. Dort sind 
CPU, Mainbus und Speicher zusammengefügt.

Mein Vorschlag: Dort die "Init_Memory" einfügen, um das Testprogramm mittels "access_bus" 
in den Speicher zu schreiben. Nach Ablauf des Programmes wieder mittels "access_bus" den Speicher 
auslesen und mit dem Sollwert vergleichen.
Die entsprechenden Interface-Signale sind dort bereits vorhanden, du brauchst sie also 
nur noch "anzuzapfen".

Gruß,

Johannes

Original Message:

Hallo,
<br />
<br />etwas länger gedauert als geplant hat die Testschreiberei, dafür läuft <br />jetzt aber alles automatisch. Probiert bitte alle aus, ob bei euch die <br />Tests auch durchlaufen. Ich hoffe es ist kein Problem, dass das <br />Testskript in Perl geschrieben ist; falls doch, kann ich versuchen es <br />als Batch-Skript umzuschreiben.
<br />
<br />Kurzform:
<br />1. Per "perl runtests.pl" Tests durchlaufen lassen
<br />2. Per "perl runtests.pl clean" können alle Testergebnisdateien wieder <br />entfernt werden.
<br />
<br />
<br />Langform:
<br />"perl runtests.pl" sollte zu folgender Ausgabe bei euch führen:
<br />> Test name | Result | Comment <br />> ---------------------+------------+--------------------- <br />> tests/01-lw-add-sw | Success | <br />> tests/02-lw-sub-sw | Success | <br />> tests/03-bltz | Success | <br />> tests/04-logic | Success | <br /> <br />Es passiert folgendes: Für jede *.hex-Datei, die im tests/-Ordner ist, <br />werden das Programm selbst (*.hex) sowie das Soll-Speicherbild nach <br />Programmlauf (*.res für result) ins Stammverzeichnis kopiert und die <br />Simulation ausgeführt. Danach wird das tatsächliche Speicherabbild <br />(*.dump) per diff mit der *.res verglichen. Bei Gleichheit wird <br />"Success" ausgegeben, andernfalls wird das diff-Ergebnis als *.diff <br />abgespeichert. Damit man im Fehlerfall auch einen Anhaltspunkt hat, wird <br />das *.trace ebenfalls gesichert. Anschließend werden alle Dateien in den <br />tests-Ordner kopiert und tragen den Testnamen. Damit ihr vor dem <br />Herumschicken wieder Ordnung bekommt, könnt ihr mit
<br />
<br />   "perl runtest.pl clean"
<br />
<br />alle vom Testlauf erzeugten Dateien entfernen lassen, sodass wieder der <br />"Auslieferungszustand" hergestellt ist.
<br />
<br />Welche Funktionen momentan getestet werden:
<br />01: lw, add, sw, jr
<br />02: lw, sub, sw, jr
<br />03: lw, bltz, jr
<br />04: and, or, xor, nor (lw, sw natürlich auch)
<br />
<br />Könnt ihr mir ein wenig unter die Arme greifen und mir sagen, wo ich <br />anpacken muss, um mit dem Testsystem die strukturelle Beschreibung zu <br />testen?
<br />
<br />Viele Grüße,
<br />Johannes
<br />
<br />
<br />



Other related posts: