soc.git
4 years agoImplement the Shifter data path
Cesar Strauss [Sat, 18 Jul 2020 19:02:19 +0000 (16:02 -0300)]
Implement the Shifter data path

4 years agoDocument move of the next port data
Cesar Strauss [Sat, 18 Jul 2020 13:52:06 +0000 (10:52 -0300)]
Document move of the next port data

4 years agoadd SR latch cxxrtl backend demo
Luke Kenneth Casson Leighton [Sat, 18 Jul 2020 12:09:14 +0000 (13:09 +0100)]
add SR latch cxxrtl backend demo

4 years agoadd comment and copy of pseudo-code for OP_RFID into trap proof_main_stage.py
Luke Kenneth Casson Leighton [Sat, 18 Jul 2020 10:03:00 +0000 (11:03 +0100)]
add comment and copy of pseudo-code for OP_RFID into trap proof_main_stage.py

4 years agoreview of OP_RFID showed up some errors
Luke Kenneth Casson Leighton [Sat, 18 Jul 2020 09:48:37 +0000 (10:48 +0100)]
review of OP_RFID showed up some errors

4 years agocorrections to trap main_stage.py OP_RFID according to reading spec
Luke Kenneth Casson Leighton [Sat, 18 Jul 2020 09:07:25 +0000 (10:07 +0100)]
corrections to trap main_stage.py OP_RFID according to reading spec

4 years agoWIP: FV failing for unknown reasons.
Samuel A. Falvo II [Sat, 18 Jul 2020 04:09:52 +0000 (21:09 -0700)]
WIP: FV failing for unknown reasons.

Can someone put a second pair of eyes on this code?  I don't understand
why FV is failing for the RFID instruction.  I've spent at least three
hours trying to diagnose this without success.

4 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Jacob Lifshay [Sat, 18 Jul 2020 03:17:40 +0000 (20:17 -0700)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

4 years agoadd div fsm core (`DivState*`) with tests
Jacob Lifshay [Sat, 18 Jul 2020 03:16:27 +0000 (20:16 -0700)]
add div fsm core (`DivState*`) with tests

comb test works
fsm test fails for some reason

4 years agoFailing test: fast1/fast2 vs srr0/srr1? on trap pipe
Samuel A. Falvo II [Sat, 18 Jul 2020 01:00:05 +0000 (18:00 -0700)]
Failing test: fast1/fast2 vs srr0/srr1? on trap pipe

4 years agoforgot to clean up workspace in source
Samuel A. Falvo II [Sat, 18 Jul 2020 00:05:26 +0000 (17:05 -0700)]
forgot to clean up workspace in source

4 years agoFV props for SC instruction
Samuel A. Falvo II [Sat, 18 Jul 2020 00:04:33 +0000 (17:04 -0700)]
FV props for SC instruction

4 years agoFirst FV property for trap unit
Samuel A. Falvo II [Fri, 17 Jul 2020 23:26:23 +0000 (16:26 -0700)]
First FV property for trap unit

4 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Jacob Lifshay [Fri, 17 Jul 2020 20:56:21 +0000 (13:56 -0700)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

4 years agostart adding FSMDivCore*
Jacob Lifshay [Fri, 17 Jul 2020 20:55:26 +0000 (13:55 -0700)]
start adding FSMDivCore*

4 years agocomment explaining why not to call self.trap in PowerDecode2
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 20:50:36 +0000 (21:50 +0100)]
comment explaining why not to call self.trap in PowerDecode2

4 years agolikewise cut across latest Minerva loadstore with line-for-line manual compare
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 19:42:27 +0000 (20:42 +0100)]
likewise cut across latest Minerva loadstore with line-for-line manual compare

4 years agosigh easier to just do a line-for-line comparison of latest minerva fetch
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 19:35:09 +0000 (20:35 +0100)]
sigh easier to just do a line-for-line comparison of latest minerva fetch

4 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Jacob Lifshay [Fri, 17 Jul 2020 19:30:11 +0000 (12:30 -0700)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

4 years agoport minerva cache fixes
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 19:22:24 +0000 (20:22 +0100)]
port minerva cache fixes
commit 3a0158919144757a2b369c9b750c72339e912f1d
Author: Jean-François Nguyen <jf@lambdaconcept.com>
Date:   Wed Sep 11 01:34:46 2019 +0200

    fetch,loadstore: Fix `{f,m}_busy` signal in case of a cache miss.

