soc.git
3 years agonoticed the regular pattern in all pipe_data.py (regspecs).
Luke Kenneth Casson Leighton [Sat, 6 Jun 2020 04:38:09 +0000 (05:38 +0100)]
noticed the regular pattern in all pipe_data.py (regspecs).
removed manual Input/Output Data, use regspecs to create it, in IntegerData

3 years agocomment out CR assertion for now
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 19:43:38 +0000 (20:43 +0100)]
comment out CR assertion for now

3 years agoAdded skeleton fu/trap/test/test_pipe_caller using
colepoirier [Fri, 5 Jun 2020 20:07:27 +0000 (13:07 -0700)]
Added skeleton fu/trap/test/test_pipe_caller using
fu/cr/test/test_pipe_caller as template

3 years agoAdd trap_input_data.py for fu/trap, cookie-cut from
colepoirier [Fri, 5 Jun 2020 19:55:33 +0000 (12:55 -0700)]
Add trap_input_data.py for fu/trap, cookie-cut from
fu/cr/cr_input_record with all 'CR' references changed to 'Trap'

3 years agofix proof_datamerger (see 216#c56)
Tobias Platen [Fri, 5 Jun 2020 19:18:46 +0000 (21:18 +0200)]
fix proof_datamerger (see 216#c56)

3 years agoupdate comments
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:45:27 +0000 (16:45 +0100)]
update comments

3 years agoadd comments and start of elaborate
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:33:05 +0000 (16:33 +0100)]
add comments and start of elaborate

3 years agomore comments
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:21:05 +0000 (16:21 +0100)]
more comments

3 years agomore comments
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:19:50 +0000 (16:19 +0100)]
more comments

3 years agoa_i not b_in
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:16:03 +0000 (16:16 +0100)]
a_i not b_in

3 years agoadd comments
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 15:14:21 +0000 (16:14 +0100)]
add comments

3 years agoexperimenting with CR, not quite right
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 12:51:52 +0000 (13:51 +0100)]
experimenting with CR, not quite right

3 years agoMade small changes to fu/trap/main_stage to bring nmigen into line with
colepoirier [Fri, 5 Jun 2020 14:12:26 +0000 (07:12 -0700)]
Made small changes to fu/trap/main_stage to bring nmigen into line with
microwatt VHDL

3 years agoimplement init function of DualPortSplitter
Tobias Platen [Fri, 5 Jun 2020 14:01:41 +0000 (16:01 +0200)]
implement init function of DualPortSplitter

3 years agouncomment rtlil.convert in test_l0_cache that causes runtime error
Tobias Platen [Fri, 5 Jun 2020 13:13:26 +0000 (15:13 +0200)]
uncomment rtlil.convert in test_l0_cache that causes runtime error

3 years agowhoops returning cr2 for cr3 regspec map
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 12:40:19 +0000 (13:40 +0100)]
whoops returning cr2 for cr3 regspec map

3 years agoname regfile ports by name not numerical position
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 11:36:56 +0000 (12:36 +0100)]
name regfile ports by name not numerical position

3 years agowhoops connecting up CR in wrong order. fixing with list sort
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 11:13:10 +0000 (12:13 +0100)]
whoops connecting up CR in wrong order.  fixing with list sort

3 years agofix syntax errors and use correct FastRegs (SRR0/1 not SRR1/2)
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 10:45:34 +0000 (11:45 +0100)]
fix syntax errors and use correct FastRegs (SRR0/1 not SRR1/2)

3 years agoadd TODO for MFSPR/MTSPR
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 04:01:11 +0000 (05:01 +0100)]
add TODO for MFSPR/MTSPR

3 years agorefer to srr0/1 not a/b
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 03:53:52 +0000 (04:53 +0100)]
refer to srr0/1 not a/b

3 years agoadd msr_copy function and use it in OP_TRAP, OP_RFID and OP_SC
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 03:51:09 +0000 (04:51 +0100)]
add msr_copy function and use it in OP_TRAP, OP_RFID and OP_SC

