soc.git
21 months agoadd missing packages
Jacob Lifshay [Mon, 6 Apr 2020 00:26:04 +0000 (17:26 -0700)]
add missing packages

21 months agoalmost all tests work
Jacob Lifshay [Mon, 6 Apr 2020 00:12:20 +0000 (17:12 -0700)]
almost all tests work

21 months agoadd .gitlab-ci.yml
Jacob Lifshay [Sun, 5 Apr 2020 22:44:49 +0000 (15:44 -0700)]
add .gitlab-ci.yml

21 months agouse fields.txt as the local file name and add to gitignore
Jacob Lifshay [Sun, 5 Apr 2020 22:21:23 +0000 (15:21 -0700)]
use fields.txt as the local file name and add to gitignore

21 months agoRevert "rename fields.text to use standard .txt file extension and add to gitignore"
Jacob Lifshay [Sun, 5 Apr 2020 21:59:55 +0000 (14:59 -0700)]
Revert "rename fields.text to use standard .txt file extension and add to gitignore"

server doesn't work with .txt files

This reverts commit 334c2ed237e3cb5fe66a782afaa2354d577841ba.

21 months agorename fields.text to use standard .txt file extension and add to gitignore
Jacob Lifshay [Sun, 5 Apr 2020 21:52:41 +0000 (14:52 -0700)]
rename fields.text to use standard .txt file extension and add to gitignore

21 months agoput regs through to ISACaller
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 20:51:16 +0000 (21:51 +0100)]
put regs through to ISACaller

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 20:15:42 +0000 (21:15 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 20:12:55 +0000 (21:12 +0100)]
update submodule

21 months agogot fed up of hard-coded names, allow pywriter.py to take arguments
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 20:12:38 +0000 (21:12 +0100)]
got fed up of hard-coded names, allow pywriter.py to take arguments

21 months agoadd comment about form / op_fields
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 20:03:07 +0000 (21:03 +0100)]
add comment about form / op_fields

21 months agounpack tuple with new op_fields
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 19:55:21 +0000 (20:55 +0100)]
unpack tuple with new op_fields

21 months agoadd Form name parsing
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 19:45:25 +0000 (20:45 +0100)]
add Form name parsing

21 months agoAutogenerate all.py
Michael Nolan [Sun, 5 Apr 2020 19:41:23 +0000 (15:41 -0400)]
Autogenerate all.py

21 months agoHandle new changes in pseudocode parser
Michael Nolan [Sun, 5 Apr 2020 19:26:20 +0000 (15:26 -0400)]
Handle new changes in pseudocode parser

21 months agoHandle opcodes returning EXTS() results
Michael Nolan [Sun, 5 Apr 2020 19:25:51 +0000 (15:25 -0400)]
Handle opcodes returning EXTS() results

21 months agoFix bug 281
Michael Nolan [Sun, 5 Apr 2020 19:17:58 +0000 (15:17 -0400)]
Fix bug 281

21 months agoeffort to get base class instructions automatically
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 19:14:35 +0000 (20:14 +0100)]
effort to get base class instructions automatically

21 months agoAdd in _reg and immediate support
Michael Nolan [Sun, 5 Apr 2020 19:11:49 +0000 (15:11 -0400)]
Add in _reg and immediate support

21 months agoFix issue with memory load/store byte order
Michael Nolan [Sun, 5 Apr 2020 19:11:27 +0000 (15:11 -0400)]
Fix issue with memory load/store byte order

21 months agoFix not being able to use all instructions in ISA class
Michael Nolan [Sun, 5 Apr 2020 19:10:43 +0000 (15:10 -0400)]
Fix not being able to use all instructions in ISA class

21 months agoremove ISACaller as base class, do in soc.decoder.isa.ISA
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 19:04:54 +0000 (20:04 +0100)]
remove ISACaller as base class, do in soc.decoder.isa.ISA

21 months agoget hex to recognise capitals
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 19:03:14 +0000 (20:03 +0100)]
get hex to recognise capitals

21 months agosubmodule update
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:59:34 +0000 (19:59 +0100)]
submodule update

21 months agoadd printout of instruction Form
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:59:25 +0000 (19:59 +0100)]
add printout of instruction Form

21 months agodrop instr info into uniquely-named dict
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:54:30 +0000 (19:54 +0100)]
drop instr info into uniquely-named dict

21 months agoRevert "Implement bug 278, comment 1 - better version of EXTS"
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:42:06 +0000 (19:42 +0100)]
Revert "Implement bug 278, comment 1 - better version of EXTS"

This reverts commit b5e4e847c2841189386da3509949d9206de92f8b.

21 months agoImplement bug 278, comment 1 - better version of EXTS
Michael Nolan [Sun, 5 Apr 2020 18:31:48 +0000 (14:31 -0400)]
Implement bug 278, comment 1 - better version of EXTS

