Luke Kenneth Casson Leighton [Sun, 2 Aug 2020 15:21:56 +0000 (16:21 +0100)]
convert microwatt core_debug.vhdl to nmigen
Luke Kenneth Casson Leighton [Sun, 2 Aug 2020 09:16:18 +0000 (10:16 +0100)]
add debug dir
Luke Kenneth Casson Leighton [Sat, 1 Aug 2020 13:00:00 +0000 (14:00 +0100)]
add quick test of litex bios IMM64 macro
Luke Kenneth Casson Leighton [Sat, 1 Aug 2020 11:05:07 +0000 (12:05 +0100)]
add rlwnm test showing that shift rot OP_RLC proof is incorrect.
using same values as inputs from the proof
Luke Kenneth Casson Leighton [Sat, 1 Aug 2020 10:24:25 +0000 (11:24 +0100)]
line-length / whitespace
Luke Kenneth Casson Leighton [Sat, 1 Aug 2020 09:49:08 +0000 (10:49 +0100)]
expand out for-loop setting up input record subset
this to help in formal proof shiftrot analysis
Luke Kenneth Casson Leighton [Fri, 31 Jul 2020 16:52:11 +0000 (17:52 +0100)]
reorg DecodeB in power_decoder2.py to sign-extend immediates
Luke Kenneth Casson Leighton [Fri, 31 Jul 2020 16:31:21 +0000 (17:31 +0100)]
add more instructions to litex trampoline test (not tested)
Luke Kenneth Casson Leighton [Fri, 31 Jul 2020 16:30:56 +0000 (17:30 +0100)]
restrict external port list further in test_issuer
Luke Kenneth Casson Leighton [Fri, 31 Jul 2020 16:30:25 +0000 (17:30 +0100)]
missed go_i/rel_o rename
Samuel A. Falvo II [Fri, 31 Jul 2020 16:53:41 +0000 (09:53 -0700)]
WIP: more debugging signals for inspection
Samuel A. Falvo II [Thu, 30 Jul 2020 23:18:49 +0000 (16:18 -0700)]
WIP: rlwinm/rlwnm/rlwimi-type proofs
Been trying to wittle away at this for several days now, without luck.
What am I missing?!
Tobias Platen [Thu, 30 Jul 2020 17:40:09 +0000 (19:40 +0200)]
begin work on TestCase for two DataMergers/Cache
Tobias Platen [Thu, 30 Jul 2020 16:57:46 +0000 (18:57 +0200)]
add CacheRecord
Luke Kenneth Casson Leighton [Thu, 30 Jul 2020 14:12:05 +0000 (15:12 +0100)]
core_start/stop/endian were inverted (output)
Luke Kenneth Casson Leighton [Thu, 30 Jul 2020 12:27:55 +0000 (13:27 +0100)]
ha! have to explicitly specify the ports when writing out to ilang or verilog
this gives unused signals that default to a non-zero value to inherently
set by default to that value.
exposing them externally via ports makes setting them the *users*
Luke Kenneth Casson Leighton [Thu, 30 Jul 2020 12:21:43 +0000 (13:21 +0100)]
add trampoline test from litex
Luke Kenneth Casson Leighton [Thu, 30 Jul 2020 12:19:07 +0000 (13:19 +0100)]
set sel line in minerva instruction fetch
Luke Kenneth Casson Leighton [Thu, 30 Jul 2020 09:39:43 +0000 (10:39 +0100)]
ha! found source of XICS test bug: wishbone stb was being left HI
for more than one cycle in the *unit* test, thereby putting spurious
data onto the bus and corrupting transactions
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 17:48:14 +0000 (18:48 +0100)]
more exploratory testing of XICS, joining ICP and ICS together
Tobias Platen [Wed, 29 Jul 2020 16:55:54 +0000 (18:55 +0200)]
modified LDSTSplitter to conform to PortInterface
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 16:22:29 +0000 (17:22 +0100)]
forgot to rename ad/st in LDSTCompUnitRecord
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 15:19:08 +0000 (16:19 +0100)]
bit of a big change: add prefixes "cu_" to all CompUnit management signals
also change go/rel to go_i and rel_o at the same time
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 13:23:18 +0000 (14:23 +0100)]
start on test joining XICS ICS to ICP
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 13:08:32 +0000 (14:08 +0100)]
tidyup XICS, identify (potential?) bug?
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 10:58:59 +0000 (11:58 +0100)]
move CR test out of subtest indentation
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 10:54:19 +0000 (11:54 +0100)]
move SHIFTROT test out of subtest indentation
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 10:49:16 +0000 (11:49 +0100)]
move actual ALU test out of subTest indentation just like for div
Luke Kenneth Casson Leighton [Wed, 29 Jul 2020 10:42:05 +0000 (11:42 +0100)]
whitespace
Jacob Lifshay [Wed, 29 Jul 2020 00:44:57 +0000 (17:44 -0700)]
clean up branch test_pipe_caller
Jacob Lifshay [Wed, 29 Jul 2020 00:40:56 +0000 (17:40 -0700)]
clean up alu test_pipe_caller
Jacob Lifshay [Wed, 29 Jul 2020 00:38:58 +0000 (17:38 -0700)]
add __init__.py to all source directories
Jacob Lifshay [Wed, 29 Jul 2020 00:27:44 +0000 (17:27 -0700)]
clean up some tests
Jacob Lifshay [Wed, 29 Jul 2020 00:26:16 +0000 (17:26 -0700)]
format some tests
Jacob Lifshay [Wed, 29 Jul 2020 00:23:02 +0000 (17:23 -0700)]
add code for skipping test cases
Jacob Lifshay [Tue, 28 Jul 2020 23:49:10 +0000 (16:49 -0700)]
clean up div pipe tests to allow them to be run in parallel
Jacob Lifshay [Tue, 28 Jul 2020 23:16:45 +0000 (16:16 -0700)]
Merge remote-tracking branch 'origin/master'
Jacob Lifshay [Tue, 28 Jul 2020 23:15:40 +0000 (16:15 -0700)]
fix test_pipe_ilang.py
Luke Kenneth Casson Leighton [Tue, 28 Jul 2020 23:14:33 +0000 (00:14 +0100)]
use ctx.op compare (and muxid) in shiftrot proof
also use correct input record type and spec
Jacob Lifshay [Tue, 28 Jul 2020 23:02:20 +0000 (16:02 -0700)]
split out ilang tests
Jacob Lifshay [Tue, 28 Jul 2020 23:01:45 +0000 (16:01 -0700)]
add more files to .gitignore
Jacob Lifshay [Tue, 28 Jul 2020 22:49:06 +0000 (15:49 -0700)]
format code
Luke Kenneth Casson Leighton [Tue, 28 Jul 2020 12:28:22 +0000 (13:28 +0100)]
add preliminary investigative test of XICS ICS
Luke Kenneth Casson Leighton [Tue, 28 Jul 2020 09:20:20 +0000 (10:20 +0100)]
tidyup/comments in trap proof
Luke Kenneth Casson Leighton [Mon, 27 Jul 2020 21:36:55 +0000 (22:36 +0100)]
add 2nd part of XICS interrupt interface
Luke Kenneth Casson Leighton [Mon, 27 Jul 2020 11:44:44 +0000 (12:44 +0100)]
fix trap proof, and trap main_stage, and pseudocode for rfid
all a bit of a mess, really :)
Luke Kenneth Casson Leighton [Mon, 27 Jul 2020 10:48:11 +0000 (11:48 +0100)]
shorten expected_ to exp_, gets line-length down
Samuel A. Falvo II [Sun, 26 Jul 2020 20:31:17 +0000 (13:31 -0700)]
MTMSR(D) properties.
As of this commit, the properties for MTMSRD fails because (IBM) bit 30
is not set correctly. I've double checked my properties against that
specified in the V3.0B specs on page 978. I've also double-checked the
code in ../main_stage.py. As of this commit, I *cannot* find the
location of the discrepency.
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 20:27:53 +0000 (21:27 +0100)]
start on conversion of xics.vhdl to nmigen
see https://bugs.libre-soc.org/show_bug.cgi?id=407
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 13:47:17 +0000 (14:47 +0100)]
add nop test cases
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 13:16:15 +0000 (14:16 +0100)]
add test_nop general test case
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 13:13:31 +0000 (14:13 +0100)]
activate some of new accumulator-based tests in test_issuer
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 13:11:01 +0000 (14:11 +0100)]
do not need lod_l.q | lsto_l.q can just use lsd_l.q
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 13:04:54 +0000 (14:04 +0100)]
argh add yet another latch to detect when LD/ST has completed
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 12:34:49 +0000 (13:34 +0100)]
sigh, issue with detection/waiting for LD/ST CompUnit
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 11:13:36 +0000 (12:13 +0100)]
convert LDST test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 11:09:13 +0000 (12:09 +0100)]
convert Branch test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 11:07:28 +0000 (12:07 +0100)]
convert SPR test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 11:02:52 +0000 (12:02 +0100)]
convert TRAP test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:59:52 +0000 (11:59 +0100)]
remove FHDLTestCase
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:58:33 +0000 (11:58 +0100)]
convert CR test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:56:17 +0000 (11:56 +0100)]
convert mul test to accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:17:38 +0000 (11:17 +0100)]
convert shift_rot test to new base accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:14:18 +0000 (11:14 +0100)]
convert logical test case to new base class accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:11:25 +0000 (11:11 +0100)]
move run_test_program to base class and rename to "add_case"
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:11:05 +0000 (11:11 +0100)]
convert ALU to new accumulator style
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:05:34 +0000 (11:05 +0100)]
again, move large heavily-indented code-block in div test_pipe_caller
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 10:02:28 +0000 (11:02 +0100)]
run subtest, indentation getting too large, move to function
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 09:56:08 +0000 (10:56 +0100)]
get div compunit test running (use new way to accumulate tests)
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 09:32:08 +0000 (10:32 +0100)]
use new test accumulator class in div tests
Luke Kenneth Casson Leighton [Sun, 26 Jul 2020 09:31:49 +0000 (10:31 +0100)]
add common test base class for "accumulating" tests to run
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 21:26:22 +0000 (22:26 +0100)]
update submodule
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 20:42:34 +0000 (21:42 +0100)]
remove old div overflow test, keep microwatt version
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 20:41:15 +0000 (21:41 +0100)]
hilarious. only just caught a bug where overflow was being taken from Rc
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 15:57:18 +0000 (16:57 +0100)]
comb += missing
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 15:32:22 +0000 (16:32 +0100)]
add CR0 regression, expected 0b10 actual 0b11
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 15:18:16 +0000 (16:18 +0100)]
add regression test 8, DivPipeCore producing spurious result
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 15:15:44 +0000 (16:15 +0100)]
add pia back in
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 15:04:02 +0000 (16:04 +0100)]
re-add pia_result_to_output function (minus "typing" which should go in .pyi)
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 14:34:16 +0000 (15:34 +0100)]
add div compunit test
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 14:33:38 +0000 (15:33 +0100)]
wait until pipeline indicates that its output is valid in compunit test
DIV and other long pipelines only set wrmask when a result is available
the previous test, "is wrmask zero if so exit" was therefore reading
invalid data.
it was a matter of coincidence that all other compunit tests were only
one stage long that the wrmask *happened* to be valid
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 14:20:36 +0000 (15:20 +0100)]
move reset of rdmaskn to after "busy"
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 14:10:34 +0000 (15:10 +0100)]
comment LDST FunctionUnit
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 11:54:49 +0000 (12:54 +0100)]
going on a bit of a "naming" spree, this for Jean-Paul to be able to
identify operand records on pipelines
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 11:25:41 +0000 (12:25 +0100)]
add spec page numbers to logical ops
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 11:19:31 +0000 (12:19 +0100)]
add page-number comments to ALU main_stage
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 11:14:31 +0000 (12:14 +0100)]
update comment-headers (TODO include page numbers to v3.0B spec)
Luke Kenneth Casson Leighton [Sat, 25 Jul 2020 11:09:30 +0000 (12:09 +0100)]
make trap proof section more readable
Samuel A. Falvo II [Fri, 24 Jul 2020 23:31:09 +0000 (16:31 -0700)]
Properties for MFMSR
Samuel A. Falvo II [Fri, 24 Jul 2020 23:19:17 +0000 (16:19 -0700)]
Reorganize code layout
Make proof code match corresponding code in main_stage. I am constantly
getting confused about what to work on next. Purely a cosmetic change,
but has impact on cognitive load for me.
Samuel A. Falvo II [Fri, 24 Jul 2020 22:28:04 +0000 (15:28 -0700)]
WIP: SC properties more closely match doc'd behavior
Cole Poirier [Fri, 24 Jul 2020 20:42:56 +0000 (13:42 -0700)]
Update libreriscv/HDL_workflow with instructions how to build and
install power_instruction_analyzer (pia)
Samuel A. Falvo II [Fri, 24 Jul 2020 15:21:29 +0000 (08:21 -0700)]
WIP: addressing code review, restoring proofs, etc.
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 15:12:32 +0000 (16:12 +0100)]
got fed up with bit-slice ordering crap. cut it out
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 15:10:54 +0000 (16:10 +0100)]
add better comments on field_slice
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 15:03:31 +0000 (16:03 +0100)]
returned field_slice to original, and added comments
see https://bugs.libre-soc.org/show_bug.cgi?id=325#c134
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 13:51:38 +0000 (14:51 +0100)]
annoying, yet more typos
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 13:50:23 +0000 (14:50 +0100)]
annoying, typo
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 13:43:54 +0000 (14:43 +0100)]
better debug assert log message
Luke Kenneth Casson Leighton [Fri, 24 Jul 2020 13:42:04 +0000 (14:42 +0100)]
too much debug info going past, so add the test registers to the
failed log message