soc.git
3 years agoinstantiate MMU from AllFunctionUnits
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 20:26:01 +0000 (21:26 +0100)]
instantiate MMU from AllFunctionUnits

3 years agodo not need FAST regs in MMU
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 20:19:51 +0000 (21:19 +0100)]
do not need FAST regs in MMU

3 years agocomment mmu test
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 19:38:37 +0000 (20:38 +0100)]
comment mmu test

3 years agoadd edge-triggering to dcache/mmu "valid"
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 19:36:18 +0000 (20:36 +0100)]
add edge-triggering to dcache/mmu "valid"

3 years agoadd set MTSPR prtbl to mmu unit test
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 17:23:16 +0000 (18:23 +0100)]
add set MTSPR prtbl to mmu unit test

3 years agoadd OP_MFSPR to mmu
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 16:11:47 +0000 (17:11 +0100)]
add OP_MFSPR to mmu

3 years agouse convenience vars
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:43:30 +0000 (16:43 +0100)]
use convenience vars

3 years agoadd OP_TLBIE to mmu fsm
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:40:25 +0000 (16:40 +0100)]
add OP_TLBIE to mmu fsm

3 years agoadd OP_DCBZ to mmu fsm, needs RA to be added to MMU pipe_data
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:22:01 +0000 (16:22 +0100)]
add OP_DCBZ to mmu fsm, needs RA to be added to MMU pipe_data

3 years agoadd MMU MTSPR connection into FSM
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 14:16:12 +0000 (15:16 +0100)]
add MMU MTSPR connection into FSM

3 years agoadd in MMU and DCache into MMU FSM
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 11:52:04 +0000 (12:52 +0100)]
add in MMU and DCache into MMU FSM

3 years agomoved PLRU to nmutil
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 11:34:56 +0000 (12:34 +0100)]
moved PLRU to nmutil

3 years agoadd mmu fsm
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:41:49 +0000 (11:41 +0100)]
add mmu fsm

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:30:12 +0000 (11:30 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:28:59 +0000 (11:28 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:24:38 +0000 (11:24 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremoved (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:06:55 +0000 (11:06 +0100)]
removed (confusing/spurious) types, should be in .pyi file

3 years agoadd MMU FunctionUnit
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:58:34 +0000 (10:58 +0100)]
add MMU FunctionUnit

3 years agommu uses RB, go with it
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:23:30 +0000 (10:23 +0100)]
mmu uses RB, go with it

3 years agoadd OP_TLBIE
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:22:31 +0000 (10:22 +0100)]
add OP_TLBIE

3 years agoadd mmu initial pipe_data.py
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:13:43 +0000 (10:13 +0100)]
add mmu initial pipe_data.py

3 years agoadd extra "modes" to PortInterface
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 08:46:00 +0000 (09:46 +0100)]
add extra "modes" to PortInterface

3 years agosyntax error correction
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 07:48:57 +0000 (08:48 +0100)]
syntax error correction

3 years agoadd inline comments into icache.py
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 07:46:50 +0000 (08:46 +0100)]
add inline comments into icache.py

3 years agoicache.py add missing funciton bodies, add missing return statment, fix
Cole Poirier [Mon, 14 Sep 2020 18:41:07 +0000 (11:41 -0700)]
icache.py add missing funciton bodies, add missing return statment, fix
variable names, fix typos

3 years agoincrease TLB_NUM_WAYS to 4
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 15:59:21 +0000 (16:59 +0100)]
increase TLB_NUM_WAYS to 4

3 years agovhdl conversion not really working for plru
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 15:58:58 +0000 (16:58 +0100)]
vhdl conversion not really working for plru

3 years agoadd array signal names
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:51:45 +0000 (14:51 +0100)]
add array signal names

3 years agorename plru input
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:46:53 +0000 (14:46 +0100)]
rename plru input

3 years agorename plru input
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:46:36 +0000 (14:46 +0100)]
rename plru input

3 years agoreorg mmu lookup test so it is called twice
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:34:32 +0000 (13:34 +0100)]
reorg mmu lookup test so it is called twice

3 years agoTLB PLRUs are of TLB_WAY_BITS width
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:34:15 +0000 (13:34 +0100)]
TLB PLRUs are of TLB_WAY_BITS width

3 years agofix mmu perms/lookup in dcache
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:24:23 +0000 (13:24 +0100)]
fix mmu perms/lookup in dcache

3 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 11:52:34 +0000 (12:52 +0100)]
whitespace

3 years agoremove duplicated signal
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 11:52:17 +0000 (12:52 +0100)]
remove duplicated signal

