soc.git
2 years agoadd waveforms dir to git, ignoring all but .gitkeep
Jacob Lifshay [Mon, 22 Apr 2019 07:25:28 +0000 (00:25 -0700)]
add waveforms dir to git, ignoring all but .gitkeep

2 years agoadd mypy typechecker integration
Jacob Lifshay [Mon, 22 Apr 2019 06:09:52 +0000 (23:09 -0700)]
add mypy typechecker integration

2 years agoadd TODO comment, bug #71, replace PLRU with LFSR
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:57:08 +0000 (04:57 +0100)]
add TODO comment, bug #71, replace PLRU with LFSR

2 years agodata_i needs to be data_size not input_size
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:52:09 +0000 (04:52 +0100)]
data_i needs to be data_size not input_size

2 years agohmmm.... AddressEncoder needs to be of width way_count
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:44:35 +0000 (04:44 +0100)]
hmmm.... AddressEncoder needs to be of width way_count

2 years agomove tag/vector decoding into MemorySet
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:44:15 +0000 (04:44 +0100)]
move tag/vector decoding into MemorySet

2 years agodata_size+tag_size = input_size, use it
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:27:40 +0000 (04:27 +0100)]
data_size+tag_size = input_size, use it

2 years agowhoops, plru_array wasnt an array
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:18:23 +0000 (04:18 +0100)]
whoops, plru_array wasnt an array

2 years agotidyup hit/multiple, move to main block
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:18:04 +0000 (04:18 +0100)]
tidyup hit/multiple, move to main block

2 years agotidy up comments
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 03:17:15 +0000 (04:17 +0100)]
tidy up comments

2 years agosmall reorg, split memory into separate module with its own read/write ports
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 02:52:23 +0000 (03:52 +0100)]
small reorg, split memory into separate module with its own read/write ports

2 years agosame trick with encoder, remove switch, use encoder.o
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 02:40:39 +0000 (03:40 +0100)]
same trick with encoder, remove switch, use encoder.o

2 years agoreplace switch statement with straight index to array
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 02:33:57 +0000 (03:33 +0100)]
replace switch statement with straight index to array

2 years agoAdd ubit test for set associative
Daniel Benusovich [Mon, 22 Apr 2019 01:24:07 +0000 (18:24 -0700)]
Add ubit test for set associative

2 years agoUse singal passed into plru rather than relying on internal signal
Daniel Benusovich [Mon, 22 Apr 2019 01:23:54 +0000 (18:23 -0700)]
Use singal passed into plru rather than relying on internal signal

2 years agoChange plru to be combinational
Daniel Benusovich [Mon, 22 Apr 2019 01:23:38 +0000 (18:23 -0700)]
Change plru to be combinational

2 years agoAdd output signal to PLRU
Daniel Benusovich [Mon, 22 Apr 2019 01:19:34 +0000 (18:19 -0700)]
Add output signal to PLRU

2 years agoSAC seems to be working properly. Problems with PLRU are now the issue
Daniel Benusovich [Mon, 22 Apr 2019 00:37:55 +0000 (17:37 -0700)]
SAC seems to be working properly. Problems with PLRU are now the issue

2 years agoRemove LRU bits from memory
Daniel Benusovich [Sun, 21 Apr 2019 23:36:04 +0000 (16:36 -0700)]
Remove LRU bits from memory

2 years agoCompilation success. Time for unit tests!
Daniel Benusovich [Sun, 21 Apr 2019 23:30:33 +0000 (16:30 -0700)]
Compilation success. Time for unit tests!

2 years agoTryto make the cache compile. Not yet
Daniel Benusovich [Sun, 21 Apr 2019 20:58:43 +0000 (13:58 -0700)]
Tryto make the cache compile. Not yet

2 years agoAdd plru into set associative cache
Daniel Benusovich [Sun, 21 Apr 2019 20:45:56 +0000 (13:45 -0700)]
Add plru into set associative cache

2 years agoAdd external access to table size to plru
Daniel Benusovich [Sun, 21 Apr 2019 20:45:41 +0000 (13:45 -0700)]
Add external access to table size to plru

2 years agoMake plru tree accessible from outside module for cache
Daniel Benusovich [Sun, 21 Apr 2019 19:29:10 +0000 (12:29 -0700)]
Make plru tree accessible from outside module for cache

2 years agoadd in tlb_entries and asid_width parameters to constructors
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 13:06:51 +0000 (14:06 +0100)]
add in tlb_entries and asid_width parameters to constructors

2 years agowhoops, PTE bits wrong way round, make LSB to MSB
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 09:18:27 +0000 (10:18 +0100)]
whoops, PTE bits wrong way round, make LSB to MSB

2 years agocorrect mmu.py syntax errors, output ilang as a test
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 09:09:43 +0000 (10:09 +0100)]
correct mmu.py syntax errors, output ilang as a test

2 years agocomment where PermissionValidator needed
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 07:26:07 +0000 (08:26 +0100)]
comment where PermissionValidator needed