4 years agoadd .pylintrc
Jacob Lifshay [Fri, 17 Jul 2020 19:19:33 +0000 (12:19 -0700)]
add .pylintrc

4 years agoforward-port minerva loadstore bugfix
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 19:18:23 +0000 (20:18 +0100)]
forward-port minerva loadstore bugfix
commit a03a72e04764dc976d85ea44b1cf0767e240b81f
Author: Jean-François Nguyen <jf@lambdaconcept.com>
Date:   Thu Apr 30 12:23:36 2020 +0200

    loadstore: fix conflict between write buffer and dcache refill.

4 years agocomments
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 18:58:48 +0000 (19:58 +0100)]
comments

4 years agosubmodule update (again. sigh)
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 18:47:09 +0000 (19:47 +0100)]
submodule update (again. sigh)

4 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 17:46:06 +0000 (18:46 +0100)]
whitespace

4 years agouse convenience vars in spr proof
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 17:44:16 +0000 (18:44 +0100)]
use convenience vars in spr proof

4 years agoFlesh out SPR-related FV properties.
Samuel A. Falvo II [Fri, 17 Jul 2020 17:30:10 +0000 (10:30 -0700)]
Flesh out SPR-related FV properties.

4 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 12:15:32 +0000 (13:15 +0100)]
whitespace

4 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 17 Jul 2020 12:13:51 +0000 (13:13 +0100)]
whitespace

4 years agoadd simulation-only division core using nmigen div and rem operators
Jacob Lifshay [Fri, 17 Jul 2020 04:26:07 +0000 (21:26 -0700)]
add simulation-only division core using nmigen div and rem operators

4 years agorename DIV->Div to be consistent
Jacob Lifshay [Fri, 17 Jul 2020 03:07:18 +0000 (20:07 -0700)]
rename DIV->Div to be consistent

4 years agoformat div code
Jacob Lifshay [Fri, 17 Jul 2020 03:02:03 +0000 (20:02 -0700)]
format div code

4 years agoadd missing fixedldstcache.py to .gitignore
Jacob Lifshay [Fri, 17 Jul 2020 02:43:18 +0000 (19:43 -0700)]
add missing fixedldstcache.py to .gitignore

4 years agoupdate submodule
Jacob Lifshay [Fri, 17 Jul 2020 02:39:06 +0000 (19:39 -0700)]
update submodule

4 years agowhoops tried doing mtspr priv, it failed but failed by trying to run TRAP div_pipeline
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 10:24:09 +0000 (11:24 +0100)]
whoops tried doing mtspr priv, it failed but failed by trying to run TRAP
which is of course not in this pipeline

4 years agoget shiftrot compunit working
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 10:18:05 +0000 (11:18 +0100)]
get shiftrot compunit working

4 years agomore tidyup on use of CompOpSubsetBase
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 10:17:18 +0000 (11:17 +0100)]
more tidyup on use of CompOpSubsetBase

4 years agouse CompOpSubsetBase in ldst record
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 10:14:48 +0000 (11:14 +0100)]
use CompOpSubsetBase in ldst record

4 years agosigh, bug in sprset.patch
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 10:06:04 +0000 (11:06 +0100)]
sigh, bug in sprset.patch

4 years agoupdate cr input record to use new CompOpSubsetBase
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:52:14 +0000 (10:52 +0100)]
update cr input record to use new CompOpSubsetBase

4 years agoadd regression test on setb simulator error
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:51:52 +0000 (10:51 +0100)]
add regression test on setb simulator error

4 years agouse CompOpSubsetBase class in Branch op record
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:47:16 +0000 (10:47 +0100)]
use CompOpSubsetBase class in Branch op record

4 years agoget branch compunit working (missing bigendian arg)
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:42:21 +0000 (10:42 +0100)]
get branch compunit working (missing bigendian arg)

4 years agoget trap compunit test working, adding bigendian and msr
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:41:13 +0000 (10:41 +0100)]
get trap compunit test working, adding bigendian and msr

4 years agoadd mfmsr trap tests
Luke Kenneth Casson Leighton [Thu, 16 Jul 2020 09:26:46 +0000 (10:26 +0100)]
add mfmsr trap tests

