openpower-isa.git
2 years agoadd extsxl csv files
Luke Kenneth Casson Leighton [Mon, 4 Oct 2021 21:50:36 +0000 (22:50 +0100)]
add extsxl csv files

2 years agotest adding extsxl data
Luke Kenneth Casson Leighton [Mon, 4 Oct 2021 20:16:39 +0000 (21:16 +0100)]
test adding extsxl data

2 years agoadd blank example file
Luke Kenneth Casson Leighton [Mon, 4 Oct 2021 19:28:51 +0000 (20:28 +0100)]
add blank example file

2 years agofix for self.rom core
klehman [Fri, 1 Oct 2021 22:01:47 +0000 (18:01 -0400)]
fix for self.rom core

2 years agoset run_hdl arg to None because it passes in a class now
Luke Kenneth Casson Leighton [Fri, 1 Oct 2021 16:57:26 +0000 (17:57 +0100)]
set run_hdl arg to None because it passes in a class now

2 years agocopy over TestRunner class from soc/simple/test/test_runner.py
Luke Kenneth Casson Leighton [Fri, 1 Oct 2021 16:53:41 +0000 (17:53 +0100)]
copy over TestRunner class from soc/simple/test/test_runner.py
Copyright attribution klehman, lkcl, tplaten, j neuschaefer, cstrauss

2 years agowhoops, use cache of pseudocode rather than attempt to truncate
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 18:31:14 +0000 (19:31 +0100)]
whoops, use cache of pseudocode rather than attempt to truncate
the list of instructions, causes them to disappear. oops

2 years agoreduce PyFnWriter compile time (pywriter) by 75%
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 13:32:18 +0000 (14:32 +0100)]
reduce PyFnWriter compile time (pywriter) by 75%

needs some explanation: the pagereader enumerates all the sub-options
(Rc=1, OE=1) and adds one instruction (each) for all of the sub-options
but adds the exact same pseudocode.

PyFnWriter then generates up to *four copies* of the exact same pseucodode
and four functions, *only one of which is actually used* by ISACaller
(the one *without* Rc=1 and OE=1), then handles Rc=1 and OE=1 *separately*

added an option to pagereader to only add the first-encountered instruction
but for other purposes it is still added, so is not made the default

2 years agoisa/caller: initialize helper and redirect XLEN
Dmitry Selyutin [Wed, 29 Sep 2021 11:50:36 +0000 (11:50 +0000)]
isa/caller: initialize helper and redirect XLEN

2 years agodecoder/helpers: use globals() with exception
Dmitry Selyutin [Wed, 29 Sep 2021 11:44:52 +0000 (11:44 +0000)]
decoder/helpers: use globals() with exception

2 years agodecoder/parser: self.XLEN instead of XLEN
Dmitry Selyutin [Wed, 29 Sep 2021 09:47:31 +0000 (09:47 +0000)]
decoder/parser: self.XLEN instead of XLEN

2 years agofixedlogical: switch xoris to XCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:03:22 +0000 (00:03 +0000)]
fixedlogical: switch xoris to XCASTU

2 years agofixedlogical: switch oris to XCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:03:09 +0000 (00:03 +0000)]
fixedlogical: switch oris to XCASTU

2 years agofixedlogical: switch andis. to XCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:02:49 +0000 (00:02 +0000)]
fixedlogical: switch andis. to XCASTU

2 years agofixedlogical: switch xori to XCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:01:35 +0000 (00:01 +0000)]
fixedlogical: switch xori to XCASTU

2 years agofixedlogical: switch ori to XCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:01:16 +0000 (00:01 +0000)]
fixedlogical: switch ori to XCASTU

2 years agofixedlogical: switch andi. to XLCASTU
Dmitry Selyutin [Wed, 29 Sep 2021 00:00:11 +0000 (00:00 +0000)]
fixedlogical: switch andi. to XLCASTU

2 years agodecoder/helpers: support XLCASTS
Dmitry Selyutin [Tue, 28 Sep 2021 20:20:33 +0000 (20:20 +0000)]
decoder/helpers: support XLCASTS

2 years agodecoder/helpers: support XLCASTU
Dmitry Selyutin [Tue, 28 Sep 2021 20:17:42 +0000 (20:17 +0000)]
decoder/helpers: support XLCASTU

2 years agoremove unneeded module import
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:57:37 +0000 (11:57 +0100)]
remove unneeded module import

2 years agoconvert svp64 fft test just like the dct one
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:44:39 +0000 (11:44 +0100)]
convert svp64 fft test just like the dct one