21 months agoMove combination class out of __init__
Michael Nolan [Sun, 5 Apr 2020 18:25:13 +0000 (14:25 -0400)]
Move combination class out of __init__

21 months agoadd HEX to parser
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:16:18 +0000 (19:16 +0100)]
add HEX to parser

21 months agofix repr (0x prefix) and add repr test for selectable int
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 18:16:05 +0000 (19:16 +0100)]
fix repr (0x prefix) and add repr test for selectable int

21 months agoFix addi instruction, think a commit got lost
Michael Nolan [Sun, 5 Apr 2020 18:00:44 +0000 (14:00 -0400)]
Fix addi instruction, think a commit got lost

21 months agoAdd class for combining multiple instruction classes
Michael Nolan [Sun, 5 Apr 2020 17:59:40 +0000 (13:59 -0400)]
Add class for combining multiple instruction classes

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:46:33 +0000 (17:46 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:43:29 +0000 (17:43 +0100)]
update submodule

21 months agoadd SPR rework from SPR(x) to SPR[x]
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:43:14 +0000 (17:43 +0100)]
add SPR rework from SPR(x) to SPR[x]

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:40:19 +0000 (17:40 +0100)]
update submodule

21 months agoconstruct switch/case/default from if/elif/elif/else
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:40:01 +0000 (17:40 +0100)]
construct switch/case/default from if/elif/elif/else

21 months agoadd start on switch/case/default in parser
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 16:05:43 +0000 (17:05 +0100)]
add start on switch/case/default in parser

21 months agosubmodule update
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 15:12:47 +0000 (16:12 +0100)]
submodule update

21 months agocase and default do not need implicit colon
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 14:56:13 +0000 (15:56 +0100)]
case and default do not need implicit colon

21 months agoadd switch case and default keywords
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 14:32:49 +0000 (15:32 +0100)]
add switch case and default keywords

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 12:22:37 +0000 (13:22 +0100)]
update submodule

21 months agofix issue with subscript uninitialised detection
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 12:07:00 +0000 (13:07 +0100)]
fix issue with subscript uninitialised detection

21 months agoallow [s] * 64 to be detected and turned into a repeat-list pattern
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:52:01 +0000 (12:52 +0100)]
allow [s] * 64 to be detected and turned into a repeat-list pattern

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:46:48 +0000 (12:46 +0100)]
update submodule

21 months agotest trap, shift and condition
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:46:39 +0000 (12:46 +0100)]
test trap, shift and condition

21 months agoadd selectconcat test
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:46:24 +0000 (12:46 +0100)]
add selectconcat test

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:37:18 +0000 (12:37 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:04:35 +0000 (12:04 +0100)]
update submodule

21 months agoquick test found missing bracket
Luke Kenneth Casson Leighton [Sun, 5 Apr 2020 11:04:25 +0000 (12:04 +0100)]
quick test found missing bracket

21 months agoadd != operator
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:22:46 +0000 (22:22 +0100)]
add != operator

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:18:23 +0000 (22:18 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:15:58 +0000 (22:15 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:14:56 +0000 (22:14 +0100)]
update submodule

21 months agoupdate submodule libreriscv
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:13:15 +0000 (22:13 +0100)]
update submodule libreriscv

21 months agoadd <-iea operator
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:13:03 +0000 (22:13 +0100)]
add <-iea operator

21 months agoprint regfile on only 4 lines
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:04:52 +0000 (22:04 +0100)]
print regfile on only 4 lines

21 months agodump regfile nicely
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:02:01 +0000 (22:02 +0100)]
dump regfile nicely

21 months agoadd dump function for regs
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 21:00:51 +0000 (22:00 +0100)]
add dump function for regs

21 months agocheck that SelectableInt has been extended to 256 bits
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:57:00 +0000 (21:57 +0100)]
check that SelectableInt has been extended to 256 bits

21 months agoWorking test_add
Michael Nolan [Sat, 4 Apr 2020 20:40:32 +0000 (16:40 -0400)]
Working test_add

21 months agoimport EXTS which over-extends to 256 bits
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:53:03 +0000 (21:53 +0100)]
import EXTS which over-extends to 256 bits

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:44:37 +0000 (21:44 +0100)]
update submodule

21 months agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:43:19 +0000 (21:43 +0100)]
update submodule

21 months agowhoops wrong token for XOR
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:40:29 +0000 (21:40 +0100)]
whoops wrong token for XOR

21 months agochange @inject to take no parameters
Michael Nolan [Sat, 4 Apr 2020 20:33:25 +0000 (16:33 -0400)]
change @inject to take no parameters

There are issues with using decorators with class variables (see
https://stackoverflow.com/questions/11731136/class-method-decorator-with-self-arguments)
so it was changed to take no variables and access the class internally

21 months agoadd support for syntax "do i = N to N" equivalent to for
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:28:55 +0000 (21:28 +0100)]
add support for syntax "do i = N to N" equivalent to for
also fix bug where "for i = N" was getting early-reduced
to "for {comparison}" because "=" is also used as a comparator