3 years agoset SRR0 in OP_SC
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 03:41:05 +0000 (04:41 +0100)]
set SRR0 in OP_SC

3 years agoadd OP_RFID SRR0/SRR1 in PowerDecode2
Luke Kenneth Casson Leighton [Fri, 5 Jun 2020 03:37:41 +0000 (04:37 +0100)]
add OP_RFID SRR0/SRR1 in PowerDecode2

3 years agoUse a_i and b_i convenience variables instead of a and b registers in
colepoirier [Thu, 4 Jun 2020 22:37:19 +0000 (15:37 -0700)]
Use a_i and b_i convenience variables instead of a and b registers in
fu/trap/main_stage

3 years agotesting CRs after writing: not in the right bit-order
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 20:53:20 +0000 (21:53 +0100)]
testing CRs after writing: not in the right bit-order

3 years agoremove unneeded code
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 20:34:00 +0000 (21:34 +0100)]
remove unneeded code

3 years agouse common TestCase class in logical
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 20:01:11 +0000 (21:01 +0100)]
use common TestCase class in logical

3 years agoadd branch test case to core
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 20:00:58 +0000 (21:00 +0100)]
add branch test case to core

3 years agono global variables in test suites
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:58:01 +0000 (20:58 +0100)]
no global variables in test suites

3 years agosigh. because POWER. CR index inversion
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:54:16 +0000 (20:54 +0100)]
sigh.  because POWER. CR index inversion

3 years agosigh. weirdness involving bit-inversion, inconsistency on mfcr and isel
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:49:32 +0000 (20:49 +0100)]
sigh.  weirdness involving bit-inversion, inconsistency on mfcr and isel

3 years agono global variables in test suites
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:20:22 +0000 (20:20 +0100)]
no global variables in test suites

3 years agoadd ShiftRot test case (works only because CRs are not tested)
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:18:18 +0000 (20:18 +0100)]
add ShiftRot test case (works only because CRs are not tested)

3 years agoadd both logical and ALU test core
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:17:12 +0000 (20:17 +0100)]
add both logical and ALU test core

3 years agono global variables in test suites
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:13:40 +0000 (20:13 +0100)]
no global variables in test suites

3 years agono global variables in test suites
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:12:11 +0000 (20:12 +0100)]
no global variables in test suites

3 years agono global variables in test suites
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:10:37 +0000 (20:10 +0100)]
no global variables in test suites

3 years agowhoops, docstring indentation
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 19:05:33 +0000 (20:05 +0100)]
whoops, docstring indentation

3 years agoadd docstrings for read/write port connection
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 18:54:36 +0000 (19:54 +0100)]
add docstrings for read/write port connection

3 years agomove core code into separate functions, for clarity
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 18:50:46 +0000 (19:50 +0100)]
move core code into separate functions, for clarity

3 years agoreduce amount of code in SelectableInt
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:57:36 +0000 (18:57 +0100)]
reduce amount of code in SelectableInt

3 years agooops forgot to switch write-enable off
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:53:13 +0000 (18:53 +0100)]
oops forgot to switch write-enable off

3 years agocomment clarify on core
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:48:46 +0000 (18:48 +0100)]
comment clarify on core

3 years agoinitialise XER from simulation
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:45:31 +0000 (18:45 +0100)]
initialise XER from simulation

3 years agomessing with valid/busy signals in core test
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:27:27 +0000 (18:27 +0100)]
messing with valid/busy signals in core test

3 years agoadd extra argument (not used) to regfile.py
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:27:03 +0000 (18:27 +0100)]
add extra argument (not used) to regfile.py

3 years agohmmm sync-delay wport write and wen
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 17:26:07 +0000 (18:26 +0100)]
hmmm sync-delay wport write and wen

3 years agowhitespace
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:52:21 +0000 (17:52 +0100)]
whitespace

