Seite 1 von 1

Beispielaufgabe 3d)

Verfasst: 13. Feb 2017 16:02
von Tobias Stöckert
Hallo,

ich versuche gerade die Aufgabe mit dem Zähler bei dem die Methoden gleichzeitig aufgerufen werden sollen mit CRegs zu lösen, aber glaube, dass ich das noch nicht so verstanden habe. Der Compiler sagt mir, dass alle Methoden bei paralleler Ausführung im Konflikt stehen. Ich habe folgenden Code geschrieben:


method Action reset();
ctr[0] <= 0;
endmethod

method Action up(Int#(32) v);
let val = ctr[1];
ctr[1] <= val + v;
endmethod

method Action down(Int#(32) v);
let val = ctr[2];
ctr[2] <= val - v;
endmethod

method Int#(32) getCounter();
let val = ctr[3];
return val;
endmethod



Ich habe CRegs so verstanden, dass es problemlos möglich ist gleichzeitig auf verschiedene Ports zuzugreifen, aber anscheinend geht das doch nicht so einfach.

Freundliche Grüße
Tobias

Re: Beispielaufgabe 3d)

Verfasst: 13. Feb 2017 16:04
von JHofmann
Hallo,

entspricht ihr Problem vielleicht dem in diesem Thread viewtopic.php?f=193&t=35520

Viele Grüße,

Re: Beispielaufgabe 3d)

Verfasst: 13. Feb 2017 16:07
von Tobias Stöckert
Hallo,

vielen Dank, das habe ich wohl einfach übersehen :oops: