soc.git
4 years agomunge alu_fsm Shifter into looking like CompALU API compliant
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 17:07:25 +0000 (18:07 +0100)]
munge alu_fsm Shifter into looking like CompALU API compliant

4 years agoresolving issues with div tests (turned out to be nmutil.divmod)
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 12:34:07 +0000 (13:34 +0100)]
resolving issues with div tests (turned out to be nmutil.divmod)
adding more tests to track down a CR0 issue

4 years agoremove xer_ca from DIV pipeline (took a bit of messing about)
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 10:49:51 +0000 (11:49 +0100)]
remove xer_ca from DIV pipeline (took a bit of messing about)

4 years agoDefine ports for a simple sequential Shifter
Cesar Strauss [Thu, 9 Jul 2020 09:50:47 +0000 (06:50 -0300)]
Define ports for a simple sequential Shifter

4 years agoirony comment on how one line creates a massive array of gates
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 09:55:52 +0000 (10:55 +0100)]
irony comment on how one line creates a massive array of gates

4 years agoadd new stages etc. to get multiply working without xer_ca
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 09:52:46 +0000 (10:52 +0100)]
add new stages etc. to get multiply working without xer_ca

4 years agocreate new DivMulOutputData which does not have CA/CA32
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 09:32:57 +0000 (10:32 +0100)]
create new DivMulOutputData which does not have CA/CA32

4 years agomake carry output handling optional in common output stage
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 08:32:55 +0000 (09:32 +0100)]
make carry output handling optional in common output stage

4 years agoidentifying locations where big/little endian is in place, adding args
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 00:07:24 +0000 (01:07 +0100)]
identifying locations where big/little endian is in place, adding args

4 years agoresolving bigendian/littleendian modes in qemu sim
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 19:49:32 +0000 (20:49 +0100)]
resolving bigendian/littleendian modes in qemu sim

4 years agoresolving old and new behaviour for lookup of SPRs
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 19:24:45 +0000 (20:24 +0100)]
resolving old and new behaviour for lookup of SPRs

4 years agoresolving old and new behaviour for lookup of SPRs
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 19:23:39 +0000 (20:23 +0100)]
resolving old and new behaviour for lookup of SPRs

4 years agoadding in ALU test back in, debugging SPR setup
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 19:15:23 +0000 (20:15 +0100)]
adding in ALU test back in, debugging SPR setup

4 years agosorting out setting of XER
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 19:09:48 +0000 (20:09 +0100)]
sorting out setting of XER

4 years agoadd spr to fast reg converter
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 18:45:27 +0000 (19:45 +0100)]
add spr to fast reg converter

4 years agogot test_issuer operational on one unit test
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 18:37:14 +0000 (19:37 +0100)]
got test_issuer operational on one unit test
however needs further investigation

4 years agoswitch assembler to little-endian
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 17:26:16 +0000 (18:26 +0100)]
switch assembler to little-endian

4 years agostashing current state of investigation whilst looking for regression bug
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:41:48 +0000 (17:41 +0100)]
stashing current state of investigation whilst looking for regression bug

4 years agoadd test trap simulator unit test
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:22:52 +0000 (17:22 +0100)]
add test trap simulator unit test

4 years agoallow qemu to stop at specified end point
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:22:35 +0000 (17:22 +0100)]
allow qemu to stop at specified end point

4 years agoadd mtspr and bcctrl instructions to helloworld test
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:18:51 +0000 (17:18 +0100)]
add mtspr and bcctrl instructions to helloworld test

4 years agoadd option to qemu to break at known alternate address
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:18:29 +0000 (17:18 +0100)]
add option to qemu to break at known alternate address

4 years agoadd to/from spr test (mtspr, mfspr)
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 16:05:16 +0000 (17:05 +0100)]
add to/from spr test (mtspr, mfspr)

4 years agoadd code-fragment from microwatt helloworld
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 15:09:18 +0000 (16:09 +0100)]
add code-fragment from microwatt helloworld

