soc.git
4 years agoAdd and or and xor to main_stage
Michael Nolan [Fri, 8 May 2020 17:56:37 +0000 (13:56 -0400)]
Add and or and xor to main_stage

4 years agoAdd carry in and out
Michael Nolan [Fri, 8 May 2020 17:52:30 +0000 (13:52 -0400)]
Add carry in and out

4 years agoHave input_stage set the b operand to imm_data if it is valid
Michael Nolan [Fri, 8 May 2020 17:49:27 +0000 (13:49 -0400)]
Have input_stage set the b operand to imm_data if it is valid

4 years agoAdd extra bits (carry, overflow, etc) to input and output structs
Michael Nolan [Fri, 8 May 2020 17:32:35 +0000 (13:32 -0400)]
Add extra bits (carry, overflow, etc) to input and output structs

4 years agoBegin adding main ALU stage
Michael Nolan [Fri, 8 May 2020 17:23:09 +0000 (13:23 -0400)]
Begin adding main ALU stage

4 years agoConvert alu to use the op in ctx
Michael Nolan [Fri, 8 May 2020 16:35:51 +0000 (12:35 -0400)]
Convert alu to use the op in ctx

4 years agoAdd FPPipeContext to alu pipe_data
Michael Nolan [Fri, 8 May 2020 15:56:09 +0000 (11:56 -0400)]
Add FPPipeContext to alu pipe_data

4 years agoalmost got LD/ST CompUnit working
Luke Kenneth Casson Leighton [Fri, 8 May 2020 15:31:10 +0000 (16:31 +0100)]
almost got LD/ST CompUnit working

4 years agoprototype LD/ST L0 cache/buffer was bouncing address-acknowledgement up
Luke Kenneth Casson Leighton [Fri, 8 May 2020 12:16:07 +0000 (13:16 +0100)]
prototype LD/ST L0 cache/buffer was bouncing address-acknowledgement up
and down.  clear the latch during the "reset" phase and it works now

4 years agoAdd handling of A inversion and B input
Michael Nolan [Fri, 8 May 2020 15:09:40 +0000 (11:09 -0400)]
Add handling of A inversion and B input

4 years agoBegin adding input stage of alu
Michael Nolan [Fri, 8 May 2020 15:03:34 +0000 (11:03 -0400)]
Begin adding input stage of alu

4 years agoAdd pipe data for ALU pipeline
Michael Nolan [Fri, 8 May 2020 14:43:32 +0000 (10:43 -0400)]
Add pipe data for ALU pipeline

4 years agoUpdate gitignore in isa dir
Michael Nolan [Fri, 8 May 2020 14:41:23 +0000 (10:41 -0400)]
Update gitignore in isa dir

4 years agoSeparate out ALU Input record from alu_hier.py
Michael Nolan [Fri, 8 May 2020 14:40:06 +0000 (10:40 -0400)]
Separate out ALU Input record from alu_hier.py

4 years agoAdd test_branch_loop_ctr
Michael Nolan [Thu, 7 May 2020 19:54:32 +0000 (15:54 -0400)]
Add test_branch_loop_ctr

4 years agoAdd tests for conditional branches
Michael Nolan [Thu, 7 May 2020 19:41:06 +0000 (15:41 -0400)]
Add tests for conditional branches

4 years agomove unused simulator code out the way
Luke Kenneth Casson Leighton [Thu, 7 May 2020 18:35:32 +0000 (19:35 +0100)]
move unused simulator code out the way

4 years agotesting LD without ST
Luke Kenneth Casson Leighton [Thu, 7 May 2020 18:34:56 +0000 (19:34 +0100)]
testing LD without ST

4 years agoOoops, forgot comparefixed.patch
Michael Nolan [Thu, 7 May 2020 18:21:07 +0000 (14:21 -0400)]
Ooops, forgot comparefixed.patch

4 years agoGet test_cmp working
Michael Nolan [Thu, 7 May 2020 18:18:32 +0000 (14:18 -0400)]
Get test_cmp working

