openpower-isa.git
3 years agoadd os.makedirs on pyfnwriter output path
Luke Kenneth Casson Leighton [Tue, 18 May 2021 09:06:10 +0000 (10:06 +0100)]
add os.makedirs on pyfnwriter output path

3 years agoadd python function writer, takes Appendix v3.0B pseudocode functions
Luke Kenneth Casson Leighton [Tue, 18 May 2021 08:56:48 +0000 (09:56 +0100)]
add python function writer, takes Appendix v3.0B pseudocode functions
and generates executable python

3 years agoupdate reg sort order in ISACaller
Luke Kenneth Casson Leighton [Mon, 17 May 2021 15:33:31 +0000 (16:33 +0100)]
update reg sort order in ISACaller

3 years agogrr syntax incorrect, use <- operator not =
Luke Kenneth Casson Leighton [Mon, 17 May 2021 15:05:07 +0000 (16:05 +0100)]
grr syntax incorrect, use <- operator not =

3 years agomark RN as TODO
Luke Kenneth Casson Leighton [Mon, 17 May 2021 13:15:01 +0000 (14:15 +0100)]
mark RN as TODO

3 years agomust not add to read regs unless in the authorised list
Luke Kenneth Casson Leighton [Mon, 17 May 2021 13:04:24 +0000 (14:04 +0100)]
must not add to read regs unless in the authorised list

3 years agoremove MISSING (theyre not), fix a couple of errors in pseudocode
Luke Kenneth Casson Leighton [Mon, 17 May 2021 12:57:28 +0000 (13:57 +0100)]
remove MISSING (theyre not), fix a couple of errors in pseudocode
for lmw and stmw, these are not supported but are there for spec
"completeness"

3 years agoadd new RC reg to get pywriter to build
Luke Kenneth Casson Leighton [Mon, 17 May 2021 12:41:58 +0000 (13:41 +0100)]
add new RC reg to get pywriter to build

3 years agoupdate to 0.0.3 0.0.3
Luke Kenneth Casson Leighton [Sun, 16 May 2021 16:06:53 +0000 (17:06 +0100)]
update to 0.0.3

3 years agodocument addition of pyfnwriter
Luke Kenneth Casson Leighton [Sun, 16 May 2021 16:06:01 +0000 (17:06 +0100)]
document addition of pyfnwriter

3 years agoadd NEWS update
Luke Kenneth Casson Leighton [Sun, 16 May 2021 16:04:18 +0000 (17:04 +0100)]
add NEWS update

3 years agoadd fpcvt.mdwn pseudocode which calls new auto-generated function
Luke Kenneth Casson Leighton [Sun, 16 May 2021 15:01:35 +0000 (16:01 +0100)]
add fpcvt.mdwn pseudocode which calls new auto-generated function
taken from Section A.3 for FP conversion

3 years agoadd new pyfnwriter command, converts v3.0B spec pseudocode helper functions
Luke Kenneth Casson Leighton [Sun, 16 May 2021 13:29:30 +0000 (14:29 +0100)]
add new pyfnwriter command, converts v3.0B spec pseudocode helper functions
into python

3 years agocreate compiler for general pseudo-code functions in v3.0B spec
Luke Kenneth Casson Leighton [Sun, 16 May 2021 13:24:25 +0000 (14:24 +0100)]
create compiler for general pseudo-code functions in v3.0B spec
specifically to support FP such as convert from int etc

3 years agoadd function reader for appendix and other v3.0B pseudocode
Luke Kenneth Casson Leighton [Sun, 16 May 2021 12:58:52 +0000 (13:58 +0100)]
add function reader for appendix and other v3.0B pseudocode

3 years agocomments in fp convert, fix carry out, comment out FPSCR for now
Luke Kenneth Casson Leighton [Sun, 16 May 2021 12:39:48 +0000 (13:39 +0100)]
comments in fp convert, fix carry out, comment out FPSCR for now