21 months agoSorta working add instruction
Michael Nolan [Sat, 4 Apr 2020 20:23:01 +0000 (16:23 -0400)]
Sorta working add instruction

21 months agoremove extraneous statement
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:22:30 +0000 (21:22 +0100)]
remove extraneous statement

21 months agotry again with adding XOR operator
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:19:40 +0000 (21:19 +0100)]
try again with adding XOR operator

21 months agoupdate libreriscv submodule
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 20:17:53 +0000 (21:17 +0100)]
update libreriscv submodule

21 months agoMinor changes to test for caller.py, still not working at all
Michael Nolan [Sat, 4 Apr 2020 20:02:50 +0000 (16:02 -0400)]
Minor changes to test for caller.py, still not working at all

21 months agoAdd a basic test class for caller.py
Michael Nolan [Sat, 4 Apr 2020 19:56:17 +0000 (15:56 -0400)]
Add a basic test class for caller.py

21 months agomove GPR and Mem to isa caller
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 19:39:54 +0000 (20:39 +0100)]
move GPR and Mem to isa caller

21 months agoadd means to subscript two levels deep
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 19:24:08 +0000 (20:24 +0100)]
add means to subscript two levels deep

21 months agoadd memory get/set
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 18:41:34 +0000 (19:41 +0100)]
add memory get/set

21 months agoeurg start putting namespace-injection (GPR, MEM) in place
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 16:39:34 +0000 (17:39 +0100)]
eurg start putting namespace-injection (GPR, MEM) in place

21 months agotest fixedload
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 16:36:26 +0000 (17:36 +0100)]
test fixedload

21 months agosigh change syntax to (RA|0)
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 16:15:39 +0000 (17:15 +0100)]
sigh change syntax to (RA|0)

21 months agoallow int in addition and subtraction
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 16:15:17 +0000 (17:15 +0100)]
allow int in addition and subtraction

21 months agoadd OrderedSet, needed to preserve function arg order
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 13:45:19 +0000 (14:45 +0100)]
add OrderedSet, needed to preserve function arg order

21 months agouse set not list to make regs unique
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 13:39:28 +0000 (14:39 +0100)]
use set not list to make regs unique

21 months agoadd SelectableInt and selectconcat to imports
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 13:25:37 +0000 (14:25 +0100)]
add SelectableInt and selectconcat to imports

21 months agowhoops prefix op_ already added
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:54:40 +0000 (13:54 +0100)]
whoops prefix op_ already added

21 months agowhoops sort out function name
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:54:09 +0000 (13:54 +0100)]
whoops sort out function name

21 months agoadd "op_" prefix to function names to avoid use of python keywords
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:52:03 +0000 (13:52 +0100)]
add "op_" prefix to function names to avoid use of python keywords

21 months agowhitespace
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:49:25 +0000 (13:49 +0100)]
whitespace

21 months agomove to header-template, fix bug in page name (use instruction name)
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:48:49 +0000 (13:48 +0100)]
move to header-template, fix bug in page name (use instruction name)

21 months agoadd imports for helper functions to pywriter
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:45:56 +0000 (13:45 +0100)]
add imports for helper functions to pywriter

21 months agoidentify [0]*16 pattern and produce repeat-of-int
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:44:04 +0000 (13:44 +0100)]
identify [0]*16 pattern and produce repeat-of-int

21 months agoadd modulo to parser (and div to SelectableInt)
Luke Kenneth Casson Leighton [Sat, 4 Apr 2020 12:05:04 +0000 (13:05 +0100)]
add modulo to parser (and div to SelectableInt)

21 months agoremove quotes because we are passing the function through
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 21:36:27 +0000 (22:36 +0100)]
remove quotes because we are passing the function through

21 months agoplan to use class named ISACaller base class
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 21:34:51 +0000 (22:34 +0100)]
plan to use class named ISACaller base class

21 months agocreate list of args, pass them in to function, return results too
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 21:10:29 +0000 (22:10 +0100)]
create list of args, pass them in to function, return results too

21 months agopower parser should work
Jacob Lifshay [Fri, 3 Apr 2020 20:05:53 +0000 (13:05 -0700)]
power parser should work

21 months agoadd comments, get example working
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 19:00:48 +0000 (20:00 +0100)]
add comments, get example working

21 months agoadd __bool__ override to selectable_int
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 19:00:37 +0000 (20:00 +0100)]
add __bool__ override to selectable_int

21 months agooutput as class not set of functions
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 18:45:01 +0000 (19:45 +0100)]
output as class not set of functions

21 months agounary minus is at end not in front
Luke Kenneth Casson Leighton [Fri, 3 Apr 2020 18:44:48 +0000 (19:44 +0100)]
unary minus is at end not in front