4 years agoFix test_mtcrf. Test has been verified against qemu
Michael Nolan [Thu, 7 May 2020 18:13:24 +0000 (14:13 -0400)]
Fix test_mtcrf. Test has been verified against qemu

4 years agoMake FieldSelectableInt accept slices for set and get
Michael Nolan [Thu, 7 May 2020 17:44:33 +0000 (13:44 -0400)]
Make FieldSelectableInt accept slices for set and get

4 years agoAdd handling of add with comparison
Michael Nolan [Thu, 7 May 2020 15:40:31 +0000 (11:40 -0400)]
Add handling of add with comparison

4 years agoFix bug with comparisons in selectable_int.py
Michael Nolan [Thu, 7 May 2020 15:17:48 +0000 (11:17 -0400)]
Fix bug with comparisons in selectable_int.py

4 years agoAdd test_mfcr
Michael Nolan [Thu, 7 May 2020 14:37:20 +0000 (10:37 -0400)]
Add test_mfcr

4 years agocontinuing debugging of LD/ST CompUnit FSM and unit test
Luke Kenneth Casson Leighton [Thu, 7 May 2020 14:20:40 +0000 (15:20 +0100)]
continuing debugging of LD/ST CompUnit FSM and unit test

4 years agopartially-debugged ld/st comp unit using new PortInterface
Luke Kenneth Casson Leighton [Thu, 7 May 2020 12:48:33 +0000 (13:48 +0100)]
partially-debugged ld/st comp unit using new PortInterface

4 years agoRe-enable test_mtcrf
Michael Nolan [Wed, 6 May 2020 18:23:20 +0000 (14:23 -0400)]
Re-enable test_mtcrf

4 years agoAdd length helper for getting length of a selectable int
Michael Nolan [Wed, 6 May 2020 18:21:40 +0000 (14:21 -0400)]
Add length helper for getting length of a selectable int

4 years agoAdd helper functions to replace direct comparison in generated code
Michael Nolan [Wed, 6 May 2020 18:19:06 +0000 (14:19 -0400)]
Add helper functions to replace direct comparison in generated code

4 years agono syntax errors in LDSTCompUnit multi version
Luke Kenneth Casson Leighton [Wed, 6 May 2020 17:08:23 +0000 (18:08 +0100)]
no syntax errors in LDSTCompUnit multi version

4 years agoalmost complete LD/ST CompUnit, nearing testing
Luke Kenneth Casson Leighton [Wed, 6 May 2020 16:46:30 +0000 (17:46 +0100)]
almost complete LD/ST CompUnit, nearing testing

4 years agoLook up spr length from spr table
Michael Nolan [Wed, 6 May 2020 15:44:35 +0000 (11:44 -0400)]
Look up spr length from spr table

4 years agoAdd dict of spr properties to power_enums
Michael Nolan [Wed, 6 May 2020 15:42:23 +0000 (11:42 -0400)]
Add dict of spr properties to power_enums

4 years agoImplement bctr and mtspr
Michael Nolan [Wed, 6 May 2020 15:35:47 +0000 (11:35 -0400)]
Implement bctr and mtspr

4 years agoProperly implement LR and CTR
Michael Nolan [Wed, 6 May 2020 15:05:59 +0000 (11:05 -0400)]
Properly implement LR and CTR

4 years agoAdd ability to patch generated isa files
Michael Nolan [Wed, 6 May 2020 14:43:27 +0000 (10:43 -0400)]
Add ability to patch generated isa files

4 years agoSorta kinda working bl and blr - need to properly implement lr
Michael Nolan [Wed, 6 May 2020 14:32:24 +0000 (10:32 -0400)]
Sorta kinda working bl and blr - need to properly implement lr

4 years agoremove unneeded minerva code
Luke Kenneth Casson Leighton [Wed, 6 May 2020 12:34:28 +0000 (13:34 +0100)]
remove unneeded minerva code

4 years agomention need for DualPortSplitter class
Luke Kenneth Casson Leighton [Wed, 6 May 2020 12:26:24 +0000 (13:26 +0100)]
mention need for DualPortSplitter class

