soc.git
4 years agoadd __init__.py to scoreboard directory
Luke Kenneth Casson Leighton [Tue, 7 May 2019 05:45:10 +0000 (06:45 +0100)]
add __init__.py to scoreboard directory

4 years agoadd Makefile, setup.py, blank README and NEWS
Luke Kenneth Casson Leighton [Tue, 7 May 2019 05:44:13 +0000 (06:44 +0100)]
add Makefile, setup.py, blank README and NEWS

4 years agoreorg TLB src
Luke Kenneth Casson Leighton [Tue, 7 May 2019 05:42:28 +0000 (06:42 +0100)]
reorg TLB src

4 years agomove main python code to src directory
Luke Kenneth Casson Leighton [Tue, 7 May 2019 05:40:15 +0000 (06:40 +0100)]
move main python code to src directory

4 years agoadd scoreboard source (moving from ieee754fpu repo)
Luke Kenneth Casson Leighton [Tue, 7 May 2019 04:43:49 +0000 (05:43 +0100)]
add scoreboard source (moving from ieee754fpu repo)

4 years agoAdd test setup. It compiles
Daniel Benusovich [Sat, 4 May 2019 22:36:59 +0000 (15:36 -0700)]
Add test setup. It compiles

4 years agoAdd default platform
Daniel Benusovich [Sat, 4 May 2019 22:36:46 +0000 (15:36 -0700)]
Add default platform

4 years agoAdd plru test. Needs work.
Daniel Benusovich [Sat, 4 May 2019 20:49:13 +0000 (13:49 -0700)]
Add plru test. Needs work.

4 years agoMove files into correct folders within ariane
Daniel Benusovich [Sat, 4 May 2019 20:48:58 +0000 (13:48 -0700)]
Move files into correct folders within ariane

5 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 26 Apr 2019 10:56:27 +0000 (11:56 +0100)]
whitespace

5 years agoadded comments in AddressEncoder.py
rishucoding [Fri, 26 Apr 2019 09:48:08 +0000 (15:18 +0530)]
added comments in AddressEncoder.py

5 years agoadd some use of new "Elaboratable"
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 08:35:08 +0000 (09:35 +0100)]
add some use of new "Elaboratable"

5 years agorename LFSR2 to LFSR in test_LFSR2.py
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 08:31:48 +0000 (09:31 +0100)]
rename LFSR2 to LFSR in test_LFSR2.py

5 years agoadd Elaboratable to LFSR2
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 08:30:06 +0000 (09:30 +0100)]
add Elaboratable to LFSR2

5 years agocomment about max_exponent, remove its use: use python slice [:-1]
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 20:58:26 +0000 (21:58 +0100)]
comment about max_exponent, remove its use: use python slice [:-1]
slice [:-1] is the python way to not need explicit length
it is already in self.state, so no need to do self.max_exponent-1
just use -1

5 years agoMove MemorySet into separate file
Daniel Benusovich [Tue, 23 Apr 2019 04:45:58 +0000 (21:45 -0700)]
Move MemorySet into separate file

5 years agoUpdate SAC to use new LFSR import
Daniel Benusovich [Tue, 23 Apr 2019 04:42:19 +0000 (21:42 -0700)]
Update SAC to use new LFSR import

5 years agoReplace LFSR with better version
Daniel Benusovich [Tue, 23 Apr 2019 04:41:45 +0000 (21:41 -0700)]
Replace LFSR with better version

5 years agoremove width, use max_exponent instead
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 20:55:41 +0000 (21:55 +0100)]
remove width, use max_exponent instead

5 years agoderive LFSR from LFSRPolynomial - cut even more code
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 20:54:47 +0000 (21:54 +0100)]
derive LFSR from LFSRPolynomial - cut even more code

5 years agoadd a link to cachesim.py
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 19:53:29 +0000 (20:53 +0100)]
add a link to cachesim.py

5 years agoadd link to online simulator
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 19:43:26 +0000 (20:43 +0100)]
add link to online simulator

5 years agoadd link to online simulator
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 19:42:12 +0000 (20:42 +0100)]
add link to online simulator

5 years agoreduce LFSR2.__init__ by another 2 lines
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 16:03:23 +0000 (17:03 +0100)]
reduce LFSR2.__init__ by another 2 lines

5 years agomore whitespace / shuffle / cleanup
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 15:50:17 +0000 (16:50 +0100)]
more whitespace / shuffle / cleanup

5 years agominor code-shuffle, comments
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 15:47:33 +0000 (16:47 +0100)]
minor code-shuffle, comments

5 years agouse random selection for LFSR on write
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 15:37:40 +0000 (16:37 +0100)]
use random selection for LFSR on write

5 years agowrite_entry, sef encoder.i has to be *conditional*
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 15:21:25 +0000 (16:21 +0100)]
write_entry, sef encoder.i has to be *conditional*