3 years agospelling
Luke Kenneth Casson Leighton [Sat, 15 May 2021 23:08:55 +0000 (00:08 +0100)]
spelling

3 years agomove round_float to separate file
Luke Kenneth Casson Leighton [Sat, 15 May 2021 23:08:34 +0000 (00:08 +0100)]
move round_float to separate file

3 years agoadd fpfromint.mdwn new file, to be used for FP conversion
Luke Kenneth Casson Leighton [Sat, 15 May 2021 23:06:12 +0000 (00:06 +0100)]
add fpfromint.mdwn new file, to be used for FP conversion
contains pseudocode from v3.0B spec, A.3 p782 book I

3 years agoextra debug print
Luke Kenneth Casson Leighton [Sat, 15 May 2021 19:16:45 +0000 (20:16 +0100)]
extra debug print

3 years agowhoops, FRC taken from FormX.FRB not FormA.FRC
Luke Kenneth Casson Leighton [Sat, 15 May 2021 19:16:25 +0000 (20:16 +0100)]
whoops, FRC taken from FormX.FRB not FormA.FRC

3 years agoFP mul test, correct pseudocode to use FRC
Luke Kenneth Casson Leighton [Sat, 15 May 2021 19:09:54 +0000 (20:09 +0100)]
FP mul test, correct pseudocode to use FRC

3 years agoadd minor_59.csv file, corrected, and power enums
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:54:02 +0000 (19:54 +0100)]
add minor_59.csv file, corrected, and power enums
operations fcfids, fcfidus, fsqrt etc.

3 years agoreturn result in FPXXX64 functions (whoops)
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:47:33 +0000 (19:47 +0100)]
return result in FPXXX64 functions (whoops)

3 years agowhen calling multi-arg function with regs, add to read list
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:47:17 +0000 (19:47 +0100)]
when calling multi-arg function with regs, add to read list

3 years agoissue with sub-decoders
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:31:16 +0000 (19:31 +0100)]
issue with sub-decoders
merged FP HI/LO 63 (minor_63.csv only) due to clash on pattern 63

3 years agoadd fadd/sub/mul/div to power_enums
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:09:13 +0000 (19:09 +0100)]
add fadd/sub/mul/div to power_enums

3 years agoadd FP basic arithmetic operations, pseudocode, fparith.mdwn
Luke Kenneth Casson Leighton [Sat, 15 May 2021 18:02:29 +0000 (19:02 +0100)]
add FP basic arithmetic operations, pseudocode, fparith.mdwn

3 years agocomments
Luke Kenneth Casson Leighton [Sat, 15 May 2021 17:06:15 +0000 (18:06 +0100)]
comments

3 years agoadd fcpsgn unit test
Luke Kenneth Casson Leighton [Sat, 15 May 2021 17:04:54 +0000 (18:04 +0100)]
add fcpsgn unit test

3 years agoadd fnabs unit test
Luke Kenneth Casson Leighton [Sat, 15 May 2021 17:02:14 +0000 (18:02 +0100)]
add fnabs unit test

3 years agoadd fabs unit test
Luke Kenneth Casson Leighton [Sat, 15 May 2021 16:41:52 +0000 (17:41 +0100)]
add fabs unit test

3 years agoadd fp mv test, correct pseudocode
Luke Kenneth Casson Leighton [Sat, 15 May 2021 16:38:03 +0000 (17:38 +0100)]
add fp mv test, correct pseudocode

3 years agowhoops initialise FPRs from GPRs in ISACaller
Luke Kenneth Casson Leighton [Sat, 15 May 2021 16:08:01 +0000 (17:08 +0100)]
whoops initialise FPRs from GPRs in ISACaller

3 years agomissed an assignment-copy for simple expressions
Luke Kenneth Casson Leighton [Sat, 15 May 2021 16:05:26 +0000 (17:05 +0100)]
missed an assignment-copy for simple expressions