2 years agobegin experimental ariane mmu.sv conversion
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 07:20:33 +0000 (08:20 +0100)]
begin experimental ariane mmu.sv conversion

2 years agobegin experimental ariane mmu.sv conversion
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 06:43:35 +0000 (07:43 +0100)]
begin experimental ariane mmu.sv conversion

2 years agobegin experimental ariane mmu.sv conversion
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 06:34:43 +0000 (07:34 +0100)]
begin experimental ariane mmu.sv conversion

2 years agobegin experimental ariane mmu.sv conversion
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 06:04:54 +0000 (07:04 +0100)]
begin experimental ariane mmu.sv conversion

2 years agoadd exception causes from ariane
Luke Kenneth Casson Leighton [Sun, 21 Apr 2019 05:47:00 +0000 (06:47 +0100)]
add exception causes from ariane

2 years agoTear out PLRU, TLBContent, TLBEntry into separate files
Daniel Benusovich [Sun, 21 Apr 2019 01:07:00 +0000 (18:07 -0700)]
Tear out PLRU, TLBContent, TLBEntry into separate files

2 years agoAdd tlb_content with TLBContent and TLBEntry classes
Daniel Benusovich [Sun, 21 Apr 2019 01:06:34 +0000 (18:06 -0700)]
Add tlb_content with TLBContent and TLBEntry classes

2 years agoAdd PLRU file from tlb.py
Daniel Benusovich [Sun, 21 Apr 2019 01:05:27 +0000 (18:05 -0700)]
Add PLRU file from tlb.py

2 years agofound linux kernel source references
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 07:31:30 +0000 (08:31 +0100)]
found linux kernel source references

2 years agochange indentation (combine some if/elifs)
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 07:18:34 +0000 (08:18 +0100)]
change indentation (combine some if/elifs)

2 years agogo back in vim undo history, recover itlb experimentation
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 07:06:17 +0000 (08:06 +0100)]
go back in vim undo history, recover itlb experimentation

2 years agoexperimenting with PTW
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 01:42:20 +0000 (02:42 +0100)]
experimenting with PTW

2 years agoupdate comments
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 01:05:01 +0000 (02:05 +0100)]
update comments

2 years agorandom experiments with ptw.py
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 19:55:18 +0000 (20:55 +0100)]
random experiments with ptw.py

2 years agouse of plru starts to make sense, must set vpn == vaddr_i>>12
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 10:20:33 +0000 (11:20 +0100)]
use of plru starts to make sense, must set vpn == vaddr_i>>12

2 years agoadd in name into plru to help debugging
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 09:35:46 +0000 (10:35 +0100)]
add in name into plru to help debugging

2 years agoadd in name into plru to help debugging
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 09:33:06 +0000 (10:33 +0100)]
add in name into plru to help debugging

2 years agocontinuing experimentation with PLRU
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 09:12:23 +0000 (10:12 +0100)]
continuing experimentation with PLRU

2 years agoadd arbitrary random experimentation values for TLB and PTW unit tests
Luke Kenneth Casson Leighton [Thu, 18 Apr 2019 04:54:35 +0000 (05:54 +0100)]
add arbitrary random experimentation values for TLB and PTW unit tests

2 years agotidyup
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 05:12:06 +0000 (06:12 +0100)]
tidyup

2 years agomove states to functions
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 05:05:28 +0000 (06:05 +0100)]
move states to functions

2 years agomove idle state to separate function
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 04:49:45 +0000 (05:49 +0100)]
move idle state to separate function

2 years agofix sync bug with tag_valid, simplify logic
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 04:46:53 +0000 (05:46 +0100)]
fix sync bug with tag_valid, simplify logic

2 years agocleanup using temporaries
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 04:30:54 +0000 (05:30 +0100)]
cleanup using temporaries

2 years agosimplify logic
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 04:14:16 +0000 (05:14 +0100)]
simplify logic

2 years agodebug ptw.py
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 04:04:47 +0000 (05:04 +0100)]
debug ptw.py

2 years agodebug ptw.py
Luke Kenneth Casson Leighton [Mon, 15 Apr 2019 03:54:26 +0000 (04:54 +0100)]
debug ptw.py

2 years agoadd comment
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:53:16 +0000 (18:53 +0100)]
add comment

2 years agomove comments
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:49:28 +0000 (18:49 +0100)]
move comments

2 years agouse Cat on list, makes graphviz clearer
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:47:16 +0000 (18:47 +0100)]
use Cat on list, makes graphviz clearer

2 years agounsigned const
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:29:49 +0000 (18:29 +0100)]
unsigned const

2 years agotidyup comments
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:09:13 +0000 (18:09 +0100)]
tidyup comments

2 years agocontent must be comb not sync
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 17:09:03 +0000 (18:09 +0100)]
content must be comb not sync

2 years agocomment spelling
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 16:58:14 +0000 (17:58 +0100)]
comment spelling

2 years agoclarify output, use Cat on list
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 16:50:12 +0000 (17:50 +0100)]
clarify output, use Cat on list