2 years agoconvert test_caller_svp64_dct.py unit test to use new helper class
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:34:50 +0000 (11:34 +0100)]
convert test_caller_svp64_dct.py unit test to use new helper class
to get at DOUBLE2SINGLE
previously could import it as a (global) function

2 years agore-add accidentally-deleted low-level operators eq ne gt etc
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:27:00 +0000 (11:27 +0100)]
re-add accidentally-deleted low-level operators eq ne gt etc
from pyfnwriter

2 years agomove FPDIV, FPMUL (etc) to ISAFPHelpers class
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:08:06 +0000 (11:08 +0100)]
move FPDIV, FPMUL (etc) to ISAFPHelpers class

2 years agoadd ISACallerFnHelper, remove FPADD32 and other FP helpers
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 10:07:41 +0000 (11:07 +0100)]
add ISACallerFnHelper, remove FPADD32 and other FP helpers

2 years agoremove type information
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 09:47:04 +0000 (10:47 +0100)]
remove type information

2 years agopywriter, pyfnwriter, parser: activate helper class
Dmitry Selyutin [Mon, 27 Sep 2021 20:12:46 +0000 (20:12 +0000)]
pywriter, pyfnwriter, parser: activate helper class

2 years agopyfnwriter: write helper class
Dmitry Selyutin [Mon, 27 Sep 2021 20:10:32 +0000 (20:10 +0000)]
pyfnwriter: write helper class

2 years agodecoder/parser: generate methods, not functions
Dmitry Selyutin [Mon, 27 Sep 2021 19:30:24 +0000 (19:30 +0000)]
decoder/parser: generate methods, not functions

2 years agofixup! decoder/parser: pass helper argument
Dmitry Selyutin [Mon, 27 Sep 2021 19:26:54 +0000 (19:26 +0000)]
fixup! decoder/parser: pass helper argument

2 years agodecoder/power_pseudo: pass helper argument
Dmitry Selyutin [Mon, 27 Sep 2021 19:16:22 +0000 (19:16 +0000)]
decoder/power_pseudo: pass helper argument

2 years agodecoder/parser: pass helper argument
Dmitry Selyutin [Mon, 27 Sep 2021 19:16:02 +0000 (19:16 +0000)]
decoder/parser: pass helper argument

2 years agoadd name parameter to StateRunner
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 21:51:20 +0000 (22:51 +0100)]
add name parameter to StateRunner

2 years agoinherit ISACallerHelper in ISACaller
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 19:46:38 +0000 (20:46 +0100)]
inherit ISACallerHelper in ISACaller

2 years agopywriter: redirect helpers into self
Dmitry Selyutin [Sat, 25 Sep 2021 17:15:43 +0000 (17:15 +0000)]
pywriter: redirect helpers into self

2 years agodecoder/helpers.py: redirect helper class calls
Dmitry Selyutin [Sat, 25 Sep 2021 16:29:45 +0000 (16:29 +0000)]
decoder/helpers.py: redirect helper class calls

2 years agodecoder/helpers.py: ISACallerHelper stub class
Dmitry Selyutin [Sat, 25 Sep 2021 16:15:23 +0000 (16:15 +0000)]
decoder/helpers.py: ISACallerHelper stub class

2 years agoadd factory-function for StateRunner
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 18:03:05 +0000 (19:03 +0100)]
add factory-function for StateRunner

2 years agoconvert all SimRunner functions to yield
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 17:49:13 +0000 (18:49 +0100)]
convert all SimRunner functions to yield

2 years agoguessing what extra args needed for StateRunner
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 19:53:43 +0000 (20:53 +0100)]
guessing what extra args needed for StateRunner

2 years agoadd SimRunner constructor
klehman [Fri, 24 Sep 2021 17:20:32 +0000 (13:20 -0400)]
add SimRunner constructor

2 years agofinally sort out the running-out-of-file-handles
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 17:09:44 +0000 (18:09 +0100)]
finally sort out the running-out-of-file-handles
by taking a copy of the object file and placing it into a BytesIO

2 years agouse with subprocess to get it to close Popen files
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 16:55:09 +0000 (17:55 +0100)]
use with subprocess to get it to close Popen files

2 years agorename shift tests, move to test cases directory
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 16:44:49 +0000 (17:44 +0100)]
rename shift tests, move to test cases directory

2 years agorename files, test_issuer.py is for the TestIssuer,
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 16:35:46 +0000 (17:35 +0100)]
rename files, test_issuer.py is for the TestIssuer,
make the shift rot test named "shift rot"

2 years agoshift_rot expected cases
klehman [Fri, 24 Sep 2021 14:01:32 +0000 (10:01 -0400)]
shift_rot expected cases