3 years agoadd fmr test and associated decoder (optional with include_fp)
Luke Kenneth Casson Leighton [Sat, 15 May 2021 15:57:27 +0000 (16:57 +0100)]
add fmr test and associated decoder (optional with include_fp)

3 years agoadd X-Form and A-Form to minor_63l and minor_63h csv files
Luke Kenneth Casson Leighton [Sat, 15 May 2021 15:13:07 +0000 (16:13 +0100)]
add X-Form and A-Form to minor_63l and minor_63h csv files
add option to create_pdecode to include FP ops

3 years agowhoops need to reverse bits in minor_63l.csv to match linear switch
Luke Kenneth Casson Leighton [Sat, 15 May 2021 14:52:18 +0000 (15:52 +0100)]
whoops need to reverse bits in minor_63l.csv to match linear switch

3 years agoFP 63L/H ops need to add in extra 0/1 minor_63l.csv minor_63h.csv
Luke Kenneth Casson Leighton [Sat, 15 May 2021 14:46:00 +0000 (15:46 +0100)]
FP 63L/H ops need to add in extra 0/1 minor_63l.csv minor_63h.csv
a hard-coded test in microwatt decode1.vhdl tests bit 5
we need an automated switch statement

3 years agoadd fp move opcodes to power_enums.py
Luke Kenneth Casson Leighton [Sat, 15 May 2021 14:37:05 +0000 (15:37 +0100)]
add fp move opcodes to power_enums.py

3 years agoadd new fp load / store with update unit test
Luke Kenneth Casson Leighton [Sat, 15 May 2021 13:11:18 +0000 (14:11 +0100)]
add new fp load / store with update unit test

3 years agoadd FP store op names to power_enums.py opcode list
Luke Kenneth Casson Leighton [Sat, 15 May 2021 12:44:34 +0000 (13:44 +0100)]
add FP store op names to power_enums.py opcode list

3 years agowhitespace on instruction mnemonics
Luke Kenneth Casson Leighton [Sat, 15 May 2021 12:41:39 +0000 (13:41 +0100)]
whitespace on instruction mnemonics

3 years agoadd FP LD/ST D-Form operations to major.csv
Luke Kenneth Casson Leighton [Sat, 15 May 2021 11:40:05 +0000 (12:40 +0100)]
add FP LD/ST D-Form operations to major.csv

3 years agoadd load/store FP indexed instructions to minor_31.csv
Luke Kenneth Casson Leighton [Sat, 15 May 2021 11:29:46 +0000 (12:29 +0100)]
add load/store FP indexed instructions to minor_31.csv

3 years agoadd FP load test lfsx
Luke Kenneth Casson Leighton [Fri, 14 May 2021 21:18:25 +0000 (22:18 +0100)]
add FP load test lfsx

3 years agowhen setting x <- GPR(RA) make sure read_regs is added to in parser
Luke Kenneth Casson Leighton [Fri, 14 May 2021 20:29:21 +0000 (21:29 +0100)]
when setting  x <- GPR(RA) make sure read_regs is added to in parser

3 years agoadd GPR-underscore read of regs
Luke Kenneth Casson Leighton [Fri, 14 May 2021 20:19:15 +0000 (21:19 +0100)]
add GPR-underscore read of regs

3 years agoadd FRA ISACaller name decoding
Luke Kenneth Casson Leighton [Fri, 14 May 2021 19:54:29 +0000 (20:54 +0100)]
add FRA ISACaller name decoding

3 years agoadd FRA-FRT to power enums
Luke Kenneth Casson Leighton [Fri, 14 May 2021 19:36:19 +0000 (20:36 +0100)]
add FRA-FRT to power enums

3 years agoadd first FP load test, still a lot TODO
Luke Kenneth Casson Leighton [Fri, 14 May 2021 19:29:35 +0000 (20:29 +0100)]
add first FP load test, still a lot TODO

3 years agoadd FPR (FP Regfile) to ISACaller
Luke Kenneth Casson Leighton [Fri, 14 May 2021 19:13:06 +0000 (20:13 +0100)]
add FPR (FP Regfile) to ISACaller

