Cesar Strauss [Sat, 1 May 2021 19:04:19 +0000 (16:04 -0300)]
Add GTKWave documents to each DCache unit test
Luke Kenneth Casson Leighton [Sat, 1 May 2021 16:39:53 +0000 (17:39 +0100)]
add LD/ST cases to MMU, which should all still work
Luke Kenneth Casson Leighton [Sat, 1 May 2021 15:24:49 +0000 (16:24 +0100)]
add MMUTestCaseROM
Luke Kenneth Casson Leighton [Sat, 1 May 2021 15:13:01 +0000 (16:13 +0100)]
whitespace
Luke Kenneth Casson Leighton [Sat, 1 May 2021 13:16:20 +0000 (14:16 +0100)]
use new AllFunctionUnits.get_fu function
Luke Kenneth Casson Leighton [Sat, 1 May 2021 13:15:10 +0000 (14:15 +0100)]
use SPRreduced to match PowerDecoder2
extend mmu_sprs to include redirection of PRTBL DSISR DAR and PIDR to MMU
Luke Kenneth Casson Leighton [Sat, 1 May 2021 12:22:30 +0000 (13:22 +0100)]
missing self.
Luke Kenneth Casson Leighton [Sat, 1 May 2021 12:13:00 +0000 (13:13 +0100)]
resolve DriverConflict in TstL0CacheBuffer, really bad hack
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 15:25:20 +0000 (16:25 +0100)]
debug and stop on mmu test_pipe_caller.py
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 15:25:05 +0000 (16:25 +0100)]
comments on dcache-to-mmu link
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 14:23:34 +0000 (15:23 +0100)]
add a TestSRAM variant of LoadStore1, for being able to run unit MMU unit tests
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 13:09:17 +0000 (14:09 +0100)]
add basic test_issuer_mmu.py
for running specifically with microwatt_mmu=True
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 13:05:01 +0000 (14:05 +0100)]
add option to use new mmu_cache_wb ConfigMemoryPortInterface
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 12:48:34 +0000 (13:48 +0100)]
hook up dcache wb_in/out to PortInterfaceBase Wishbone Record
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 11:46:50 +0000 (12:46 +0100)]
sort out spblock 4k sram cell instance name to match coriolis2 changes
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 10:23:57 +0000 (11:23 +0100)]
https://bugs.libre-soc.org/show_bug.cgi?id=635
turned out to be as simple as the test infrastructure setting initial
values in the wrong regfile (only a few of the unit tests set initial
values in SPR regfiles)
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 10:19:28 +0000 (11:19 +0100)]
better reporting on gpr comparisons
Luke Kenneth Casson Leighton [Fri, 30 Apr 2021 00:22:21 +0000 (01:22 +0100)]
set up LoadStore1 in ConfigMemoryPortInterface and hook it up in MMU
Luke Kenneth Casson Leighton [Thu, 29 Apr 2021 22:00:52 +0000 (23:00 +0100)]
comment out adding mmu and dcache to pspec in MMU FSM
Luke Kenneth Casson Leighton [Thu, 29 Apr 2021 21:58:31 +0000 (22:58 +0100)]
move dcache into Loadstore1
Luke Kenneth Casson Leighton [Tue, 27 Apr 2021 18:51:02 +0000 (19:51 +0100)]
add option to disable bus forwarding on SPRs and FAST regs.
not StateRegs: that actually critically depends on access to PC through
bus forwarding
Luke Kenneth Casson Leighton [Tue, 27 Apr 2021 18:46:57 +0000 (19:46 +0100)]
add option to enable/disable bus forwarding mode on INT regfile
Luke Kenneth Casson Leighton [Tue, 27 Apr 2021 18:46:24 +0000 (19:46 +0100)]
return read data out from Loadstore1 only when valid
Luke Kenneth Casson Leighton [Mon, 26 Apr 2021 20:45:10 +0000 (21:45 +0100)]
hook up MSR into MMU (TODO, use a lot less bits)
Luke Kenneth Casson Leighton [Mon, 26 Apr 2021 20:23:39 +0000 (21:23 +0100)]
simple regression dcache test was faulty. wishbone pipeline related
Luke Kenneth Casson Leighton [Mon, 26 Apr 2021 09:32:42 +0000 (10:32 +0100)]
comment read ack in sram
Luke Kenneth Casson Leighton [Mon, 26 Apr 2021 09:19:26 +0000 (10:19 +0100)]
incorrect indentation in dcache rams
Luke Kenneth Casson Leighton [Mon, 26 Apr 2021 08:22:14 +0000 (09:22 +0100)]
simplify dcache test
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 22:51:07 +0000 (23:51 +0100)]
spelling mistake
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 22:17:09 +0000 (23:17 +0100)]
remove RegStage1.real_adr temporary from dcache
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 22:03:05 +0000 (23:03 +0100)]
do not overwrite parameter ra in dcache
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 21:22:49 +0000 (22:22 +0100)]
comment out dcache_store from test, not the problem
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 21:02:01 +0000 (22:02 +0100)]
remove unneeded code
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 20:35:22 +0000 (21:35 +0100)]
read req in wb_in.stall, dcache
Cesar Strauss [Sun, 25 Apr 2021 19:11:19 +0000 (16:11 -0300)]
Shift-out skipped mask bits for both crpred and intpred
If src/dest step are not zero, we need to shift-out the skipped mask
bits. We already did this for intpred, and for crpred it's exactly the
same.
Move the shifting logic to a new last state, commonly used for both
intpred and crpred.
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 20:15:56 +0000 (21:15 +0100)]
add single regression test for dcache
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 10:55:31 +0000 (11:55 +0100)]
add TODO comment in dcache
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 10:46:50 +0000 (11:46 +0100)]
move Signals in dcache to relevant context
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 10:43:35 +0000 (11:43 +0100)]
dcache Elif used where If should have been
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 08:52:22 +0000 (09:52 +0100)]
whoops should be cyc & ~ack
Luke Kenneth Casson Leighton [Sun, 25 Apr 2021 08:39:56 +0000 (09:39 +0100)]
hard-code dcache stall signal to non-pipelined mode
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 20:26:32 +0000 (21:26 +0100)]
increase memory size in dcache test
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 20:18:18 +0000 (21:18 +0100)]
increase size of random dcache testing by 10
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 20:10:39 +0000 (21:10 +0100)]
fix errors in dcache unit test
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 20:10:27 +0000 (21:10 +0100)]
whitespace
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 15:36:49 +0000 (16:36 +0100)]
add additional external libre-soc sphinx references... commented out for now
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 15:36:26 +0000 (16:36 +0100)]
add additional external libre-soc sphinx references
Luke Kenneth Casson Leighton [Sat, 24 Apr 2021 10:51:24 +0000 (11:51 +0100)]
remove code moved to openpower-isa repo
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 22:17:11 +0000 (23:17 +0100)]
add comments on TestIssuer TestRunner
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 22:08:33 +0000 (23:08 +0100)]
comment tests back in
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 22:08:03 +0000 (23:08 +0100)]
fix import error
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 22:05:58 +0000 (23:05 +0100)]
error in setting fast regs test values
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 21:59:39 +0000 (22:59 +0100)]
import from openpower.tests
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 19:31:16 +0000 (20:31 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 19:28:39 +0000 (20:28 +0100)]
move logical tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 19:24:21 +0000 (20:24 +0100)]
add trap test cases
https://bugs.libre-soc.org/show_bug.cgi?id=629
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 19:06:20 +0000 (20:06 +0100)]
move SPR tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:54:15 +0000 (19:54 +0100)]
move branch test cases to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:49:07 +0000 (19:49 +0100)]
move LDST tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:45:14 +0000 (19:45 +0100)]
move mul tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:38:35 +0000 (19:38 +0100)]
move div tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:37:33 +0000 (19:37 +0100)]
move div tests to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:29:58 +0000 (19:29 +0100)]
move ALU test cases to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:23:47 +0000 (19:23 +0100)]
move MMU Testcase to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 18:14:00 +0000 (19:14 +0100)]
move CR test cases to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 17:59:45 +0000 (18:59 +0100)]
move shiftrot test cases to openpower.test
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 17:42:37 +0000 (18:42 +0100)]
import from openpower.endian
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 17:40:07 +0000 (18:40 +0100)]
use openpower.test.common
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 16:49:15 +0000 (17:49 +0100)]
remove openpower-isa submodule
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 16:48:09 +0000 (17:48 +0100)]
submodule update, can probably delete it though, now
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 16:10:05 +0000 (17:10 +0100)]
move more files to openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:55:53 +0000 (16:55 +0100)]
move to import from openpower-isa for reg enums
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:47:05 +0000 (16:47 +0100)]
svanalysis and pywriter now command-line scripts
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:33:56 +0000 (16:33 +0100)]
removed submodule
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:32:58 +0000 (16:32 +0100)]
remove pseudo, moved to openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:16:00 +0000 (16:16 +0100)]
remove simulator directory, moved to openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 15:14:01 +0000 (16:14 +0100)]
more openpower-isa conversion
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:44:56 +0000 (15:44 +0100)]
correct migration of openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:42:29 +0000 (15:42 +0100)]
more openpower import conversion
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:38:16 +0000 (15:38 +0100)]
more openpower import conversion
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:30:39 +0000 (15:30 +0100)]
move over to from openpower imports
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:26:03 +0000 (15:26 +0100)]
move over to openpower-isa repo
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:21:15 +0000 (15:21 +0100)]
move over to openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:19:43 +0000 (15:19 +0100)]
moving more over to openpower-isa repo
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 14:16:23 +0000 (15:16 +0100)]
removing more as moved over to openpower-isa
Luke Kenneth Casson Leighton [Fri, 23 Apr 2021 12:14:07 +0000 (13:14 +0100)]
submodule update
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 22:59:56 +0000 (23:59 +0100)]
add debugging and buffering to CacheRam
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 15:38:50 +0000 (16:38 +0100)]
whitespace
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 15:31:23 +0000 (16:31 +0100)]
r1.end_row_ix off-by-one in dcache
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 15:22:41 +0000 (16:22 +0100)]
sync missing in dcache
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 15:21:14 +0000 (16:21 +0100)]
dcache.py code-comments
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 14:16:12 +0000 (15:16 +0100)]
cleanup dcache
Luke Kenneth Casson Leighton [Thu, 22 Apr 2021 14:05:37 +0000 (15:05 +0100)]
error using sync, should have been comb
Cesar Strauss [Wed, 21 Apr 2021 20:30:12 +0000 (17:30 -0300)]
Implement CR predication
Read the CR fields in a VL loop, building the masks bit by bit.
TODO: implement reentrancy, by shifting out already used mask bits.
Cesar Strauss [Wed, 21 Apr 2021 19:42:56 +0000 (16:42 -0300)]
CR sub-fields are stored in MSB0 order
Luke Kenneth Casson Leighton [Wed, 21 Apr 2021 19:50:54 +0000 (20:50 +0100)]
experimenting with dcache
Tobias Platen [Wed, 21 Apr 2021 18:48:38 +0000 (20:48 +0200)]
testcase: pass PRTBL to mmu
Cesar Strauss [Wed, 21 Apr 2021 17:43:57 +0000 (14:43 -0300)]
Add CR predication test case for TestIssuer
Directly derived from the corresponding case in
test_caller_svp64_predication.py
It is expected to fail, until CR predication is implemented on TestIssuer.
Cesar Strauss [Wed, 21 Apr 2021 17:22:55 +0000 (14:22 -0300)]
Fix comment in CR predication test case
The comment at the top of the test case was inconsistent with it:
"adds, CR predicated mask CR4.eq = 1, CR5.eq = 0, invert (ne)"
The whole test is consistent with this (mask is NE and first element is
skipped).
The shift amount itself is also consistent with setting of CR4, not CR5.
Cesar Strauss [Wed, 21 Apr 2021 17:06:07 +0000 (14:06 -0300)]
Fix sense of "invert" signal
We want to put "1" in the mask, if the operation is to be performed.
The actual CR bits are: LT, GT, EQ and SO.
So, for those, we just copy the bit directly to the mask, as they are.
For GE, LE, NE and NS, we want to invert the bit first.