3 years agotest actual reg values being produced in core test
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:45:41 +0000 (17:45 +0100)]
test actual reg values being produced in core test

3 years agouse common TestCase in branch
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:34:37 +0000 (17:34 +0100)]
use common TestCase in branch

3 years agouse common TestCase in shift_rot
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:32:56 +0000 (17:32 +0100)]
use common TestCase in shift_rot

3 years agouse common TestCase in alu
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:31:47 +0000 (17:31 +0100)]
use common TestCase in alu

3 years agomove TestCase to common location
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:29:00 +0000 (17:29 +0100)]
move TestCase to common location

3 years agomove reg setup to earlier in test
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 16:28:46 +0000 (17:28 +0100)]
move reg setup to earlier in test

3 years agocomment out wrflag as it should already be in the fu.wr.rel logic
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 15:09:20 +0000 (16:09 +0100)]
comment out wrflag as it should already be in the fu.wr.rel logic

3 years agotest against Logical (hard-coded change)
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 13:30:44 +0000 (14:30 +0100)]
test against Logical (hard-coded change)

3 years agoadd first cut at test core
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 13:23:26 +0000 (14:23 +0100)]
add first cut at test core

3 years agosync onto fu.go_wr_i otherwise a loop occurs
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 13:21:42 +0000 (14:21 +0100)]
sync onto fu.go_wr_i otherwise a loop occurs

3 years agoadd rdmask and issue/busy setting
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 13:06:42 +0000 (14:06 +0100)]
add rdmask and issue/busy setting

3 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 12:51:01 +0000 (13:51 +0100)]
remove unneeded imports

3 years agouse copy of FHDLTestCase
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 12:48:17 +0000 (13:48 +0100)]
use copy of FHDLTestCase

3 years agoconnect up write-ports from Regfiles to FUs
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 12:03:04 +0000 (13:03 +0100)]
connect up write-ports from Regfiles to FUs

3 years agodocstring for AllFunctionUnits
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 11:54:09 +0000 (12:54 +0100)]
docstring for AllFunctionUnits

3 years agomissing a fastregs write-port
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 11:53:41 +0000 (12:53 +0100)]
missing a fastregs write-port

3 years agoupdate docstring on simple/core.py
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 11:31:38 +0000 (12:31 +0100)]
update docstring on simple/core.py

3 years agomove regfile/spec organiser to separate function
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 11:27:10 +0000 (12:27 +0100)]
move regfile/spec organiser to separate function

3 years agomention convenience variables
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 11:03:55 +0000 (12:03 +0100)]
mention convenience variables

3 years agorename trap to use convenience variables
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 10:58:49 +0000 (11:58 +0100)]
rename trap to use convenience variables

3 years agoUndo damage done by deleting VHDL microwatt comments,
colepoirier [Thu, 4 Jun 2020 00:22:32 +0000 (17:22 -0700)]
Undo damage done by deleting VHDL microwatt comments,
merge resolution deletion of convenience variables in
fu/trap/main_stage

3 years agocollate fu-enable signals
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 00:24:20 +0000 (01:24 +0100)]
collate fu-enable signals

3 years agoconnect up Function Unit operand subsets
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 00:18:34 +0000 (01:18 +0100)]
connect up Function Unit operand subsets

3 years agoforgot to add in rdflag enable
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 23:55:02 +0000 (00:55 +0100)]
forgot to add in rdflag enable

3 years agowhoops, regfiles are uppercase
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 23:52:04 +0000 (00:52 +0100)]
whoops, regfiles are uppercase

3 years agowhoops needed a bit of a reorg of the data structure for regfile connections
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 23:42:44 +0000 (00:42 +0100)]
whoops needed a bit of a reorg of the data structure for regfile connections

3 years agohmmm got naming wrong in regfile-fu connectivity
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 23:02:35 +0000 (00:02 +0100)]
hmmm got naming wrong in regfile-fu connectivity