4 years agomore connecting signals for LDSTCompUnit according to diagram
Luke Kenneth Casson Leighton [Wed, 6 May 2020 10:55:45 +0000 (11:55 +0100)]
more connecting signals for LDSTCompUnit according to diagram

4 years agoupdate Makefile to include required build steps
Jacob Lifshay [Wed, 6 May 2020 00:55:05 +0000 (17:55 -0700)]
update Makefile to include required build steps

4 years agoAdd rudimentary branch capability
Michael Nolan [Tue, 5 May 2020 19:58:34 +0000 (15:58 -0400)]
Add rudimentary branch capability

4 years agoFix broken test_decoder_gas
Michael Nolan [Tue, 5 May 2020 18:40:46 +0000 (14:40 -0400)]
Fix broken test_decoder_gas

4 years agobegin connecting up signals for LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 5 May 2020 16:26:52 +0000 (17:26 +0100)]
begin connecting up signals for LDSTCompUnit

4 years agoMerge branch 'master' of git.libre-riscv.org:soc
Yehowshua Immanuel [Tue, 5 May 2020 14:21:10 +0000 (10:21 -0400)]
Merge branch 'master' of git.libre-riscv.org:soc

Removed named tuple duplicate - merging with Lukes commit.

4 years agoGit rid of named tuple imported twice
Yehowshua Immanuel [Tue, 5 May 2020 14:20:57 +0000 (10:20 -0400)]
Git rid of named tuple imported twice

4 years agonew version of LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 5 May 2020 14:12:57 +0000 (15:12 +0100)]
new version of LDSTCompUnit

4 years agoLink to documentation in README.md
Yehowshua Immanuel [Tue, 5 May 2020 14:06:40 +0000 (10:06 -0400)]
Link to documentation in README.md

4 years agocomments
Luke Kenneth Casson Leighton [Mon, 4 May 2020 19:53:13 +0000 (20:53 +0100)]
comments

4 years agotake out wait for busy in L0BufferCache tests
Luke Kenneth Casson Leighton [Mon, 4 May 2020 19:49:02 +0000 (20:49 +0100)]
take out wait for busy in L0BufferCache tests

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Mon, 4 May 2020 19:41:53 +0000 (20:41 +0100)]
whitespace cleanup

4 years agobit of a mess, but functional. unit test passes on "basic" L0CacheBuffer
Luke Kenneth Casson Leighton [Mon, 4 May 2020 19:41:05 +0000 (20:41 +0100)]
bit of a mess, but functional.  unit test passes on "basic" L0CacheBuffer

4 years agohmmm trying to get st to acknowledge properly
Luke Kenneth Casson Leighton [Mon, 4 May 2020 17:59:51 +0000 (18:59 +0100)]
hmmm trying to get st to acknowledge properly

4 years agoadd links to bugreport and to memory/cache wiki page
Luke Kenneth Casson Leighton [Mon, 4 May 2020 17:27:23 +0000 (18:27 +0100)]
add links to bugreport and to memory/cache wiki page

4 years agoL0 cache/buffer first unit test, working except for one niggle
Luke Kenneth Casson Leighton [Mon, 4 May 2020 17:21:16 +0000 (18:21 +0100)]
L0 cache/buffer first unit test, working except for one niggle

4 years agoRemove request since no longer https fetches from wiki
Yehowshua Immanuel [Mon, 4 May 2020 16:39:13 +0000 (12:39 -0400)]
Remove request since no longer https fetches from wiki

4 years agoupdate cr0 when rc is set
Tobias Platen [Mon, 4 May 2020 14:26:22 +0000 (16:26 +0200)]
update cr0 when rc is set

4 years agofirst cut at "basic" L0 Cache/Buffer (untested), only sends one LD/ST through
Luke Kenneth Casson Leighton [Mon, 4 May 2020 13:48:18 +0000 (14:48 +0100)]
first cut at "basic" L0 Cache/Buffer (untested), only sends one LD/ST through
at a time.  demonstrates the LDST PortInterface

4 years agodocument PortInterface, start on "dummy" L0CacheBuffer
Luke Kenneth Casson Leighton [Mon, 4 May 2020 10:18:12 +0000 (11:18 +0100)]
document PortInterface, start on "dummy" L0CacheBuffer