4 years agoadd a simple addis test (regression)
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 15:05:18 +0000 (16:05 +0100)]
add a simple addis test (regression)

4 years agocopy binary loaded from disk into data memory as well
Luke Kenneth Casson Leighton [Wed, 8 Jul 2020 15:05:04 +0000 (16:05 +0100)]
copy binary loaded from disk into data memory as well

4 years agoStart the FSM-based ALU example.
Cesar Strauss [Wed, 8 Jul 2020 09:42:07 +0000 (06:42 -0300)]
Start the FSM-based ALU example.

4 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Jacob Lifshay [Wed, 8 Jul 2020 02:39:36 +0000 (19:39 -0700)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

4 years agoadd WIP pipeline loop demo
Jacob Lifshay [Wed, 8 Jul 2020 02:39:13 +0000 (19:39 -0700)]
add WIP pipeline loop demo

4 years agoadd hello world binary test
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 23:41:12 +0000 (00:41 +0100)]
add hello world binary test

4 years agowhoops error in test of dynamic parameter
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 23:23:56 +0000 (00:23 +0100)]
whoops error in test of dynamic parameter

4 years agosort-of got binary execution test working
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 23:21:48 +0000 (00:21 +0100)]
sort-of got binary execution test working

4 years agocode-shuffle on testing to prepare loading large files into memory
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 20:05:21 +0000 (21:05 +0100)]
code-shuffle on testing to prepare loading large files into memory

4 years agoClear input data along with valid_i
Cesar Strauss [Tue, 7 Jul 2020 09:30:02 +0000 (06:30 -0300)]
Clear input data along with valid_i

4 years agoordering of tests for OP_ATTN needed shuffling. seems to be working
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 15:20:12 +0000 (16:20 +0100)]
ordering of tests for OP_ATTN needed shuffling.  seems to be working

4 years agowhoops got Function.NONE test wrong in PowerDecode2
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 15:11:40 +0000 (16:11 +0100)]
whoops got Function.NONE test wrong in PowerDecode2

4 years agoremove unneeded record field from logical_input_record
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 15:05:54 +0000 (16:05 +0100)]
remove unneeded record field from logical_input_record

4 years agodebugging termination (OP_ATTN)
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 15:02:24 +0000 (16:02 +0100)]
debugging termination (OP_ATTN)

4 years agoupdate opcode map for OP_ATTN
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 14:50:30 +0000 (15:50 +0100)]
update opcode map for OP_ATTN

4 years agoadd halted condition in ISACaller, when attn instruction encountered
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 14:42:52 +0000 (15:42 +0100)]
add halted condition in ISACaller, when attn instruction encountered

4 years agodebugging termination / OP_ATTN
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 14:27:50 +0000 (15:27 +0100)]
debugging termination / OP_ATTN

4 years agoadd ATTN unit test
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 13:15:56 +0000 (14:15 +0100)]
add ATTN unit test

4 years agoadd core start/stop capability, and OP_ATTN support
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 13:14:46 +0000 (14:14 +0100)]
add core start/stop capability, and OP_ATTN support

4 years agoadd in SPR test cases into test_issuer.py
Luke Kenneth Casson Leighton [Tue, 7 Jul 2020 12:42:20 +0000 (13:42 +0100)]
add in SPR test cases into test_issuer.py

4 years agouse ComMULOpSubset in mul pipeline
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:28:38 +0000 (23:28 +0100)]
use ComMULOpSubset in mul pipeline

4 years agoremove alu unneeded op record data
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:26:56 +0000 (23:26 +0100)]
remove alu unneeded op record data

4 years agoremove alu unneeded op record data
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:23:51 +0000 (23:23 +0100)]
remove alu unneeded op record data

4 years agoremove alu unneeded op record data
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:22:45 +0000 (23:22 +0100)]
remove alu unneeded op record data

4 years agoadd mul unit to test_issuer
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:15:55 +0000 (23:15 +0100)]
add mul unit to test_issuer

4 years agoadd mul compunit
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:13:00 +0000 (23:13 +0100)]
add mul compunit