4 years agouse new CompOpSubsetBase in trap
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 19:58:10 +0000 (20:58 +0100)]
use new CompOpSubsetBase in trap

4 years agoremove unneeded comment in trap msin stage
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 19:42:36 +0000 (20:42 +0100)]
remove unneeded comment in trap msin stage

4 years agoremove unneeded comment in trap pipe_data
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 19:38:04 +0000 (20:38 +0100)]
remove unneeded comment in trap pipe_data

4 years agodocument branch pipeline relationship with PowerDecode2
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 17:26:27 +0000 (18:26 +0100)]
document branch pipeline relationship with PowerDecode2

4 years agosimplify instr_is_priv
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 16:42:05 +0000 (17:42 +0100)]
simplify instr_is_priv

4 years agomove traptype to soc.consts
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 16:25:12 +0000 (17:25 +0100)]
move traptype to soc.consts

4 years agoadd better comments on mul overflow
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 15:11:19 +0000 (16:11 +0100)]
add better comments on mul overflow

4 years agotest privileged rfid call
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 15:07:53 +0000 (16:07 +0100)]
test privileged rfid call

4 years agospelling error
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 14:59:28 +0000 (15:59 +0100)]
spelling error

4 years agorange of testing overflow was incorrect in mul
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 14:59:02 +0000 (15:59 +0100)]
range of testing overflow was incorrect in mul
see https://bugs.libre-soc.org/show_bug.cgi?id=432

4 years agoset MSR up properly for privileged mtmsr test
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 14:56:54 +0000 (15:56 +0100)]
set MSR up properly for privileged mtmsr test

4 years agowhoops forgot to update PC after trap in ISACaller
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 14:21:30 +0000 (15:21 +0100)]
whoops forgot to update PC after trap in ISACaller

4 years agomove priv test to above illegal/trap test
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 14:20:59 +0000 (15:20 +0100)]
move priv test to above illegal/trap test

4 years agocomments on IntegerData class
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:53:15 +0000 (14:53 +0100)]
comments on IntegerData class

4 years agoimport PipeContext not FPPipeContext
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:52:12 +0000 (14:52 +0100)]
import PipeContext not FPPipeContext

4 years agominor reorg on PowerDecoder2, use switch/case rather than if/or
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:38:46 +0000 (14:38 +0100)]
minor reorg on PowerDecoder2, use switch/case rather than if/or

4 years agocomments on SPRmap done in PowerDecode2
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:29:36 +0000 (14:29 +0100)]
comments on SPRmap done in PowerDecode2

4 years agocomments on SPRmap done in PowerDecode2
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:28:12 +0000 (14:28 +0100)]
comments on SPRmap done in PowerDecode2

4 years agouse case statement in PowerDecode2
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:21:23 +0000 (14:21 +0100)]
use case statement in PowerDecode2

4 years agoselect RA based on LDSTMode.update in PowerDecode2
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:13:28 +0000 (14:13 +0100)]
select RA based on LDSTMode.update in PowerDecode2

4 years agoadd cache cx to LDSTMode
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:10:30 +0000 (14:10 +0100)]
add cache cx to LDSTMode

4 years agoremove unused class XerBits
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:05:28 +0000 (14:05 +0100)]
remove unused class XerBits

4 years agouse Record Assert and also check muxid
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 10:49:52 +0000 (11:49 +0100)]
use Record Assert and also check muxid
see https://bugs.libre-soc.org/show_bug.cgi?id=429#c3

4 years agono need to check individual port members, just check the Record (dut.i.ctx.op)
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 10:18:27 +0000 (11:18 +0100)]
no need to check individual port members, just check the Record (dut.i.ctx.op)

4 years agocookie-cut setup from alu proof_main_stage.py
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:59:59 +0000 (20:59 +0100)]
cookie-cut setup from alu proof_main_stage.py

4 years agoreduce code size by using CompOpSubsetBase for ALU and Logical
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:54:21 +0000 (20:54 +0100)]
reduce code size by using CompOpSubsetBase for ALU and Logical

4 years agosplit out CompOpSubsetBase (meaning to do for a while)
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:43:22 +0000 (20:43 +0100)]
split out CompOpSubsetBase (meaning to do for a while)

