X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fsoc%2Fsimple%2Fcore.py;h=fb341b103bad73060357be27ef95d8221b09be4e;hb=6a8960189546bef1887422964049b97d0dc15d98;hp=3b195d240c925ab9cdebc1278a0a6eb43a9fc071;hpb=780f2980e8ec2687fb96e0dde88e3cf977118bf5;p=soc.git diff --git a/src/soc/simple/core.py b/src/soc/simple/core.py index 3b195d24..fb341b10 100644 --- a/src/soc/simple/core.py +++ b/src/soc/simple/core.py @@ -129,9 +129,6 @@ class NonProductionCore(Elaboratable): fu_bitdict = {} for i, funame in enumerate(fus.keys()): fu_bitdict[funame] = fu_enable[i] - # only run when allowed and when instruction is valid - can_run = Signal(reset_less=True) - comb += can_run.eq(self.ivalid_i & ~self.core_stopped_i) # enable the required Function Unit based on the opcode decode # note: this *only* works correctly for simple core when one and @@ -148,7 +145,7 @@ class NonProductionCore(Elaboratable): sync += counter.eq(counter - 1) comb += self.busy_o.eq(1) - with m.If(can_run): + with m.If(self.ivalid_i): # run only when valid with m.Switch(dec2.e.do.insn_type): # check for ATTN: halt if true with m.Case(MicrOp.OP_ATTN):