4 years agowhoops forgot that the mul pipeline is actually a pipeline (3 stage, first one)
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 22:08:53 +0000 (23:08 +0100)]
whoops forgot that the mul pipeline is actually a pipeline (3 stage, first one)

4 years agodo abs slightly differently in SelectableInt
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:48:26 +0000 (20:48 +0100)]
do abs slightly differently in SelectableInt

4 years agocontinue mul unit test debugging
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:43:48 +0000 (20:43 +0100)]
continue mul unit test debugging

4 years agoadd MULS (signed) version of multiply
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:19:58 +0000 (20:19 +0100)]
add MULS (signed) version of multiply

4 years agoimprove debug for test_sim.py
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:19:48 +0000 (20:19 +0100)]
improve debug for test_sim.py

4 years agoadd mullw test to qemu sim
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:19:26 +0000 (20:19 +0100)]
add mullw test to qemu sim

4 years agofix SelectableInt abs
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 19:19:06 +0000 (20:19 +0100)]
fix SelectableInt abs

4 years agoadd first simulator mul test
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 18:56:33 +0000 (19:56 +0100)]
add first simulator mul test

4 years agoinvestigating mul pipeline
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 18:49:49 +0000 (19:49 +0100)]
investigating mul pipeline

4 years agoSelectableInt: make __mul__ return enough space to fit the result
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 18:44:58 +0000 (19:44 +0100)]
SelectableInt: make __mul__ return enough space to fit the result

4 years agofirst cut at mul test pipeline
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 16:02:09 +0000 (17:02 +0100)]
first cut at mul test pipeline

4 years agoadd first cut at fu mul pipeline
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 15:34:31 +0000 (16:34 +0100)]
add first cut at fu mul pipeline

4 years agoadding mtspr tests
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 13:12:12 +0000 (14:12 +0100)]
adding mtspr tests

4 years agoadding OP_MTMSR test
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 13:11:47 +0000 (14:11 +0100)]
adding OP_MTMSR test

4 years agoadd mtmsr internal op
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 13:11:09 +0000 (14:11 +0100)]
add mtmsr internal op

4 years agoadd mtmsr internal op
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 13:10:59 +0000 (14:10 +0100)]
add mtmsr internal op

4 years agosort out initialisation of TstL0CacheBuffer in ldst compunit test
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 13:08:04 +0000 (14:08 +0100)]
sort out initialisation of TstL0CacheBuffer in ldst compunit test

4 years agoAssert n.ready_i at the beginning of the cycle
Cesar Strauss [Mon, 6 Jul 2020 11:12:59 +0000 (08:12 -0300)]
Assert n.ready_i at the beginning of the cycle

This simulates the common case where we are ready for the
result as soon as the ALU delivers it.
The special case for the zero-delay operation is no longer
needed.

4 years agoRemove wait state to demonstrate zero-delay reception.
Cesar Strauss [Mon, 6 Jul 2020 10:56:51 +0000 (07:56 -0300)]
Remove wait state to demonstrate zero-delay reception.

4 years agoSimplify waiting loops
Cesar Strauss [Mon, 6 Jul 2020 10:49:05 +0000 (07:49 -0300)]
Simplify waiting loops

4 years agoFinally add some well needed comments
Cesar Strauss [Mon, 6 Jul 2020 09:44:24 +0000 (06:44 -0300)]
Finally add some well needed comments

4 years agoSimplify waiting loops
Cesar Strauss [Mon, 6 Jul 2020 08:53:57 +0000 (05:53 -0300)]
Simplify waiting loops

4 years agoAdd some wait states in each process
Cesar Strauss [Sun, 5 Jul 2020 22:57:14 +0000 (19:57 -0300)]
Add some wait states in each process

4 years agoNegate inputs after use
Cesar Strauss [Sun, 5 Jul 2020 22:46:03 +0000 (19:46 -0300)]
Negate inputs after use

4 years agoAdd other tests
Cesar Strauss [Sun, 5 Jul 2020 22:44:00 +0000 (19:44 -0300)]
Add other tests

