Luke Kenneth Casson Leighton [Sat, 27 Jun 2020 16:50:07 +0000 (17:50 +0100)]
fix TestMemLoadStoreUnit, it required a FSM to monitor write
and also needed to honour the "busy_o" signal
Luke Kenneth Casson Leighton [Sat, 27 Jun 2020 14:20:24 +0000 (15:20 +0100)]
add wishbone Pi2LSUI test
Luke Kenneth Casson Leighton [Sat, 27 Jun 2020 12:34:57 +0000 (13:34 +0100)]
reconfigureable PortInterface testing now possible
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 23:29:36 +0000 (00:29 +0100)]
name issue in Pi2LSUI
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 23:26:58 +0000 (00:26 +0100)]
whitespace and imports
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 23:25:17 +0000 (00:25 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 22:40:08 +0000 (23:40 +0100)]
slight reorg on test_pi2ls.py
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 22:38:37 +0000 (23:38 +0100)]
correct address in pi2ls
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 22:22:37 +0000 (23:22 +0100)]
oops forgot to initialise base class of TestMemLoadStoreUnit
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 21:06:32 +0000 (22:06 +0100)]
add in LenExpand shift/mask
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:47:16 +0000 (20:47 +0100)]
add quick test showing Pi2LSUI not quite reading/writing to
correct addresses
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:40:52 +0000 (20:40 +0100)]
remove extraneous yields
Michael Nolan [Fri, 26 Jun 2020 19:36:41 +0000 (15:36 -0400)]
Modify pi2ls so it passes the portinterface unit tests
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:37:46 +0000 (20:37 +0100)]
set address ok and fix unit test to check it properly
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:30:18 +0000 (20:30 +0100)]
add pi.busy_o connection, increase to 64 bit
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:12:30 +0000 (20:12 +0100)]
unit test broken is ok :)
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 19:09:57 +0000 (20:09 +0100)]
set pi.ld.ok to 1 if pi.is_ld_i is set
Michael Nolan [Fri, 26 Jun 2020 18:58:54 +0000 (14:58 -0400)]
Move tests for pimem to new file, add ability to test pi2ls.py
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 18:00:07 +0000 (19:00 +0100)]
load/store unit test needed to wait for busy_o
otherwise, the bus was still processing the previous transaction
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 17:58:38 +0000 (18:58 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 17:58:28 +0000 (18:58 +0100)]
clean up output from BareLoadStoreUnit
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 16:20:20 +0000 (17:20 +0100)]
halve the test memory size again
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 16:17:44 +0000 (17:17 +0100)]
shrink test memory size down to only 64 words
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 15:52:34 +0000 (16:52 +0100)]
investigating why write-enable not getting passed through
on nmigen_soc sram
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 13:35:23 +0000 (14:35 +0100)]
whoops forgot to call parent elaborate
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 13:24:51 +0000 (14:24 +0100)]
add test of SRAM through wishbone bus
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 12:14:47 +0000 (13:14 +0100)]
code-morph which redirects lsmem unit test through new ConfigLoadStoreUnit
this to allow wishbone-SRAM test version to be tested with the same
unit test
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 11:44:23 +0000 (12:44 +0100)]
add a test SRAM that lives behind a minerva LoadStoreUnitInterface
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 11:16:20 +0000 (12:16 +0100)]
dynamically specify wishbone layout (no longer hardcoded addr/data)
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 10:36:34 +0000 (11:36 +0100)]
add reconfigureable Load/Store class
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 08:53:26 +0000 (09:53 +0100)]
extra parameterification of minerva LoadStoreUnits
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 21:12:47 +0000 (22:12 +0100)]
allow Pi2LSUI to accept incoming PortInterface and LoadStoreUnitInterface
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 20:59:39 +0000 (21:59 +0100)]
add extra parameter, mask_wid, to TestMemLoadStoreUnit
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 19:41:35 +0000 (20:41 +0100)]
start connecting up Pi2LSUI
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 19:29:25 +0000 (20:29 +0100)]
add LenExpand module, tidyup on docstring
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 19:25:13 +0000 (20:25 +0100)]
add beginnings of Pi2LSUI
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 11:53:27 +0000 (12:53 +0100)]
add nmigen-soc to dependencies
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 09:56:35 +0000 (10:56 +0100)]
add attempt at mapping between PortInterface and LoadStoreUnitInterface
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 09:43:42 +0000 (10:43 +0100)]
rename LoadStoreInterface signals to include _i and _o suffixes
got fed up of not knowing which Signal was which direction
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 09:34:03 +0000 (10:34 +0100)]
whitespace
Michael Nolan [Wed, 24 Jun 2020 19:43:29 +0000 (15:43 -0400)]
Revert "modify PortInterface so subfields include the port's name"
No longer necessary with changes to nmutil
f61e3beee
This reverts commit
8c63d6dfe17825ca984854e33e20589df6c5bdb6.
Michael Nolan [Wed, 24 Jun 2020 18:20:49 +0000 (14:20 -0400)]
Update comments for LoadStoreUnitInterface
Michael Nolan [Wed, 24 Jun 2020 18:18:42 +0000 (14:18 -0400)]
Have lsmem handle stall and valid signals correctly
Michael Nolan [Wed, 24 Jun 2020 18:03:12 +0000 (14:03 -0400)]
Update comments on LoadStoreUnitInterface again
Michael Nolan [Wed, 24 Jun 2020 17:46:20 +0000 (13:46 -0400)]
Update comments on LoadStoreUnitInterface
Michael Nolan [Wed, 24 Jun 2020 17:16:13 +0000 (13:16 -0400)]
Add handling of byte reads and writes
Michael Nolan [Wed, 24 Jun 2020 17:09:10 +0000 (13:09 -0400)]
Add more complete testbench for lsmem.py
Michael Nolan [Wed, 24 Jun 2020 16:59:40 +0000 (12:59 -0400)]
Super basic first try of testmem with load store unit interface
Luke Kenneth Casson Leighton [Wed, 24 Jun 2020 15:53:13 +0000 (16:53 +0100)]
move comments to minerva LoadStoreInterface
Luke Kenneth Casson Leighton [Wed, 24 Jun 2020 15:40:08 +0000 (16:40 +0100)]
import minerva and use LoadStoreUnitInterface
Michael Nolan [Wed, 24 Jun 2020 15:28:11 +0000 (11:28 -0400)]
Add specification for load store interface
Michael Nolan [Tue, 23 Jun 2020 17:47:17 +0000 (13:47 -0400)]
modify PortInterface so subfields include the port's name
Luke Kenneth Casson Leighton [Tue, 23 Jun 2020 16:10:44 +0000 (17:10 +0100)]
annoying error in latest nmigen
Luke Kenneth Casson Leighton [Tue, 23 Jun 2020 15:47:54 +0000 (16:47 +0100)]
TstL0CacheBuffer returns array of ports differently now
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 19:34:20 +0000 (20:34 +0100)]
remove unused module
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 19:24:02 +0000 (20:24 +0100)]
simplified L0CacheBuffer down to a "PortInterface Arbiter"
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 12:45:11 +0000 (13:45 +0100)]
add TestMemoryPortInterface class which is designed to replace L0CacheBuffer in
unit tests, allowing L0CacheBuffer to be developed on its own terms
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 12:06:34 +0000 (13:06 +0100)]
comments for LDST CompUnit test
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 12:02:07 +0000 (13:02 +0100)]
enable byte-reverse in CompLDSTUnit test
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 11:12:10 +0000 (12:12 +0100)]
remove CompLDSTOpSubset, replace with just data_len.
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 10:49:41 +0000 (11:49 +0100)]
move BE/LE byte-reverse into LDSTCompUnit
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 12:28:35 +0000 (13:28 +0100)]
expand Memory width to 64 and granularity to 16 in SRAM test
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 12:16:00 +0000 (13:16 +0100)]
add asserts to check data output is correct
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 11:55:26 +0000 (12:55 +0100)]
add test_sram_wishbone.py
https://bugs.libre-soc.org/show_bug.cgi?id=382
colepoirier [Sat, 20 Jun 2020 01:30:54 +0000 (18:30 -0700)]
Add code, commented-out, for TRAP so as to not break test_caller.py
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 21:30:01 +0000 (22:30 +0100)]
whitespace update
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 21:16:55 +0000 (22:16 +0100)]
move trunc_div and trunc_rem to nmutil
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 20:29:30 +0000 (21:29 +0100)]
add comments on trunc_div and trunc_rem
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 16:49:32 +0000 (17:49 +0100)]
add divide-by-zero test to test_div_sim.py
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:39:04 +0000 (15:39 +0100)]
add docstring comment for SelectableInt
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:30:45 +0000 (15:30 +0100)]
add test_0_moduw and correct name to trunc_rem
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:27:25 +0000 (15:27 +0100)]
add abs SelectableInt unit test (very quick)
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:25:04 +0000 (15:25 +0100)]
add SelectableInt.abs
https://bugs.libre-soc.org/show_bug.cgi?id=324#c19
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:21:15 +0000 (15:21 +0100)]
add another bad hack in parser.py which identifies "undefined" slice assignment
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:14:37 +0000 (15:14 +0100)]
add in really bad hack which calls trunc_div or trunc_mod
https://bugs.libre-soc.org/show_bug.cgi?id=324#c16
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 14:03:28 +0000 (15:03 +0100)]
add trunc_div and trunch_rem to decoder helpers
https://bugs.libre-soc.org/show_bug.cgi?id=324
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 13:01:39 +0000 (14:01 +0100)]
auto-assign needs to use concat / selectconcat
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 12:50:13 +0000 (13:50 +0100)]
whoops detected page name wrong, for special case fixedshift
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 12:45:01 +0000 (13:45 +0100)]
bit of a mess. getting carry recognised and output for shiftrot
was interfering with fixedarith carry "implicit" computation.
had to special-case this in pywriter.py and parser.py
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 12:08:18 +0000 (13:08 +0100)]
add auto-assign mode detecting uninitialised variable slices
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 10:36:12 +0000 (11:36 +0100)]
div needs to be floordiv
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 09:54:14 +0000 (10:54 +0100)]
add true and floor div to SelectableInt
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 09:49:20 +0000 (10:49 +0100)]
add simulator test for divw
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 02:06:41 +0000 (03:06 +0100)]
do mix-in for test_sim.py so that jacob can write some div tests without
having to run all the other ones
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 02:00:58 +0000 (03:00 +0100)]
add TODO comments to upgrade L0CacheBuffer to a new TestMemoryLoadStoreUnit
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 01:44:24 +0000 (02:44 +0100)]
parameterise LoadStoreUnitInterface to be expandable
Jacob Lifshay [Thu, 18 Jun 2020 23:11:10 +0000 (16:11 -0700)]
div pipe completed except for tests
Jacob Lifshay [Thu, 18 Jun 2020 22:47:12 +0000 (15:47 -0700)]
finish code to calculate the 64-bit output of the div pipeline
Jacob Lifshay [Thu, 18 Jun 2020 22:32:50 +0000 (15:32 -0700)]
actually remove todo comment for manually checking against instruction models
Jacob Lifshay [Thu, 18 Jun 2020 22:31:14 +0000 (15:31 -0700)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc
Jacob Lifshay [Thu, 18 Jun 2020 22:27:39 +0000 (15:27 -0700)]
fix bug and manually check div overflow code against instruction models
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 17:05:59 +0000 (18:05 +0100)]
enable general test cases in test_issuer
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 17:05:40 +0000 (18:05 +0100)]
got loop example operational by noting when PC fastreg changed
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 10:29:29 +0000 (11:29 +0100)]
use different way to pass instructions to test_issuer ISACaller
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 10:26:35 +0000 (11:26 +0100)]
debugging test_issuer.py general test cases
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 10:26:10 +0000 (11:26 +0100)]
get instructions immediately from assembly code
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 10:06:16 +0000 (11:06 +0100)]
move test_sim.py unit tests to different class (split)
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 09:58:18 +0000 (10:58 +0100)]
slightly hacky way to keep an eye on the PC
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 09:52:06 +0000 (10:52 +0100)]
whoops generate core ilang not TestIssuer
Luke Kenneth Casson Leighton [Thu, 18 Jun 2020 09:50:47 +0000 (10:50 +0100)]
use while / exception in test_compunit loop