3 years agocomments on icache
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:07:04 +0000 (11:07 +0100)]
comments on icache

3 years agoget rid of rst
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:05:49 +0000 (11:05 +0100)]
get rid of rst

3 years agouse word_select
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:00:34 +0000 (11:00 +0100)]
use word_select

3 years agoadd mmu-dcache test
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 09:58:02 +0000 (10:58 +0100)]
add mmu-dcache test

3 years agoicache.py connect up all the sub-functions, fix typos and other small
Cole Poirier [Mon, 14 Sep 2020 01:09:23 +0000 (18:09 -0700)]
icache.py connect up all the sub-functions, fix typos and other small
errors I get running the file, hit a wall with current error so stopping for today

3 years agoicache.py add parameters to 'process' functions, fix small errors
Cole Poirier [Mon, 14 Sep 2020 00:16:20 +0000 (17:16 -0700)]
icache.py add parameters to 'process' functions, fix small errors

3 years agoicache.py move get/read/write functions out of ICache class to top of
Cole Poirier [Sun, 13 Sep 2020 23:46:03 +0000 (16:46 -0700)]
icache.py move get/read/write functions out of ICache class to top of
file under constants

3 years agoicache.py copy simulation code from dcache.py, fix syntax
Cole Poirier [Sun, 13 Sep 2020 22:34:35 +0000 (15:34 -0700)]
icache.py copy simulation code from dcache.py, fix syntax

3 years agoicache.py fix syntax, move all constants and Array/type creation
Cole Poirier [Sun, 13 Sep 2020 22:06:32 +0000 (15:06 -0700)]
icache.py fix syntax, move all constants and Array/type creation
functions to top of file

3 years agoicache.py fix syntax errors that occured when running python3 icache.py
Cole Poirier [Sun, 13 Sep 2020 21:26:13 +0000 (14:26 -0700)]
icache.py fix syntax errors that occured when running python3 icache.py

3 years agodcache truncate wishbone address, store real_addr in alternative
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 19:11:40 +0000 (20:11 +0100)]
dcache truncate wishbone address, store real_addr in alternative

3 years agolast mmu get seems ok
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 17:42:36 +0000 (18:42 +0100)]
last mmu get seems ok

3 years agowhoops recursion error v.shift calculated from v.shift
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 17:37:07 +0000 (18:37 +0100)]
whoops recursion error v.shift calculated from v.shift

3 years agomore experimenting with mmu READ_WAIT state
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 16:57:34 +0000 (17:57 +0100)]
more experimenting with mmu READ_WAIT state

3 years agoradix tree wait error, investigating
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 16:40:39 +0000 (17:40 +0100)]
radix tree wait error, investigating

3 years agommu test starting to make sense
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 15:57:04 +0000 (16:57 +0100)]
mmu test starting to make sense

3 years agofloundering around with MMU unit test, no idea what to do
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 14:40:51 +0000 (15:40 +0100)]
floundering around with MMU unit test, no idea what to do

3 years agommu code-morph
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 14:18:17 +0000 (15:18 +0100)]
mmu code-morph

3 years agocode-morph, add masked function
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:43:07 +0000 (14:43 +0100)]
code-morph, add masked function

3 years agomove code to mmu_0
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:30:33 +0000 (14:30 +0100)]
move code to mmu_0

3 years agoadd example radix walk from power-gem5
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:22:34 +0000 (14:22 +0100)]
add example radix walk from power-gem5

3 years agoMMU test
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:16:18 +0000 (14:16 +0100)]
MMU test

3 years agosubmodule update
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 12:55:46 +0000 (13:55 +0100)]
submodule update

3 years agoclarify
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 11:39:33 +0000 (12:39 +0100)]
clarify

3 years agosort out ariane PLRU, rename/clarify
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 11:25:24 +0000 (12:25 +0100)]
sort out ariane PLRU, rename/clarify

3 years agominor error in plru
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 10:36:59 +0000 (11:36 +0100)]
minor error in plru

3 years agorename cache_valid_bits to cache_validsg
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 10:17:06 +0000 (11:17 +0100)]
rename cache_valid_bits to cache_validsg

3 years agocache_valid_idx too large in dcache
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 10:16:10 +0000 (11:16 +0100)]
cache_valid_idx too large in dcache

3 years agowhoops, cache valid array too small in dcache
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 09:59:33 +0000 (10:59 +0100)]
whoops, cache valid array too small in dcache

3 years agomore dcache debugging
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 23:07:02 +0000 (00:07 +0100)]
more dcache debugging

3 years agomissing reservation address comparison
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 22:21:22 +0000 (23:21 +0100)]
missing reservation address comparison