3 years agoadd in FPR.getz and support for FPR(x) in ISA parser
Luke Kenneth Casson Leighton [Fri, 14 May 2021 19:07:00 +0000 (20:07 +0100)]
add in FPR.getz and support for FPR(x) in ISA parser

3 years agoadd FRA-FRT fp reg names to ISACaller parser
Luke Kenneth Casson Leighton [Fri, 14 May 2021 18:53:52 +0000 (19:53 +0100)]
add FRA-FRT fp reg names to ISACaller parser

3 years agoadd fpmove.mdwn from v3.0B p150 book I section 4.6.5
Luke Kenneth Casson Leighton [Fri, 14 May 2021 17:59:20 +0000 (18:59 +0100)]
add fpmove.mdwn from v3.0B p150 book I section 4.6.5

3 years agoclarify, comments
Luke Kenneth Casson Leighton [Fri, 14 May 2021 17:50:08 +0000 (18:50 +0100)]
clarify, comments

3 years agoadd FPADD, FPSUB, FPMUL, FPDIV quick hacked functions
Luke Kenneth Casson Leighton [Fri, 14 May 2021 17:49:10 +0000 (18:49 +0100)]
add FPADD, FPSUB, FPMUL, FPDIV quick hacked functions

3 years agoadd very quick float convert to SelectableInt
Luke Kenneth Casson Leighton [Fri, 14 May 2021 17:28:31 +0000 (18:28 +0100)]
add very quick float convert to SelectableInt

3 years agoadd import of DOUBLE/SINGLE to pywriter
Luke Kenneth Casson Leighton [Fri, 14 May 2021 16:56:06 +0000 (17:56 +0100)]
add import of DOUBLE/SINGLE to pywriter

3 years agoadd SINGLE function to helpers, for FP Store
Luke Kenneth Casson Leighton [Fri, 14 May 2021 16:47:48 +0000 (17:47 +0100)]
add SINGLE function to helpers, for FP Store

3 years agoadd first pass at DOUBLE helper function for FP ISACaller simulation
Luke Kenneth Casson Leighton [Fri, 14 May 2021 16:31:35 +0000 (17:31 +0100)]
add first pass at DOUBLE helper function for FP ISACaller simulation

3 years agoadd zero-variant (RA|0) in fpload pseudocode, cleaner, clearer
Luke Kenneth Casson Leighton [Fri, 14 May 2021 16:13:09 +0000 (17:13 +0100)]
add zero-variant (RA|0) in fpload pseudocode, cleaner, clearer

3 years agoadd fpstore.mdwn
Luke Kenneth Casson Leighton [Fri, 14 May 2021 16:11:42 +0000 (17:11 +0100)]
add fpstore.mdwn

3 years agoadd fpload.mdwn for FP simulation
Luke Kenneth Casson Leighton [Fri, 14 May 2021 15:49:24 +0000 (16:49 +0100)]
add fpload.mdwn for FP simulation

3 years agoadd setting of MSR "PR" bit for when running MMU test
Luke Kenneth Casson Leighton [Tue, 11 May 2021 11:27:00 +0000 (12:27 +0100)]
add setting of MSR "PR" bit for when running MMU test

3 years agoextra checks on ldst exception unit test
Luke Kenneth Casson Leighton [Mon, 10 May 2021 17:13:29 +0000 (18:13 +0100)]
extra checks on ldst exception unit test

3 years agofix MemException, return correct address in DAR
Luke Kenneth Casson Leighton [Mon, 10 May 2021 17:03:24 +0000 (18:03 +0100)]
fix MemException, return correct address in DAR

3 years agotesting load misaligned
Luke Kenneth Casson Leighton [Mon, 10 May 2021 17:01:01 +0000 (18:01 +0100)]
testing load misaligned