4 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 4 May 2020 09:48:21 +0000 (10:48 +0100)]
whitespace

4 years agobetter comments on rd/wr pending
Luke Kenneth Casson Leighton [Mon, 4 May 2020 09:31:15 +0000 (10:31 +0100)]
better comments on rd/wr pending

4 years agomove unused out of soc directory
Luke Kenneth Casson Leighton [Sun, 3 May 2020 10:52:23 +0000 (11:52 +0100)]
move unused out of soc directory

4 years agoadd comments to power decoder
Luke Kenneth Casson Leighton [Sun, 3 May 2020 10:32:12 +0000 (11:32 +0100)]
add comments to power decoder

4 years agomove TLB and iommu to unused directory
Luke Kenneth Casson Leighton [Sun, 3 May 2020 09:49:14 +0000 (10:49 +0100)]
move TLB and iommu to unused directory

4 years agoRead decoder tables from wiki submodule instead of web
Michael Nolan [Sat, 2 May 2020 19:27:34 +0000 (15:27 -0400)]
Read decoder tables from wiki submodule instead of web

4 years agoadd LDST PortInterface class
Luke Kenneth Casson Leighton [Mon, 27 Apr 2020 11:49:49 +0000 (12:49 +0100)]
add LDST PortInterface class

4 years agoadd CompLDSTOpSubset, contains subset of decode instruction for LD/ST
Luke Kenneth Casson Leighton [Mon, 27 Apr 2020 11:49:11 +0000 (12:49 +0100)]
add CompLDSTOpSubset, contains subset of decode instruction for LD/ST

4 years agoupdate signal in DecodeToExecute1Type is "LD/ST performs update"
Luke Kenneth Casson Leighton [Mon, 27 Apr 2020 11:45:54 +0000 (12:45 +0100)]
update signal in DecodeToExecute1Type is "LD/ST performs update"

4 years agoexperimenting with ld/st comp unit
Luke Kenneth Casson Leighton [Fri, 24 Apr 2020 12:02:46 +0000 (13:02 +0100)]
experimenting with ld/st comp unit

4 years agoremove out-of-date comments
Luke Kenneth Casson Leighton [Fri, 24 Apr 2020 08:55:56 +0000 (09:55 +0100)]
remove out-of-date comments

4 years agocomment req_done
Luke Kenneth Casson Leighton [Thu, 23 Apr 2020 17:15:17 +0000 (18:15 +0100)]
comment req_done

4 years agohair-raising series of half-way-house changes which gets a mix of add/addi
Luke Kenneth Casson Leighton [Thu, 23 Apr 2020 16:48:50 +0000 (17:48 +0100)]
hair-raising series of half-way-house changes which gets a mix of add/addi
working

4 years agostart using records in score6600
Luke Kenneth Casson Leighton [Thu, 23 Apr 2020 14:17:25 +0000 (15:17 +0100)]
start using records in score6600

4 years agorename MultiCompUnit
Luke Kenneth Casson Leighton [Thu, 23 Apr 2020 13:54:55 +0000 (14:54 +0100)]
rename MultiCompUnit

4 years agouse go/rel Record in ldstcomp
Luke Kenneth Casson Leighton [Thu, 23 Apr 2020 13:53:54 +0000 (14:53 +0100)]
use go/rel Record in ldstcomp

4 years agofix request-done in compalu_multi
Luke Kenneth Casson Leighton [Wed, 22 Apr 2020 15:56:22 +0000 (16:56 +0100)]
fix request-done in compalu_multi

4 years agoLDSTCompUnit converted, no need to special-case
Luke Kenneth Casson Leighton [Wed, 22 Apr 2020 14:55:28 +0000 (15:55 +0100)]
LDSTCompUnit converted, no need to special-case

4 years agoconvert CompALU to Record in/out
Luke Kenneth Casson Leighton [Wed, 22 Apr 2020 14:54:54 +0000 (15:54 +0100)]
convert CompALU to Record in/out

