Made small changes to fu/trap/main_stage to bring nmigen into line with
authorcolepoirier <colepoirier@gmail.com>
Fri, 5 Jun 2020 14:12:26 +0000 (07:12 -0700)
committercolepoirier <colepoirier@gmail.com>
Fri, 5 Jun 2020 14:13:25 +0000 (07:13 -0700)
microwatt VHDL

src/soc/fu/trap/main_stage.py

index 964cd6b76f18cdb180fb891842ff9ba49a4a90a2..4efb032e8d1b89ce1ec78d9d7a58653a85003945 100644 (file)
@@ -175,16 +175,16 @@ class TrapMainStage(PipeModBase):
                 """
                 L = self.fields.FormX.L[0:-1]
                 with m.If(L):
-                    comb += msr_o[MSR_EE].eq(msr_i[MSR_EE])
-                    comb += msr_o[MSR_RI].eq(msr_i[MSR_RI])
+                    comb += msr_o.data[MSR_EE].eq(a_i[MSR_EE])
+                    comb += msr_o.data[MSR_RI].eq(a_i[MSR_RI])
 
                 with m.Else():
                     for stt, end in [(1,12), (13, 60), (61, 64)]:
                         comb += msr_o.data[stt:end].eq(a_i[stt:end])
-                    with m.If(a[MSR_PR]):
-                            msr_o[MSR_EE].eq(1)
-                            msr_o[MSR_IR].eq(1)
-                            msr_o[MSR_DR].eq(1)
+                    with m.If(b_in[MSR_PR]):
+                            msr_o.data[MSR_EE].eq(1)
+                            msr_o.data[MSR_IR].eq(1)
+                            msr_o.data[MSR_DR].eq(1)
                 comb += msr_o.ok.eq(1)
 
             # move from SPR