* [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue
@ 2020-05-30 19:47 bugzilla-daemon
2020-05-30 19:48 ` [libre-riscv-dev] [Bug 358] " bugzilla-daemon
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-30 19:47 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=358
Bug ID: 358
Summary: new MCU-ALU test picked up RC / OE / CR handling issue
Product: Libre-SOC's first SoC
Version: unspecified
Hardware: PC
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: Source Code
Assignee: lkcl@lkcl.net
Reporter: lkcl@lkcl.net
CC: libre-riscv-dev@lists.libre-riscv.org
NLnet milestone: ---
yippee! a new unit test (test_alu_compunit.py) just picked up that
we are using rc from Decode2ExecuteType in the wrong way. as RC and
OE are both of type "Data", the test needs to be on "rc_ok" enabled.
i think.
the symptoms: test_alu_compunit.py fails because CR0 is not being
outputted on OP_CMP. as in: cr0.ok is not being set.
it's not being set because in CommonOutputStage:
comb += self.o.cr0.data.eq(cr0)
comb += self.o.cr0.ok.eq(op.rc.rc & op.rc.rc_ok) # CR0 to be set
op.rc.rc & op.rc.rc_ok is *zero*, and yet the test in test_output_caller.py
(and test_alu_compunit.py) is this:
def check_extra_alu_outputs(self, alu, dec2, sim, code):
rc = yield dec2.e.rc.data
if rc:
....
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
^ permalink raw reply [flat|nested] 5+ messages in thread* [libre-riscv-dev] [Bug 358] new MCU-ALU test picked up RC / OE / CR handling issue 2020-05-30 19:47 [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue bugzilla-daemon @ 2020-05-30 19:48 ` " bugzilla-daemon 2020-05-30 20:39 ` bugzilla-daemon ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: bugzilla-daemon @ 2020-05-30 19:48 UTC (permalink / raw) To: libre-riscv-dev https://bugs.libre-soc.org/show_bug.cgi?id=358 Luke Kenneth Casson Leighton <lkcl@lkcl.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|lkcl@lkcl.net |mtnolan2640@gmail.com --- Comment #1 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> --- michael, any clues? -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ libre-riscv-dev mailing list libre-riscv-dev@lists.libre-riscv.org http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 358] new MCU-ALU test picked up RC / OE / CR handling issue 2020-05-30 19:47 [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue bugzilla-daemon 2020-05-30 19:48 ` [libre-riscv-dev] [Bug 358] " bugzilla-daemon @ 2020-05-30 20:39 ` bugzilla-daemon 2020-05-30 21:22 ` bugzilla-daemon 2020-06-01 23:24 ` bugzilla-daemon 3 siblings, 0 replies; 5+ messages in thread From: bugzilla-daemon @ 2020-05-30 20:39 UTC (permalink / raw) To: libre-riscv-dev https://bugs.libre-soc.org/show_bug.cgi?id=358 --- Comment #2 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> --- ah. just as in the unit tests which check if OP_CMP* is enabled, this was missing in CommonOutputStage. however this highlights something else: the destination for CR output needs to be implicitly set to CR0 when RC is enabled, otherwise the output stage has ni idea where to put the result. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ libre-riscv-dev mailing list libre-riscv-dev@lists.libre-riscv.org http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 358] new MCU-ALU test picked up RC / OE / CR handling issue 2020-05-30 19:47 [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue bugzilla-daemon 2020-05-30 19:48 ` [libre-riscv-dev] [Bug 358] " bugzilla-daemon 2020-05-30 20:39 ` bugzilla-daemon @ 2020-05-30 21:22 ` bugzilla-daemon 2020-06-01 23:24 ` bugzilla-daemon 3 siblings, 0 replies; 5+ messages in thread From: bugzilla-daemon @ 2020-05-30 21:22 UTC (permalink / raw) To: libre-riscv-dev https://bugs.libre-soc.org/show_bug.cgi?id=358 --- Comment #3 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> --- (In reply to Luke Kenneth Casson Leighton from comment #2) > however this highlights something else: the destination for CR output needs > to be implicitly set to CR0 when RC is enabled, otherwise the output stage > has no idea where to put the result. ... which is in decode2.cr_out bitfield. so the unit tests need to be modified to check if cr out ok is set, rather than use RC or the OP_CMP* test. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ libre-riscv-dev mailing list libre-riscv-dev@lists.libre-riscv.org http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 358] new MCU-ALU test picked up RC / OE / CR handling issue 2020-05-30 19:47 [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue bugzilla-daemon ` (2 preceding siblings ...) 2020-05-30 21:22 ` bugzilla-daemon @ 2020-06-01 23:24 ` bugzilla-daemon 3 siblings, 0 replies; 5+ messages in thread From: bugzilla-daemon @ 2020-06-01 23:24 UTC (permalink / raw) To: libre-riscv-dev https://bugs.libre-soc.org/show_bug.cgi?id=358 Luke Kenneth Casson Leighton <lkcl@lkcl.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|CONFIRMED |RESOLVED -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ libre-riscv-dev mailing list libre-riscv-dev@lists.libre-riscv.org http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, back to index Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-30 19:47 [libre-riscv-dev] [Bug 358] New: new MCU-ALU test picked up RC / OE / CR handling issue bugzilla-daemon 2020-05-30 19:48 ` [libre-riscv-dev] [Bug 358] " bugzilla-daemon 2020-05-30 20:39 ` bugzilla-daemon 2020-05-30 21:22 ` bugzilla-daemon 2020-06-01 23:24 ` bugzilla-daemon
Libre RISC-V Mailing list Archives (accessible via public-inbox) Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev Example config snippet for mirrors AGPL code for this site: git clone https://public-inbox.org/public-inbox.git