2 years agorename _i and _o, for clarity: replace_en comb not sync
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 16:38:26 +0000 (17:38 +0100)]
rename _i and _o, for clarity: replace_en comb not sync

2 years agoredundant argument lu_hit
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 16:18:35 +0000 (17:18 +0100)]
redundant argument lu_hit

2 years agosplit out into modules
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 16:13:11 +0000 (17:13 +0100)]
split out into modules

2 years agosplit into separate module instead of array
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 15:36:13 +0000 (16:36 +0100)]
split into separate module instead of array

2 years agoupdate comment block
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 14:07:28 +0000 (15:07 +0100)]
update comment block

2 years agoupdate comment block
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 14:07:13 +0000 (15:07 +0100)]
update comment block

2 years agocreate flatten and use in eq
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 14:01:58 +0000 (15:01 +0100)]
create flatten and use in eq

2 years agotemporary signals, efforts to simplify graph
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 12:51:58 +0000 (13:51 +0100)]
temporary signals, efforts to simplify graph

2 years agoadd in temporaries, get graphviz down in size
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 12:32:56 +0000 (13:32 +0100)]
add in temporaries, get graphviz down in size

2 years agowork towards getting PTW translation working
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 12:18:16 +0000 (13:18 +0100)]
work towards getting PTW translation working

2 years agocorrect python syntax errors
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 11:57:49 +0000 (12:57 +0100)]
correct python syntax errors

2 years agoupdate comments
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 11:40:04 +0000 (12:40 +0100)]
update comments

2 years agoexperimental conversion of ariane TLB to nmigen, see what it looks like
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 11:34:56 +0000 (12:34 +0100)]
experimental conversion of ariane TLB to nmigen, see what it looks like

2 years agotidyup
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 07:01:29 +0000 (08:01 +0100)]
tidyup

2 years agoremove _n and _q
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 06:53:29 +0000 (07:53 +0100)]
remove _n and _q

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 06:34:38 +0000 (07:34 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 06:25:41 +0000 (07:25 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 06:24:26 +0000 (07:24 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 06:17:24 +0000 (07:17 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sun, 14 Apr 2019 05:59:41 +0000 (06:59 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 21:15:32 +0000 (22:15 +0100)]
experimental conversion of ptw.sv

2 years agoexperimental conversion of ptw.sv
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 21:11:23 +0000 (22:11 +0100)]
experimental conversion of ptw.sv

2 years agoadd conversion of ptw.sv from ariane, to see what it looks like
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 11:54:34 +0000 (12:54 +0100)]
add conversion of ptw.sv from ariane, to see what it looks like

2 years agocheck_tags is a member of the class
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 17:45:15 +0000 (18:45 +0100)]
check_tags is a member of the class

2 years agoset is a python keyword, renamed to "cset" - short for "cache set"
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 17:40:57 +0000 (18:40 +0100)]
set is a python keyword, renamed to "cset" - short for "cache set"

2 years agoAdd a comment
Daniel Benusovich [Wed, 10 Apr 2019 07:24:28 +0000 (00:24 -0700)]
Add a comment

2 years agoAdd LRU logic for read portion. Still missing write. Soon.
Daniel Benusovich [Wed, 10 Apr 2019 06:43:17 +0000 (23:43 -0700)]
Add LRU logic for read portion. Still missing write. Soon.

2 years agoUpdate comments for consitency
Daniel Benusovich [Wed, 10 Apr 2019 06:14:02 +0000 (23:14 -0700)]
Update comments for consitency

2 years agoremove twin negatives in comment
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 03:11:56 +0000 (04:11 +0100)]
remove twin negatives in comment

2 years agouse constants with semi-useful names
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 03:07:00 +0000 (04:07 +0100)]
use constants with semi-useful names

2 years agoadd comment about L1_size being overridden
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 23:19:19 +0000 (00:19 +0100)]
add comment about L1_size being overridden

2 years agominor code-shuffle on TLB, added nmigen-main caller
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 23:18:12 +0000 (00:18 +0100)]
minor code-shuffle on TLB, added nmigen-main caller

2 years agoadd ports function to Cam.py for convenience
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 23:17:42 +0000 (00:17 +0100)]
add ports function to Cam.py for convenience

2 years agoAdd SetAssociativeCache source with read logic
Daniel Benusovich [Mon, 1 Apr 2019 06:08:57 +0000 (23:08 -0700)]
Add SetAssociativeCache source with read logic

2 years agoMove read L1 block into the correct location.
Daniel Benusovich [Mon, 1 Apr 2019 06:08:17 +0000 (23:08 -0700)]
Move read L1 block into the correct location.

2 years agoCorrect failing test.
Daniel Benusovich [Mon, 1 Apr 2019 05:51:03 +0000 (22:51 -0700)]
Correct failing test.

2 years agoCorrect missing function call in unit test.
Daniel Benusovich [Mon, 1 Apr 2019 05:50:53 +0000 (22:50 -0700)]
Correct missing function call in unit test.