From: Luke Kenneth Casson Leighton Date: Tue, 16 Jun 2020 18:12:01 +0000 (+0100) Subject: hack LD/ST ad/st together, allow PC to be set externally X-Git-Tag: div_pipeline~357 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6691515301c94366cc7876030ad770a46cdf6836;p=soc.git hack LD/ST ad/st together, allow PC to be set externally --- diff --git a/src/soc/simple/core.py b/src/soc/simple/core.py index 92b97319..66f1245e 100644 --- a/src/soc/simple/core.py +++ b/src/soc/simple/core.py @@ -342,9 +342,16 @@ class TestIssuer(Elaboratable): m.submodules.core = core = self.core m.submodules.imem = imem = self.imem + # temporary hack: says "go" immediately for both address gen and ST + l0 = core.l0 + ldst = core.fus.fus['ldst0'] + m.d.comb += ldst.ad.go.eq(ldst.ad.rel) # link addr-go direct to rel + m.d.comb += ldst.st.go.eq(ldst.st.rel) # link store-go direct to rel + # PC and instruction from I-Memory - current_pc = Signal(64) # current PC (note it is reset/sync) current_insn = Signal(32) # current fetched instruction (note sync) + current_pc = Signal(64) # current PC (note it is reset/sync) + comb += self.pc_o.eq(current_pc) # next instruction (+4 on current) nia = Signal(64, reset_less=True) @@ -365,11 +372,16 @@ class TestIssuer(Elaboratable): with m.If(self.go_insn_i): # instruction allowed to go: start by reading the PC pc = Signal(64, reset_less=True) - comb += self.fast_rd1.ren.eq(1<