2 years agodecoder test_issuer
klehman [Fri, 24 Sep 2021 13:59:27 +0000 (09:59 -0400)]
decoder test_issuer

2 years agoadd extra functions for StateRunner
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:43:59 +0000 (23:43 +0100)]
add extra functions for StateRunner

2 years agocreate Abstract Base Class StateRunner
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 18:41:15 +0000 (19:41 +0100)]
create Abstract Base Class StateRunner

2 years agoadd stfs unit test
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 14:27:54 +0000 (15:27 +0100)]
add stfs unit test

2 years agoadd stfx unit test
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 14:25:10 +0000 (15:25 +0100)]
add stfx unit test

2 years agoadd stfsux and unit test, code was there, needed adding to power_enums
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 14:21:38 +0000 (15:21 +0100)]
add stfsux and unit test, code was there, needed adding to power_enums

2 years agoadd load-immediate unit test
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 14:05:12 +0000 (15:05 +0100)]
add load-immediate unit test

2 years agoadd fsubs unit test
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 13:59:52 +0000 (14:59 +0100)]
add fsubs unit test

2 years agoadd first "ExpectedState" to HDL-sim ALU test cases
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 23:05:07 +0000 (00:05 +0100)]
add first "ExpectedState" to HDL-sim ALU test cases

2 years agotests for test state class
klehman [Wed, 22 Sep 2021 21:35:05 +0000 (17:35 -0400)]
tests for test state  class

2 years agoand add expected to TestAccumulatorBase
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:16:44 +0000 (21:16 +0100)]
and add expected to TestAccumulatorBase

2 years agoadd expected argument to TestCase
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:08:45 +0000 (21:08 +0100)]
add expected argument to TestCase

2 years agotake a copy of SPRs so they are not modified by ISACaller
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 18:33:40 +0000 (19:33 +0100)]
take a copy of SPRs so they are not modified by ISACaller

2 years agosplit out function which processes initial test memory values in Mem class
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 15:48:45 +0000 (16:48 +0100)]
split out function which processes initial test memory values in Mem class

2 years agomade mem sizes equal for compare purposes
klehman [Wed, 22 Sep 2021 13:44:28 +0000 (09:44 -0400)]
made mem sizes equal for compare purposes

2 years agoadded teststate_check_mem
klehman [Tue, 21 Sep 2021 18:08:19 +0000 (14:08 -0400)]
added teststate_check_mem

2 years agofix borked TestState.get_mem() assumed simmem.depth existed DRAFT_SVP64_0_1
Luke Kenneth Casson Leighton [Tue, 21 Sep 2021 14:45:49 +0000 (15:45 +0100)]
fix borked TestState.get_mem() assumed simmem.depth existed

2 years agosyntax error
Luke Kenneth Casson Leighton [Mon, 20 Sep 2021 17:35:12 +0000 (18:35 +0100)]
syntax error

2 years agowalk whole of sim memory rather than risk missing some addresses
Luke Kenneth Casson Leighton [Mon, 20 Sep 2021 17:34:16 +0000 (18:34 +0100)]
walk whole of sim memory rather than risk missing some addresses

2 years agoalways store full memory state (including zeros)
Luke Kenneth Casson Leighton [Sat, 18 Sep 2021 15:04:33 +0000 (16:04 +0100)]
always store full memory state (including zeros)

2 years agoadded get_mem and compare_mem
klehman [Sat, 18 Sep 2021 11:42:22 +0000 (07:42 -0400)]
added get_mem and compare_mem

2 years agoadd mock power-instruction-analyzer implementation to test_caller_bcd_full.py
Jacob Lifshay [Thu, 16 Sep 2021 21:02:09 +0000 (14:02 -0700)]
add mock power-instruction-analyzer implementation to test_caller_bcd_full.py

for use until pia is ported to python

2 years agofix test_caller_bcd_full.py not actually running correct test cases
Jacob Lifshay [Tue, 7 Sep 2021 06:53:26 +0000 (23:53 -0700)]
fix test_caller_bcd_full.py not actually running correct test cases

2 years agoadd test_caller_bcd_full.py to fully test all edge cases missed by test_caller_bcd.py
Jacob Lifshay [Tue, 7 Sep 2021 05:35:07 +0000 (22:35 -0700)]
add test_caller_bcd_full.py to fully test all edge cases missed by test_caller_bcd.py

2 years agobit of a mess, got a working check against static ExpectedState
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 23:08:32 +0000 (00:08 +0100)]
bit of a mess, got a working check against static ExpectedState
needed to extract state from the simulator *inside* the nmigen process()
function

2 years agowhoops must check crregs being int, not int_regs
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 23:07:28 +0000 (00:07 +0100)]
whoops must check crregs being int, not int_regs

