Praktikum Testfall verfügbar

hiendq
Neuling
Neuling
Beiträge: 4
Registriert: 14. Okt 2009 01:18

Re: Praktikum Testfall verfügbar

Beitrag von hiendq »

hi,
mit diesem Test läuft unser Program richtig, aber in dem Program haben wir das reset signal gar nicht benutzt. ich bin nicht klar was soll ich machen wenn reset = 1.
soll ich den output "mem_writedata" auf 0 setzen wenn reset = 1 is?

davidda
Windoof-User
Windoof-User
Beiträge: 31
Registriert: 19. Okt 2009 17:27

Re: Praktikum Testfall verfügbar

Beitrag von davidda »

Das Reset-Signal wird auch vom vorgegeben MIPS-Prozessor nur benutzt um den Program Counter zurückzusetzten. In sofern würde ich es einfach in Ruhe lassen, da es schlicht nicht benötigt wird.

Benutzeravatar
igor.a
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 143
Registriert: 28. Sep 2009 16:05

Re: Praktikum Testfall verfügbar

Beitrag von igor.a »

Ich habe da an das Zurücksetzen der FPU-Register gedacht...

akmon
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 20. Okt 2009 18:58

Re: Praktikum Testfall verfügbar

Beitrag von akmon »

Hi,

wir haben das Problem, dass wir die Testbench ausgeführt haben, aber nicht wirklich was sehen. Auf was müssen wir achten?
Wir sehen nur 3 Signale: led[7:0], clk, reset.

Außerdem ist uns der Nutzen des clk Signals nicht völlig klar. Ist es nur für den synchronen Registerspeicher zuständig?

Schmackbolzen
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 20. Mai 2007 14:08
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Schmackbolzen »

Kurze Frage bez. des Additionsergebnisses: Rechne ich so wie im Buch beschrieben, komme ich auf

0.10000000011.01000000000000000000
0.10000000010.01000000000000000000

Versteckte 1:
0.10000000011.101000000000000000000
0.10000000010.101000000000000000000

Shiften + Exponent anpassen
0.10000000011.101000000000000000000
0.10000000011.010100000000000000000

Ergbibt:
0.10000000011.111100000000000000000

1 verstecken:
->0.10000000011.11100000000000000000

In der Datei steht aber:
0.10000000100.01000000000000000000
so, als wenn man nicht den Exponent angepasst + Mantisse geshiftet hätte.

Wo liegt der Fehler?

Benutzeravatar
Dennis
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 29. Sep 2008 21:15

Re: Praktikum Testfall verfügbar

Beitrag von Dennis »

akmon hat geschrieben:Hi,

wir haben das Problem, dass wir die Testbench ausgeführt haben, aber nicht wirklich was sehen. Auf was müssen wir achten?
Wir sehen nur 3 Signale: led[7:0], clk, reset.

Außerdem ist uns der Nutzen des clk Signals nicht völlig klar. Ist es nur für den synchronen Registerspeicher zuständig?
Zum Thema "mehr Graphen sehen"-> http://www.fachschaft.informatik.tu-dar ... 65&t=18220

Das mit dem LED hab ich noch nicht so ganz raus:
Bei mir starten die LEDs schon mit 1 als Wert, bis auf einmal ein X kommt und die Sequenz prinzipiell genauso abläuft, aber er macht halt 5 -> 9 -> 13 -> X -> 17 -> 21 -> 25 -> 29 -> 01 -> ...
ignoriere ich das letzte bit, hieße es dann 2 oder 4 statt 5 (101 -> 10 oder 100)?
Vermute jetzt mal 4, aber ich will halt sicher gehen, es gibt hier ja ganz nützliche Punkte bei :wink:
...fragt stellvertretend für alle Freunde...

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Thorti »

@Schmackbolzen: hat du evtl. beim erwarteten Multiplikationsergebnis nachgeschaut? Denn deine Rechnung sieht gut aus.
Assistent zur Vorlesung TGDI im WS 11/12

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Thorti »

Dennis hat geschrieben:Das mit dem LED hab ich noch nicht so ganz raus:
Bei mir starten die LEDs schon mit 1 als Wert, bis auf einmal ein X kommt und die Sequenz prinzipiell genauso abläuft, aber er macht halt 5 -> 9 -> 13 -> X -> 17 -> 21 -> 25 -> 29 -> 01 -> ...
ignoriere ich das letzte bit, hieße es dann 2 oder 4 statt 5 (101 -> 10 oder 100)?
Die letzten beiden Bits der LEDs bitte ignorieren, nur die vorderen 6 Stellen den PC dar.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