3 years agowhoops names of regfiles are lower-case
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 22:46:17 +0000 (23:46 +0100)]
whoops names of regfiles are lower-case

3 years agomunge/redirect the regfile port based on the naming
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 22:28:56 +0000 (23:28 +0100)]
munge/redirect the regfile port based on the naming
"full" ports are the first indexed.
also only enable the read-port enable if the picker is enabled

3 years agoconnect read-enable and src_i to regfile ports
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 22:00:05 +0000 (23:00 +0100)]
connect read-enable and src_i to regfile ports

3 years agolink up PriorityPickers on read channels
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 21:45:12 +0000 (22:45 +0100)]
link up PriorityPickers on read channels

3 years agoput rdspecs into a different dictionary
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 19:22:36 +0000 (20:22 +0100)]
put rdspecs into a different dictionary

3 years agostart putting a non-production core together,
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 19:00:07 +0000 (20:00 +0100)]
start putting a non-production core together,
sorting the read ports first, to get a look at them

3 years agoadd a simple core, not intended for production use
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 17:29:34 +0000 (18:29 +0100)]
add a simple core, not intended for production use

3 years agocorrect comments on regspec decode map
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 14:22:14 +0000 (15:22 +0100)]
correct comments on regspec decode map

3 years agoonly select xer_xo if OE enabled
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 13:57:48 +0000 (14:57 +0100)]
only select xer_xo if OE enabled

3 years agodecide to elaborate Refiles *into* another class, rather than make them their
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 13:32:01 +0000 (14:32 +0100)]
decide to elaborate Refiles *into* another class, rather than make them their
own module.  this will reduce a level of hierarchy and make access easier

3 years agoturn RegFiles into module, add all regfiles to it
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 13:30:00 +0000 (14:30 +0100)]
turn RegFiles into module, add all regfiles to it

3 years agoadd a simple class containing all FunctionUnits
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 13:18:02 +0000 (14:18 +0100)]
add a simple class containing all FunctionUnits

3 years agomore work on proof_datamerger.py
Tobias Platen [Wed, 3 Jun 2020 13:15:02 +0000 (15:15 +0200)]
more work on proof_datamerger.py

3 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Wed, 3 Jun 2020 13:12:01 +0000 (15:12 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

3 years agoadd class containing all regfiles
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 13:07:21 +0000 (14:07 +0100)]
add class containing all regfiles

3 years agowhitespace
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 12:40:07 +0000 (13:40 +0100)]
whitespace

3 years agouse common get_cu_inputs for CR unit tests
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 12:35:08 +0000 (13:35 +0100)]
use common get_cu_inputs for CR unit tests

3 years agoconvert shift_rot tests to use common get_cu_inputs function
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 12:28:24 +0000 (13:28 +0100)]
convert shift_rot tests to use common get_cu_inputs function

3 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Wed, 3 Jun 2020 12:19:48 +0000 (14:19 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

3 years agowhitespace fix for proof_datamerger.py
Tobias Platen [Wed, 3 Jun 2020 12:19:40 +0000 (14:19 +0200)]
whitespace fix for proof_datamerger.py

3 years agoreorganise ALU tests, move get_cu_inputs function to common location
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 12:10:51 +0000 (13:10 +0100)]
reorganise ALU tests, move get_cu_inputs function to common location

3 years agoworked out how to dynamically enable carry-in to ALU: test input_carry against CryIn...
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 11:52:25 +0000 (12:52 +0100)]
worked out how to dynamically enable carry-in to ALU: test input_carry against CryIn.CA.value

3 years agocorrect overflow-enable flags for rdmask specs in ALU
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 11:43:25 +0000 (12:43 +0100)]
correct overflow-enable flags for rdmask specs in ALU

3 years agoattempt to make carry-in and overflow-enable optional on ALU
Luke Kenneth Casson Leighton [Wed, 3 Jun 2020 11:41:44 +0000 (12:41 +0100)]
attempt to make carry-in and overflow-enable optional on ALU