4 years agoupdate docstrings
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:31:49 +0000 (20:31 +0100)]
update docstrings

4 years agoadding MSR.PR unit test intended to activate privileged trap
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:31:38 +0000 (20:31 +0100)]
adding MSR.PR unit test intended to activate privileged trap

4 years agoattempting to access self.msr directly
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 19:31:05 +0000 (20:31 +0100)]
attempting to access self.msr directly

4 years agoSPR: FV that should fail currently passes
Samuel A. Falvo II [Tue, 14 Jul 2020 19:17:45 +0000 (12:17 -0700)]
SPR: FV that should fail currently passes

WIP.  Cannot figure out why this is not failing.  Code review requested.

4 years agoset up masks for OP_RL* formal proof
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 15:06:29 +0000 (16:06 +0100)]
set up masks for OP_RL* formal proof

4 years agoadd priv instruction checking to ISACaller simulator
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 13:05:38 +0000 (14:05 +0100)]
add priv instruction checking to ISACaller simulator

4 years agoadd in privileged instruction decision-making in PowerDecode2
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 12:00:19 +0000 (13:00 +0100)]
add in privileged instruction decision-making in PowerDecode2

4 years agoadd MSR reading to issue FSM
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 11:43:53 +0000 (12:43 +0100)]
add MSR reading to issue FSM

4 years agocomments on PowerDecode2
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 11:00:54 +0000 (12:00 +0100)]
comments on PowerDecode2

4 years agoadd MSR to PowerDecoder2
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 10:47:05 +0000 (11:47 +0100)]
add MSR to PowerDecoder2

4 years agodisable cxxsim test
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 10:42:29 +0000 (11:42 +0100)]
disable cxxsim test

4 years agoattempting running cxxsim on ALU pipeline test
Luke Kenneth Casson Leighton [Tue, 14 Jul 2020 10:41:41 +0000 (11:41 +0100)]
attempting running cxxsim on ALU pipeline test

4 years agofirst attempt running cxxsim
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 22:59:34 +0000 (23:59 +0100)]
first attempt running cxxsim

4 years agofix path to nmigen-soc.git
Tobias Platen [Tue, 14 Jul 2020 05:32:42 +0000 (07:32 +0200)]
fix path to nmigen-soc.git

4 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 19:30:39 +0000 (20:30 +0100)]
whitespace

4 years agoformal proof of OP_EXTSWSLI
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 19:28:11 +0000 (20:28 +0100)]
formal proof of OP_EXTSWSLI

4 years agoquick test showing how left/right mask work
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 19:27:56 +0000 (20:27 +0100)]
quick test showing how left/right mask work

4 years agoadd nmigen-soc to .gitlab-ci.yml
Tobias Platen [Mon, 13 Jul 2020 18:13:03 +0000 (20:13 +0200)]
add nmigen-soc to .gitlab-ci.yml

4 years agoadd mtmsrd instruction and unit test
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 18:07:08 +0000 (19:07 +0100)]
add mtmsrd instruction and unit test

4 years agocomments
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 15:14:24 +0000 (16:14 +0100)]
comments

4 years agoattempting formal proof of OP_EXTSWSLI
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 15:07:09 +0000 (16:07 +0100)]
attempting formal proof of OP_EXTSWSLI

4 years agoreduce rotl module to one line (use bit_select)
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 14:13:21 +0000 (15:13 +0100)]
reduce rotl module to one line (use bit_select)

4 years agodocument rb as sh
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 13:55:04 +0000 (14:55 +0100)]
document rb as sh

4 years agoincrease range of test values for extswsli
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 13:45:09 +0000 (14:45 +0100)]
increase range of test values for extswsli

4 years agoadd EXTSWSLI "pass" to formal shift_rot proof
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 13:21:44 +0000 (14:21 +0100)]
add EXTSWSLI "pass" to formal shift_rot proof

4 years agoremove unneeded spec patching
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 13:18:14 +0000 (14:18 +0100)]
remove unneeded spec patching

4 years agoenable extswsli tests, fix spec-patching
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 13:17:34 +0000 (14:17 +0100)]
enable extswsli tests, fix spec-patching

4 years agoadd regression test, simulator is wrong
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 12:03:28 +0000 (13:03 +0100)]
add regression test, simulator is wrong