Schmackbolzen
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 20. Mai 2007 14:08
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Schmackbolzen »

@Thorti:
In der memfiledata,dat steht

Code: Alles auswählen

40340000
40240000
40440000
40790000
So wie ich das lese wird die direkt in den ram geschrieben und die ersten beiden Zahlen sind die Operanden, die 3. das Additionsergebnis und die 4. das Multiplikationsergebnis. Ich komme bei der Addition aber immer auf 403E0000, das selbe was unsere ALU berechnet. Der Test schlägt natürlich fehl.

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Thorti »

Hallo nochmal,

ich hatte vorhin noch keinen Kaffee getrunken :?
Also: Deine Rechnung ist komplett richtig (und somit auch die Addition deiner ALU). Aber wer sagt denn, dass die 3. Zahl in der memfiledata.dat das Ergebnis nach der _ersten_ Addition ist? Schau dir nochmal den Ablauf des Programms in dem Testfall-pdf an.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

Schmackbolzen
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 20. Mai 2007 14:08
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Schmackbolzen »

Ich war mir nicht sicher, ob das gewollt war, aber natürlich kann es auch das x. Additionsergebnis sein. Wird dann nur schwerer auszuwerten im Simulator.

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Thorti »

Schmackbolzen hat geschrieben:Ich war mir nicht sicher, ob das gewollt war, aber natürlich kann es auch das x. Additionsergebnis sein. Wird dann nur schwerer auszuwerten im Simulator.
Warum? In dem Testfall-pdf steht doch der genaue Ablauf des Programms, wenn es erfolgreich durchläuft.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

Schmackbolzen
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 20. Mai 2007 14:08
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Schmackbolzen »

Das Problem ist z.B. gewesen, dass der Programmablauf ohne Grund mittendrin abbricht, wenn man mem_writedata am Anfang nicht auf 0 setzt. Ich weis nicht ob wir das hätten wissen müssen (meines Erachtens ist der Inhalt egal, bis man ein Ergebnis hat).

Dank deines Hinweises hab ich jetzt mal die Simulation weiter verfolgt und gesehen, dass er bis zur Multiplikation kommt. Da werd ich jetzt nochmal bisschen graben ;)

Thorti
BSc Spammer
BSc Spammer
Beiträge: 1047
Registriert: 1. Dez 2003 11:52
Wohnort: Frankfurt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Thorti »

Hallo,
Schmackbolzen hat geschrieben:Das Problem ist z.B. gewesen, dass der Programmablauf ohne Grund mittendrin abbricht, wenn man mem_writedata am Anfang nicht auf 0 setzt. Ich weis nicht ob wir das hätten wissen müssen (meines Erachtens ist der Inhalt egal, bis man ein Ergebnis hat).
Hm, das sollte eigentlich auch nicht nötig sein. Die Daten werden nur verarbeitet bei einem swc1-Befehl. Naja, Hauptsache es geht jetzt.
Dank deines Hinweises hab ich jetzt mal die Simulation weiter verfolgt und gesehen, dass er bis zur Multiplikation kommt. Da werd ich jetzt nochmal bisschen graben ;)
Viel Erfolg!

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

Schmackbolzen
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 20. Mai 2007 14:08
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von Schmackbolzen »

Thorti hat geschrieben:Hallo,
Hm, das sollte eigentlich auch nicht nötig sein. Die Daten werden nur verarbeitet bei einem swc1-Befehl. Naja, Hauptsache es geht jetzt.
Ich habe eben zur Sicherheit nochmal versucht das zu reproduzieren und es ist definitiv so. Wenn ich beim reset mem_writedata nicht auf 0 setze springt der Programmzähler von 0001100X -> 00XXXX0X -> XXXXXX0X. Hier verbleibt er. Sind insgesamt nur 9 Werte die er annimt. Evtl sollte man das nochmal weiterfolgen, nicht das andere auch noch das Problem haben und viel Zeit verlieren. Xilinx ist laut Updater aktuell.
Thorti hat geschrieben:Hallo,
Viel Erfolg!
Danke!

Antworten

Zurück zu „Archiv“