2 years agogrr weird syntax error
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 22:35:32 +0000 (23:35 +0100)]
grr weird syntax error

2 years agoanother yield excursion
klehman [Thu, 16 Sep 2021 22:08:36 +0000 (18:08 -0400)]
another yield excursion

2 years agopep8 fix
klehman [Thu, 16 Sep 2021 19:23:23 +0000 (15:23 -0400)]
pep8 fix

2 years agoreduce code linecount slightly
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 18:48:32 +0000 (19:48 +0100)]
reduce code linecount slightly

2 years agoadded defaults for expected state parameters
klehman [Thu, 16 Sep 2021 17:43:19 +0000 (13:43 -0400)]
added defaults for expected state parameters

2 years agomoving teststate_check_regs written by klehman into openpower-isa
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 16:06:27 +0000 (17:06 +0100)]
moving teststate_check_regs written by klehman into openpower-isa

2 years agoshift__rot_caller change to use expected state
klehman [Thu, 16 Sep 2021 14:54:26 +0000 (10:54 -0400)]
shift__rot_caller change to use expected state

2 years agorevised state class for expected
klehman [Wed, 15 Sep 2021 21:52:21 +0000 (17:52 -0400)]
revised state class for expected

2 years agoyield from in unit test
klehman [Wed, 15 Sep 2021 19:42:57 +0000 (15:42 -0400)]
yield from in unit test

2 years agoexpected class WIP
klehman [Wed, 15 Sep 2021 19:13:12 +0000 (15:13 -0400)]
expected class WIP

2 years agochange state_add to name, kls
Luke Kenneth Casson Leighton [Tue, 14 Sep 2021 17:39:38 +0000 (18:39 +0100)]
change state_add to name, kls

2 years agoadd copy of teststate.py written by klehman
Luke Kenneth Casson Leighton [Tue, 14 Sep 2021 16:52:52 +0000 (17:52 +0100)]
add copy of teststate.py written by klehman

2 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 12 Sep 2021 13:37:10 +0000 (14:37 +0100)]
whitespace

2 years agoadded assertion to regression_rlwnm
klehman [Tue, 7 Sep 2021 15:47:32 +0000 (11:47 -0400)]
added assertion to regression_rlwnm

2 years agofixedtrap: switch tw to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 19:38:56 +0000 (19:38 +0000)]
fixedtrap: switch tw to XLEN

2 years agofixedtrap: switch twi to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 19:38:26 +0000 (19:38 +0000)]
fixedtrap: switch twi to XLEN

2 years agoXLEN-ify bcd instructions
Jacob Lifshay [Tue, 7 Sep 2021 06:54:12 +0000 (23:54 -0700)]
XLEN-ify bcd instructions

2 years agoclean up test_caller_bcd.py
Jacob Lifshay [Tue, 7 Sep 2021 05:10:22 +0000 (22:10 -0700)]
clean up test_caller_bcd.py

2 years agoadd missing items to .gitignore
Jacob Lifshay [Tue, 7 Sep 2021 05:09:51 +0000 (22:09 -0700)]
add missing items to .gitignore

2 years agoremoved duplicate function and unneeded modules
Luke Kenneth Casson Leighton [Tue, 7 Sep 2021 10:07:23 +0000 (11:07 +0100)]
removed duplicate function and unneeded modules

2 years agoFixed typo for sraw test
klehman [Tue, 7 Sep 2021 02:22:12 +0000 (22:22 -0400)]
Fixed typo for sraw test

2 years agoInitial commit for shift/rotate caller
klehman [Tue, 7 Sep 2021 01:02:50 +0000 (21:02 -0400)]
Initial commit for shift/rotate caller

2 years agocomparefixed: switch cmpeqb to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 18:05:40 +0000 (18:05 +0000)]
comparefixed: switch cmpeqb to XLEN

2 years agocomparefixed: switch cmprb to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:37:55 +0000 (17:37 +0000)]
comparefixed: switch cmprb to XLEN

2 years agocomparefixed: switch cmpl to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:30:12 +0000 (17:30 +0000)]
comparefixed: switch cmpl to XLEN

2 years agocomparefixed: switch cmpli to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:29:28 +0000 (17:29 +0000)]
comparefixed: switch cmpli to XLEN

2 years agocomparefixed: switch cmp to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:27:44 +0000 (17:27 +0000)]
comparefixed: switch cmp to XLEN

2 years agocomparefixed: switch cmpi to XLEN
Dmitry Selyutin [Sat, 4 Sep 2021 17:27:20 +0000 (17:27 +0000)]
comparefixed: switch cmpi to XLEN