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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

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

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

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

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

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

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

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

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

3 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

3 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

3 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

3 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

3 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

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

3 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

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

3 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

3 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

3 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

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

3 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

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

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

3 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

3 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

3 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

3 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

3 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

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

3 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

3 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

3 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

3 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"

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

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

3 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

3 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

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

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

3 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

3 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

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

3 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

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

3 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

3 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

3 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

3 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

3 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

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

3 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

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

3 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

3 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)

3 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

3 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

3 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

3 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

3 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

3 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

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

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

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

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

3 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

3 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

3 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

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

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

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

3 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

3 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

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

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

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

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

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

3 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

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

3 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

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

3 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

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

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

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

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

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

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

3 years agotest_caller_bcd: switch to test_runner module
Dmitry Selyutin [Fri, 3 Sep 2021 20:31:34 +0000 (20:31 +0000)]
test_caller_bcd: switch to test_runner module

3 years agotest_runner: support custom pdecode2 instances
Dmitry Selyutin [Fri, 3 Sep 2021 20:29:00 +0000 (20:29 +0000)]
test_runner: support custom pdecode2 instances

3 years agosplit out ISATestRunner to separate module
Luke Kenneth Casson Leighton [Sat, 4 Sep 2021 13:11:47 +0000 (14:11 +0100)]
split out ISATestRunner to separate module