[libre-riscv-dev] [Bug 278] POWER v3.0B spec ambiguity on EXTS and missing EXTZ

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Sun Apr 5 19:50:55 BST 2020


http://bugs.libre-riscv.org/show_bug.cgi?id=278

--- Comment #5 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
hi michael, i reverted commit b5e4e847c2841189386da3509949d9206de92f8b
Author: Michael Nolan <mtnolan2640 at gmail.com>
Date:   Sun Apr 5 14:31:48 2020 -0400

    Implement bug 278, comment 1 - better version of EXTS

the reason is that

unfortunately, as it wasn't a single-purpose commit, it's also reverted
this:

diff --git a/src/soc/decoder/isa/test_caller.py
b/src/soc/decoder/isa/test_caller.py
index aa6f23a..12db984 100644
--- a/src/soc/decoder/isa/test_caller.py
+++ b/src/soc/decoder/isa/test_caller.py
@@ -9,7 +9,7 @@ from soc.simulator.program import Program
 from soc.decoder.isa.caller import ISACaller, inject
 from soc.decoder.selectable_int import SelectableInt
 from soc.decoder.orderedset import OrderedSet
-from soc.decoder.isa import ISA
+from soc.decoder.isa.all import ISA


i'll leave that with you to fix?


the reason i reverted the use of exts() is because exts() returns
integers.

when it comes to SV, we will *need* things to be in classes such
as SelectableInt, because it will be there that the bitwidths
can be over-ridden (to implement the polymorphic behaviour of SV)

ints cannot have their behaviour over-ridden.

EXTS and the other functions will also at some point need to go into
a class, so that their behaviour can also be over-ridden.

however they can be dropped into the namespace as-is - appearing
to be global non-class-based functions - using the @inject decorator.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list