4 years agofix failure to import alu_hier
Jacob Lifshay [Tue, 21 Apr 2020 04:51:27 +0000 (21:51 -0700)]
fix failure to import alu_hier

4 years agofix bug #290
Jacob Lifshay [Tue, 21 Apr 2020 04:44:45 +0000 (21:44 -0700)]
fix bug #290

4 years agoadd libmpfr-dev to .gitlab-ci.yml
Jacob Lifshay [Tue, 21 Apr 2020 00:21:03 +0000 (17:21 -0700)]
add libmpfr-dev to .gitlab-ci.yml

4 years agotestcase fo mulli
Tobias Platen [Mon, 20 Apr 2020 15:23:05 +0000 (17:23 +0200)]
testcase fo mulli

4 years agotestcase for addis
Tobias Platen [Mon, 20 Apr 2020 15:04:33 +0000 (17:04 +0200)]
testcase for addis

4 years agoadd with carry cleanup and test case
Tobias Platen [Mon, 20 Apr 2020 14:50:42 +0000 (16:50 +0200)]
add with carry cleanup and test case

4 years agochanges to LDSTCompUnit, get score6600 working
Luke Kenneth Casson Leighton [Mon, 20 Apr 2020 09:22:06 +0000 (10:22 +0100)]
changes to LDSTCompUnit, get score6600 working

4 years agoget compldst.py unit test up and running after modifications to ALU
Luke Kenneth Casson Leighton [Sun, 19 Apr 2020 20:20:36 +0000 (21:20 +0100)]
get compldst.py unit test up and running after modifications to ALU

4 years agowhoops cut/paste error, n_src used instead of n_dst on loop
Luke Kenneth Casson Leighton [Sun, 19 Apr 2020 18:54:05 +0000 (19:54 +0100)]
whoops cut/paste error, n_src used instead of n_dst on loop

4 years agoimport TestMemory globally not relative
Luke Kenneth Casson Leighton [Sun, 19 Apr 2020 18:40:47 +0000 (19:40 +0100)]
import TestMemory globally not relative

4 years agoconvert BranchALU to temporary conformant API
Luke Kenneth Casson Leighton [Sun, 19 Apr 2020 10:32:41 +0000 (11:32 +0100)]
convert BranchALU to temporary conformant API

4 years agohalf-way-house fix to get request-release signals working
Luke Kenneth Casson Leighton [Sun, 19 Apr 2020 08:29:58 +0000 (09:29 +0100)]
half-way-house fix to get request-release signals working

4 years agoattempting to get CompUnitsBase connected up
Luke Kenneth Casson Leighton [Sat, 18 Apr 2020 16:26:45 +0000 (17:26 +0100)]
attempting to get CompUnitsBase connected up

4 years ago1st operation successful, 2nd still not running correctly
Luke Kenneth Casson Leighton [Sat, 18 Apr 2020 13:31:15 +0000 (14:31 +0100)]
1st operation successful, 2nd still not running correctly

4 years agoyield ports in dep cell
Luke Kenneth Casson Leighton [Sat, 18 Apr 2020 13:03:32 +0000 (14:03 +0100)]
yield ports in dep cell

4 years agogo_rd/go_wr should not be array in FU-REGs
Luke Kenneth Casson Leighton [Sat, 18 Apr 2020 13:01:07 +0000 (14:01 +0100)]
go_rd/go_wr should not be array in FU-REGs

4 years agoupdate libreriscv submodule
Jacob Lifshay [Sat, 18 Apr 2020 00:07:58 +0000 (17:07 -0700)]
update libreriscv submodule

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

4 years agoadding WIP memory_pipe_experiment
Jacob Lifshay [Sat, 18 Apr 2020 00:05:56 +0000 (17:05 -0700)]
adding WIP memory_pipe_experiment

4 years agointpick request-release bug
Luke Kenneth Casson Leighton [Fri, 17 Apr 2020 16:29:46 +0000 (17:29 +0100)]
intpick request-release bug

4 years agoadd with carry instructions
Tobias Platen [Fri, 17 Apr 2020 16:06:25 +0000 (16:06 +0000)]
add with carry instructions