3 years agodcache tidyup
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 22:17:17 +0000 (23:17 +0100)]
dcache tidyup

3 years agomore dcache debugging
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 20:09:50 +0000 (21:09 +0100)]
more dcache debugging

3 years agoadd random dcache mem test
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 15:16:03 +0000 (16:16 +0100)]
add random dcache mem test

3 years agocache valid corrupted: fixed
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 13:09:43 +0000 (14:09 +0100)]
cache valid corrupted: fixed

3 years agoadding names to array signals
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 10:44:46 +0000 (11:44 +0100)]
adding names to array signals

3 years agowhoops, indentation error
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 10:14:38 +0000 (11:14 +0100)]
whoops, indentation error

3 years agoenable Display debugs
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 10:14:22 +0000 (11:14 +0100)]
enable Display debugs

3 years agoset bytesel in dcache store
Luke Kenneth Casson Leighton [Sat, 12 Sep 2020 08:36:13 +0000 (09:36 +0100)]
set bytesel in dcache store

3 years agoseparat stbs_done into ld/st
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 20:46:42 +0000 (21:46 +0100)]
separat stbs_done into ld/st

3 years agodcache load/store test
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 20:15:01 +0000 (21:15 +0100)]
dcache load/store test

3 years agodebugging dcache
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 18:09:34 +0000 (19:09 +0100)]
debugging dcache

3 years agowrong width for data / addr
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 17:55:18 +0000 (18:55 +0100)]
wrong width for data / addr

3 years agoconnect up WB SRAM to dcache test
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 16:54:50 +0000 (17:54 +0100)]
connect up WB SRAM to dcache test

3 years agostart on dcache test
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 15:46:35 +0000 (16:46 +0100)]
start on dcache test

3 years agomissing comb +=
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 15:25:11 +0000 (16:25 +0100)]
missing comb +=

3 years agomissing maybe_tlb_plrus
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 15:22:07 +0000 (16:22 +0100)]
missing maybe_tlb_plrus

3 years agoWAY_BITS not TLB_WAY_BITS
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:23:57 +0000 (15:23 +0100)]
WAY_BITS not TLB_WAY_BITS

3 years agowhoops new node not to be calculated at end
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:21:05 +0000 (15:21 +0100)]
whoops new node not to be calculated at end

3 years agotry to get better DTLBUpdate
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:14:21 +0000 (15:14 +0100)]
try to get better DTLBUpdate

3 years agosimplify dcache pending
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 13:36:13 +0000 (14:36 +0100)]
simplify dcache pending

3 years agomove dcache pending test to separate module
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 13:28:47 +0000 (14:28 +0100)]
move dcache pending test to separate module

3 years agomore error correction in dcache
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 12:55:51 +0000 (13:55 +0100)]
more error correction in dcache

3 years agouse module for TLBUpdate
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 11:36:47 +0000 (12:36 +0100)]
use module for TLBUpdate

3 years agoadd brackets round if & in dcache
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 10:26:23 +0000 (11:26 +0100)]
add brackets round if & in dcache

3 years agoicache.py add test_icache and icache_sim derived from icache_tb.vhdl
Cole Poirier [Fri, 11 Sep 2020 00:46:49 +0000 (17:46 -0700)]
icache.py add test_icache and icache_sim derived from icache_tb.vhdl

3 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Fri, 11 Sep 2020 00:15:50 +0000 (17:15 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

3 years agoicache.py fix spelling, syntax
Cole Poirier [Fri, 11 Sep 2020 00:15:20 +0000 (17:15 -0700)]
icache.py fix spelling, syntax

3 years agosimplify read/write pte
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 23:48:51 +0000 (00:48 +0100)]
simplify read/write pte

3 years agoeek, big sort-out of syntax errors in dcache.py, now generates .il
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 23:38:22 +0000 (00:38 +0100)]
eek, big sort-out of syntax errors in dcache.py, now generates .il

3 years agoicache.py rearrange the code within the base class ICache
Cole Poirier [Thu, 10 Sep 2020 23:30:23 +0000 (16:30 -0700)]
icache.py rearrange the code within the base class ICache

3 years agostarting on dcache syntax errors
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 22:49:19 +0000 (23:49 +0100)]
starting on dcache syntax errors

3 years agoadd PLRU microwatt conversion
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 22:21:47 +0000 (23:21 +0100)]
add PLRU microwatt conversion

3 years agoadd function calls to construct dcache
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 16:34:38 +0000 (17:34 +0100)]
add function calls to construct dcache

3 years agocorrect some errors introduced in dcache.py
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 16:13:13 +0000 (17:13 +0100)]
correct some errors introduced in dcache.py