3 years agotest_maxint, add zero onto 0xffffffffffffff
Luke Kenneth Casson Leighton [Mon, 10 May 2021 17:00:47 +0000 (18:00 +0100)]
test_maxint, add zero onto 0xffffffffffffff

3 years agoadd first LD/ST exceptions test case for ISACaller
Luke Kenneth Casson Leighton [Mon, 10 May 2021 16:49:19 +0000 (17:49 +0100)]
add first LD/ST exceptions test case for ISACaller

3 years agosave SVSRR0 in trap, if SVP64 mode enabled
Luke Kenneth Casson Leighton [Mon, 10 May 2021 15:24:57 +0000 (16:24 +0100)]
save SVSRR0 in trap, if SVP64 mode enabled

3 years agocreate new call_trap function in ISACaller
Luke Kenneth Casson Leighton [Mon, 10 May 2021 15:22:34 +0000 (16:22 +0100)]
create new call_trap function in ISACaller

3 years agoadd catch of MemException in ISACaller to raise unaligned exception 0x600
Luke Kenneth Casson Leighton [Mon, 10 May 2021 15:10:14 +0000 (16:10 +0100)]
add catch of MemException in ISACaller to raise unaligned exception 0x600
DAR is set as the address raised from the exception

3 years agoinclude Error keyword in message
Luke Kenneth Casson Leighton [Mon, 10 May 2021 14:42:04 +0000 (15:42 +0100)]
include Error keyword in message

3 years agoallow unaligned access exception to be raised in ISACaller mem simulator
Luke Kenneth Casson Leighton [Mon, 10 May 2021 14:41:14 +0000 (15:41 +0100)]
allow unaligned access exception to be raised in ISACaller mem simulator

3 years agoadd ld/st misalignment test case
Luke Kenneth Casson Leighton [Sun, 9 May 2021 14:57:09 +0000 (15:57 +0100)]
add ld/st misalignment test case

3 years agoadd relevant pred source/dest mask bits and create appropriate zeroing
Luke Kenneth Casson Leighton [Thu, 6 May 2021 17:51:33 +0000 (18:51 +0100)]
add relevant pred source/dest mask bits and create appropriate zeroing
signal for predicate source/dest

3 years agoadd first SVP64 predicate dest-zeroing unit test
Luke Kenneth Casson Leighton [Thu, 6 May 2021 16:26:52 +0000 (17:26 +0100)]
add first SVP64 predicate dest-zeroing unit test

3 years agoremove non-predicated svp64 ISACaller tests
Luke Kenneth Casson Leighton [Thu, 6 May 2021 16:19:46 +0000 (17:19 +0100)]
remove non-predicated svp64 ISACaller tests

3 years agoimprove format of docstrings for ISACaller SVP64 tests
Luke Kenneth Casson Leighton [Thu, 6 May 2021 16:17:19 +0000 (17:17 +0100)]
improve format of docstrings for ISACaller SVP64 tests

3 years agoreformat SVP64 docstrings to vaguely resemble something useful in sphinx-doc
Luke Kenneth Casson Leighton [Thu, 6 May 2021 13:36:45 +0000 (14:36 +0100)]
reformat SVP64 docstrings to vaguely resemble something useful in sphinx-doc

3 years agosphinx docstring highlight of SVP64 listings
Luke Kenneth Casson Leighton [Thu, 6 May 2021 13:16:48 +0000 (14:16 +0100)]
sphinx docstring highlight of SVP64 listings

3 years agomove logical SVP64 test cases to separate file/directory
Luke Kenneth Casson Leighton [Thu, 6 May 2021 12:39:46 +0000 (13:39 +0100)]
move logical SVP64 test cases to separate file/directory

3 years agowhoops error in docstring
Luke Kenneth Casson Leighton [Thu, 6 May 2021 12:34:08 +0000 (13:34 +0100)]
whoops error in docstring