5 years agosort-of put LFSR mode into SetAssocCache... not really sure what to do
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 15:08:49 +0000 (16:08 +0100)]
sort-of put LFSR mode into SetAssocCache... not really sure what to do

5 years agomove max_exponent to be a property (max(self))
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 12:53:47 +0000 (13:53 +0100)]
move max_exponent to be a property (max(self))
replace if tests with assert (single lines each)
remove self.max_exponent test on every element, use max(self) as property
set-ify the incoming argument exponents and add zero explicitly to it
pass that in to the set constructor, no need for accumulating in a temporary

5 years agouse a set not a list, can remove an extra line
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 12:34:53 +0000 (13:34 +0100)]
use a set not a list, can remove an extra line
also, spotted that width will always be 1 or greater

5 years agosimplify further,use max() on elements
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 12:29:50 +0000 (13:29 +0100)]
simplify further,use max() on elements
remove function, use elements=[0] to accumulate exponents

5 years agoreplace if elif elif with dictionary trick, and map-plus-lambda
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 11:14:42 +0000 (12:14 +0100)]
replace if elif elif with dictionary trick, and map-plus-lambda

5 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 11:09:31 +0000 (12:09 +0100)]
whitespace

5 years agoadd docstrings and comments
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 11:08:04 +0000 (12:08 +0100)]
add docstrings and comments
pass in LFSR_POLY_24 into example rather than the list

5 years agoskip the entire thing if width is zero
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:49:02 +0000 (11:49 +0100)]
skip the entire thing if width is zero
simplify creation of feedback: use Cat(feedback, statebits)
add test code-generation

5 years agoremove redundant Signal width=1
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:31:30 +0000 (11:31 +0100)]
remove redundant Signal width=1

5 years agoremove property polynomial
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:30:40 +0000 (11:30 +0100)]
remove property polynomial
(why assign __polynomial then add extra code where property polynomial
*returns* __polynomial?  just... assign polynomial to self)

5 years agoLFSR2.pyi, type is set not frozenset, exponents returns list
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:27:50 +0000 (11:27 +0100)]
LFSR2.pyi, type is set not frozenset, exponents returns list

5 years agoadd error reports on exceptions in LFSR2
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:26:00 +0000 (11:26 +0100)]
add error reports on exceptions in LFSR2

5 years agouse set instead of frozenset
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:25:35 +0000 (11:25 +0100)]
use set instead of frozenset
return sorted  list from exponents property
join operates on strings (not the list)
simplify __repr__

5 years agouse join trick instead of manually creating the exponent string
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:10:04 +0000 (11:10 +0100)]
use join trick instead of manually creating the exponent string

5 years agoinstead of using abstract class Set, actually *derive* from frozenset
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 10:07:01 +0000 (11:07 +0100)]
instead of using abstract class Set, actually *derive* from frozenset
(which was not possible to do in python2): can remove 25% of LFSR2.py in
the process.  also made max_exponent just a member of LFSR2 instead of
being a property (no need for __max_exponent when max_exponent is what
is needed and can be assigned then accessed directly)

5 years agoremove typing, move to .pyi file (increases code clarity)
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 09:58:28 +0000 (10:58 +0100)]
remove typing, move to .pyi file (increases code clarity)

5 years agoMerge remote-tracking branch 'origin/master'
Jacob Lifshay [Mon, 22 Apr 2019 07:47:08 +0000 (00:47 -0700)]
Merge remote-tracking branch 'origin/master'

5 years agorename LFSR -> LFSR2
Jacob Lifshay [Mon, 22 Apr 2019 07:46:45 +0000 (00:46 -0700)]
rename LFSR -> LFSR2

5 years agoadd LFSR
Jacob Lifshay [Mon, 22 Apr 2019 07:41:42 +0000 (00:41 -0700)]
add LFSR

5 years agoadd empty __init__.py files
Jacob Lifshay [Mon, 22 Apr 2019 07:40:04 +0000 (00:40 -0700)]
add empty __init__.py files

5 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

5 years agoAdd lfsr with 11 bits
Daniel Benusovich [Mon, 22 Apr 2019 06:45:43 +0000 (23:45 -0700)]
Add lfsr with 11 bits

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

5 years agomake tag_valid and active_bit local
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 04:53:31 +0000 (05:53 +0100)]
make tag_valid and active_bit local

5 years agodisable write by default
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 04:36:15 +0000 (05:36 +0100)]
disable write by default

5 years agomove setting up of tag into MemorySet
Luke Kenneth Casson Leighton [Mon, 22 Apr 2019 04:28:54 +0000 (05:28 +0100)]
move setting up of tag into MemorySet

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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

5 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

5 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

5 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

5 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

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

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

5 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

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

5 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!

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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)

5 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

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

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

5 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

5 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

5 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

5 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

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

5 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

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