4 years agoImplement receiver
Cesar Strauss [Sun, 5 Jul 2020 22:30:45 +0000 (19:30 -0300)]
Implement receiver

4 years agoImplement sender.
Cesar Strauss [Sun, 5 Jul 2020 22:13:26 +0000 (19:13 -0300)]
Implement sender.

4 years agoBegin a new parallel test
Cesar Strauss [Sat, 4 Jul 2020 14:45:36 +0000 (11:45 -0300)]
Begin a new parallel test

The purpose of this test is really to better develop a
parallel test concept, by testing against a simple
target.

4 years agoadd mtmsr tests (fail)
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 21:32:56 +0000 (22:32 +0100)]
add mtmsr tests (fail)

4 years agocheck trap compunit output properly
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 21:18:34 +0000 (22:18 +0100)]
check trap compunit output properly

4 years agocheck msr in trap test, fix OP_RFID
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 21:17:13 +0000 (22:17 +0100)]
check msr in trap test, fix OP_RFID

4 years agoadd an illegal instruction trap test
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 20:54:58 +0000 (21:54 +0100)]
add an illegal instruction trap test

4 years agoset up a trap function for microcode override
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 20:54:42 +0000 (21:54 +0100)]
set up a trap function for microcode override

4 years agobig reorg on PowerDecoder2, actually Decode2Execute1Type
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 15:40:30 +0000 (16:40 +0100)]
big reorg on PowerDecoder2, actually Decode2Execute1Type
plan is to move the decoding of instruction fields closer to the
CompUnits

4 years agostop debug output in power_decoder
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 15:29:35 +0000 (16:29 +0100)]
stop debug output in power_decoder

4 years agocomments in power_regspec_map.py
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 14:36:18 +0000 (15:36 +0100)]
comments in power_regspec_map.py

4 years agocomment on spr2, not needed
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 14:30:58 +0000 (15:30 +0100)]
comment on spr2, not needed

4 years agocheck xer_out not xer_in
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 14:29:27 +0000 (15:29 +0100)]
check xer_out not xer_in

4 years agosplit out Decode2ToExecuteType fields involving registers
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 14:27:23 +0000 (15:27 +0100)]
split out Decode2ToExecuteType fields involving registers
into constants Decode2ToOperand

4 years agosigh read and write xer detection, fix spr and trap compunit tests
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 14:16:13 +0000 (15:16 +0100)]
sigh read and write xer detection, fix spr and trap compunit tests

4 years agocheck spr1 in test spr compunit
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:56:44 +0000 (13:56 +0100)]
check spr1 in test spr compunit

4 years agoget/set slow spr in spr test_pipe_caller
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:52:38 +0000 (13:52 +0100)]
get/set slow spr in spr test_pipe_caller

4 years agoadd first spr compunit test (not working yet)
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:29:29 +0000 (13:29 +0100)]
add first spr compunit test (not working yet)

4 years agoadd SPR test case, commented out for now
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:25:46 +0000 (13:25 +0100)]
add SPR test case, commented out for now

4 years agomove valid signal out of Decode2ToExecute1Type and into PowerDecoder2
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:18:03 +0000 (13:18 +0100)]
move valid signal out of Decode2ToExecute1Type and into PowerDecoder2

4 years agoadd slow spr regfile regspec support
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:12:28 +0000 (13:12 +0100)]
add slow spr regfile regspec support

4 years agoremap SPR PowerISA numbers to internal SPR enum
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 12:04:22 +0000 (13:04 +0100)]
remap SPR PowerISA numbers to internal SPR enum

4 years agocomment out SPR for now, needs SPR regfile
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 11:22:28 +0000 (12:22 +0100)]
comment out SPR for now, needs SPR regfile

4 years agoadd SPR compunit
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 11:18:10 +0000 (12:18 +0100)]
add SPR compunit

4 years agomissing initialisation of disasm_start
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 11:09:08 +0000 (12:09 +0100)]
missing initialisation of disasm_start