hab mal eine lösung in den branch origin/aresetmod gepushed:reset logic wurde verändert, das es sowohl zusätzlich ein reset signal generiert as mit der rising edge steurt wird, und dem anderen in halben cyclus voraus eilt,
dieses wird anstadt deim sreset vom günther im instruction mem verwendet. (hoffentlich ist der kritische pfad jetzt nicht intern in der reset logic :) lg martin Martin Elshuber wrote:
So wie ich das im modelsim lese, wird jetzt die 2te instruction übersprungen :(probier mal das program nop (p1) ; iword = 0x010000 nop (p2) ; iword = 0x020000 nop (p3) ; iword = 0x030000 lbl: bp lblwenn du dir das id register ansiehst steht dort: 0x010000, 0x010000, 0x030000grund:takt x (reset 1->0): status: pc=0, imem.addresreg=0, imem.sreset=1, new-pc=1; -- am ende des cycles folgt: takt x+1 : status: pc=1, imem.addresreg=0, imem.sreset=0, new-pc=1; -- npc wird in das pc-reg geschrieben (reset is bereits 0), npc wird nicht in das imem.addresreg geschrieben (sreset ist 1) takt x+2 : status: pc=2, imem.addresreg=2, imem.sreset=0, new-pc=1; -- npc wird in das pc-reg imem.addresreg geschrieben,geschrieben (sreset ist 0)es wird daher nie die 2te instruction gelesen lg martin Günther Wimpassinger wrote:Zitat von Martin Elshuber <e9825286@xxxxxxxxxxxxxxxxxxxx>:Hab gerade gesehen, daß du da was gändert hast? löst das das problem? lg martinZumindest im Quartus. Wir unterhalten uns heute Nachmittag, warum das so gelöst wurde.lg Günther