Praktikum Testfall verfügbar

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 »

Schick mir mal deinen Quellcode, dann schaue ich mir das mal an.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

jack_90
Mausschubser
Mausschubser
Beiträge: 75
Registriert: 29. Sep 2009 22:38
Wohnort: Darmstadt
Kontaktdaten:

Re: Praktikum Testfall verfügbar

Beitrag von jack_90 »

akmon hat geschrieben: Außerdem ist uns der Nutzen des clk Signals nicht völlig klar. Ist es nur für den synchronen Registerspeicher zuständig?
Damit das nicht untergeht :wink:
EiSE Tutor WS 12/13

daniel_b
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 15. Okt 2008 16:23

Re: Praktikum Testfall verfügbar

Beitrag von daniel_b »

Dennis hat geschrieben:
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:
Wir haben das gleiche Problem, die binären Werte sehen bei uns auch so aus. Es geht mehr darum, wie dieses "ignorieren" zu interpretieren ist, als "als 0 betrachten", oder als "wegschneiden"? Ersteres macht ja wahrscheinlich mehr Sinn, kann das jemand bestätigen?

Beispiel:

Binärer Wert | letzte 2 Bit als 0 betrachtet | letzte 2 bit ignoriert

00000001 |=> 0 | => 0 <- direkt beim start =>
00000101 |=> 4 | => 1
0000100X |=> 8 | => 2
00001101 |=> 12 | => 3
...
00011101 |=> 28 | => 7

Danach der Sprung wieder auf den ersten Wert, was laut Testcase ja zumindest ein erfolgreiches Addieren suggeriert.

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

Re: Praktikum Testfall verfügbar

Beitrag von davidda »

jack_90 hat geschrieben:
akmon hat geschrieben: Außerdem ist uns der Nutzen des clk Signals nicht völlig klar. Ist es nur für den synchronen Registerspeicher zuständig?
Damit das nicht untergeht :wink:
Da es sich ja um einen Ein-Takt-MIPS-Prozessor handelt, sollte das die einzige Verwendug sein.

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 »

davidda hat geschrieben:
jack_90 hat geschrieben:
akmon hat geschrieben: Außerdem ist uns der Nutzen des clk Signals nicht völlig klar. Ist es nur für den synchronen Registerspeicher zuständig?
Damit das nicht untergeht :wink:
Da es sich ja um einen Ein-Takt-MIPS-Prozessor handelt, sollte das die einzige Verwendug sein.
Ja.
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 »

daniel_b hat geschrieben: Es geht mehr darum, wie dieses "ignorieren" zu interpretieren ist, als "als 0 betrachten", oder als "wegschneiden"? Ersteres macht ja wahrscheinlich mehr Sinn, kann das jemand bestätigen?

Beispiel:

Binärer Wert | letzte 2 Bit als 0 betrachtet | letzte 2 bit ignoriert

00000001 |=> 0 | => 0 <- direkt beim start =>
00000101 |=> 4 | => 1
0000100X |=> 8 | => 2
00001101 |=> 12 | => 3
...
00011101 |=> 28 | => 7

Danach der Sprung wieder auf den ersten Wert, was laut Testcase ja zumindest ein erfolgreiches Addieren suggeriert.
Ja, die letzten beiden Bits als 0 interpretieren. Die Ausführungen hier sind korrekt. Der PC wird ja in jedem Takt um 4 erhöht, wegen der Wortadressierung.

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:Schick mir mal deinen Quellcode, dann schaue ich mir das mal an.

Gruss
Thorsten
Falls das noch jemanden hilft: Ich war heute bei ihm in der Sprechstunde und das Problem ist, dass kein branch funktioniert, wenn mem_writedata undefiniert ist. Ich hatte den Ausgang als Register und deswegen war es um einen Takt verzögert, folglich ist er schon beim 1. branch stehen geblieben. Falls man irgendwann ausversehen ein noch nicht gesetztes Register ausgibt, bleibt er auch beim nächsten branch stehen.

Benutzeravatar
salted
Mausschubser
Mausschubser
Beiträge: 84
Registriert: 28. Sep 2009 21:21

Re: Praktikum Testfall verfügbar

Beitrag von salted »

Schmackbolzen hat geschrieben:
Thorti hat geschrieben:Schick mir mal deinen Quellcode, dann schaue ich mir das mal an.

Gruss
Thorsten
Falls das noch jemanden hilft: Ich war heute bei ihm in der Sprechstunde und das Problem ist, dass kein branch funktioniert, wenn mem_writedata undefiniert ist. Ich hatte den Ausgang als Register und deswegen war es um einen Takt verzögert, folglich ist er schon beim 1. branch stehen geblieben. Falls man irgendwann ausversehen ein noch nicht gesetztes Register ausgibt, bleibt er auch beim nächsten branch stehen.
Vielen Dank für die Info, mir hat das gerade eben geholfen. :)

[-=thomas=-]
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 137
Registriert: 27. Apr 2009 10:47
Wohnort: Darmstadt

Re: Praktikum Testfall verfügbar

Beitrag von [-=thomas=-] »

also ich bekomme wenn ich im simulationsergebnis (radix = unsigned decimal) einstelle
folgende ENDLICHE reihenfolge für die LEDs

1, 5, X, 13, X, 21, 25, 28, X ...

laut MIPS-Quellcode kanns ja nur an add.s oder mul.s liegen oder?
Tutor:
WS 11/12: FGdI 3, FoC
SS 11: CMS

Ater
Windoof-User
Windoof-User
Beiträge: 41
Registriert: 16. Aug 2009 02:31

Re: Praktikum Testfall verfügbar

Beitrag von Ater »

Lass dir doch mal PC statt den LEDs ausgeben, dann sollte das ganze übersichtlicher sein ;)

Benutzeravatar
Natchen
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 11. Okt 2008 23:15

Re: Praktikum Testfall verfügbar

Beitrag von Natchen »

Ich habe folgendes Problem, beim Testcase, dass ich als 11. Befehl ein add.s statt eines mul.s erhalte.
Laut Testfall PDF sollte ich folgende Eingabe erhalten: 0x28: mul.s $f3, $f1, $f2 //Multiplikation in FPU
in meiner Simulation kriege ich allerdings als 11. Befehl folgende Instruction: 01000110000000100000100011000000 was ein add Befehl ist.
Dadurch kommen dann natürlich auch falsche Ergebnisse.
Ist das ein Fehler in der Memfile oder woran kann das liegen ?

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,

Schau dir nochmal den Ablauf an, der im Testfall-PDF steht. Ein add als 11. Befehl ist nicht falsch.

Gruss
Thorsten
Assistent zur Vorlesung TGDI im WS 11/12

[-=thomas=-]
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 137
Registriert: 27. Apr 2009 10:47
Wohnort: Darmstadt

Re: Praktikum Testfall verfügbar

Beitrag von [-=thomas=-] »

Ater hat geschrieben:Lass dir doch mal PC statt den LEDs ausgeben, dann sollte das ganze übersichtlicher sein ;)
wie genau mach ich das bzw. was muss ich auskommentieren in welcher testdatei?
Tutor:
WS 11/12: FGdI 3, FoC
SS 11: CMS

Benutzeravatar
Natchen
Windoof-User
Windoof-User
Beiträge: 30
Registriert: 11. Okt 2008 23:15

Re: Praktikum Testfall verfügbar

Beitrag von Natchen »

[-=thomas=-] hat geschrieben:
Ater hat geschrieben:Lass dir doch mal PC statt den LEDs ausgeben, dann sollte das ganze übersichtlicher sein ;)
wie genau mach ich das bzw. was muss ich auskommentieren in welcher testdatei?
einfach bei der simulation bei mymips den pc in die simulation reinziehen und die simulation neu starten. kannst dir auch die ganzen register der fpu reinziehen dann siehst du wo was passiert

[-=thomas=-]
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 137
Registriert: 27. Apr 2009 10:47
Wohnort: Darmstadt

Re: Praktikum Testfall verfügbar

Beitrag von [-=thomas=-] »

Natchen hat geschrieben:einfach bei der simulation bei mymips den pc in die simulation reinziehen und die simulation neu starten. kannst dir auch die ganzen register der fpu reinziehen dann siehst du wo was passiert
hä wie genau jetz?
Tutor:
WS 11/12: FGdI 3, FoC
SS 11: CMS

Antworten

Zurück zu „Archiv“