3 years agotidy up svp64 cases to make it better suited to documentation
Luke Kenneth Casson Leighton [Thu, 6 May 2021 12:31:36 +0000 (13:31 +0100)]
tidy up svp64 cases to make it better suited to documentation
https://bugs.libre-soc.org/show_bug.cgi?id=639

3 years agoupdate about Copyright law when it comes to facts
Luke Kenneth Casson Leighton [Wed, 5 May 2021 13:12:23 +0000 (14:12 +0100)]
update about Copyright law when it comes to facts

3 years agoadd symlink to license
Luke Kenneth Casson Leighton [Wed, 5 May 2021 13:03:43 +0000 (14:03 +0100)]
add symlink to license

3 years agoadd saturate SVP64 RM mode decode
Luke Kenneth Casson Leighton [Wed, 5 May 2021 13:02:43 +0000 (14:02 +0100)]
add saturate SVP64 RM mode decode

3 years agosplit PowerDecodeSubset do_copy into do_copy and do_get
Luke Kenneth Casson Leighton [Wed, 5 May 2021 12:52:36 +0000 (13:52 +0100)]
split PowerDecodeSubset do_copy into do_copy and do_get

3 years agoexplicitly copy SV RM decoded fields in PowerDecodeSubset
Luke Kenneth Casson Leighton [Wed, 5 May 2021 12:37:22 +0000 (13:37 +0100)]
explicitly copy SV RM decoded fields in PowerDecodeSubset

3 years agomove SVP64 RM mode decoder into PowerDecodeSubset
Luke Kenneth Casson Leighton [Wed, 5 May 2021 12:32:13 +0000 (13:32 +0100)]
move SVP64 RM mode decoder into PowerDecodeSubset
this allows individual (satellite) decoders to get SVP64 characteristics
such as predication zeroing, saturation and other modes

3 years agoremove another verbose debug print
Luke Kenneth Casson Leighton [Wed, 5 May 2021 11:49:24 +0000 (12:49 +0100)]
remove another verbose debug print

3 years agoadd sv_input_record_layout to match SVP64RMModeDecode
Luke Kenneth Casson Leighton [Wed, 5 May 2021 11:46:56 +0000 (12:46 +0100)]
add sv_input_record_layout to match SVP64RMModeDecode

3 years agowhoops must include SVSTATE in STATE regfile regspec read/write map
Luke Kenneth Casson Leighton [Tue, 4 May 2021 17:33:36 +0000 (18:33 +0100)]
whoops must include SVSTATE in STATE regfile regspec read/write map

3 years agoIssuerDecode2ToOperand needs svstate (matching msr and cia)
Luke Kenneth Casson Leighton [Tue, 4 May 2021 17:30:44 +0000 (18:30 +0100)]
IssuerDecode2ToOperand needs svstate (matching msr and cia)

3 years agoadd more ALUHelper routines for fast3
Luke Kenneth Casson Leighton [Tue, 4 May 2021 17:09:54 +0000 (18:09 +0100)]
add more ALUHelper routines for fast3

3 years agoadd ALUHelpers check_fast_spr3 for SVSRR0 checking
Luke Kenneth Casson Leighton [Tue, 4 May 2021 16:56:03 +0000 (17:56 +0100)]
add ALUHelpers check_fast_spr3 for SVSRR0 checking

3 years agoadd SVSRR0 to OP_RFID and OP_TRAP reg read/write
Luke Kenneth Casson Leighton [Tue, 4 May 2021 16:51:16 +0000 (17:51 +0100)]
add SVSRR0 to OP_RFID and OP_TRAP reg read/write

3 years agoadd fast3 to PowerDecoder and regspec map
Luke Kenneth Casson Leighton [Tue, 4 May 2021 16:38:52 +0000 (17:38 +0100)]
add fast3 to PowerDecoder and regspec map
needed for SVSRR0

3 years agoadd SVSRR0 spr_to_fast lookup
Luke Kenneth Casson Leighton [Tue, 4 May 2021 16:38:18 +0000 (17:38 +0100)]
add SVSRR0 spr_to_fast lookup