From 97bf4ecf9795ca02a2f6af9f5fa5a951320b5901 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 17 Nov 2021 15:52:41 +0000 Subject: [PATCH] XER regspec_decode_write was not sophisticated enough. XER is being written to without the hazard vector being set. this previously did not matter because the TestIssuer FSM was only allowing one pipeline access to all regfiles at a time. in-order now will have overlapping instructions so it matters --- src/openpower/decoder/decode2execute1.py | 1 + src/openpower/decoder/power_regspec_map.py | 9 ++++++--- src/openpower/test/alu/alu_cases.py | 13 +++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/openpower/decoder/decode2execute1.py b/src/openpower/decoder/decode2execute1.py index 9020e7e8..e7deff5b 100644 --- a/src/openpower/decoder/decode2execute1.py +++ b/src/openpower/decoder/decode2execute1.py @@ -57,6 +57,7 @@ class IssuerDecode2ToOperand(RecordObject): self.rc = Data(1, "rc") self.oe = Data(1, "oe") self.input_carry = Signal(CryIn, reset_less=True) + self.output_carry = Signal(reset_less=True) self.traptype = Signal(TT.size, reset_less=True) # trap main_stage.py self.ldst_exc = LDSTException("exc") self.trapaddr = Signal(13, reset_less=True) diff --git a/src/openpower/decoder/power_regspec_map.py b/src/openpower/decoder/power_regspec_map.py index 5ec5f629..c9b1c074 100644 --- a/src/openpower/decoder/power_regspec_map.py +++ b/src/openpower/decoder/power_regspec_map.py @@ -155,11 +155,14 @@ def regspec_decode_write(e, regfile, name): CA = 1<