Cole Poirier [Sun, 30 Aug 2020 03:23:18 +0000 (20:23 -0700)]
icache.py commit progress, about a third through the process
Cole Poirier [Sat, 29 Aug 2020 22:58:31 +0000 (15:58 -0700)]
Merge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Sat, 29 Aug 2020 22:56:15 +0000 (15:56 -0700)]
mmu.py, dcache.py, mem_types.py change types capitalization because I
was making typing errors, and this make more sense. Mmu -> MMU, Dcache
-> DCache, Icache -> ICache
Cole Poirier [Sat, 29 Aug 2020 22:41:07 +0000 (15:41 -0700)]
mem_types add more types from common.vhdl specifially for icache,
Fetch1ToIcacheType() and IcacheToDecode1Type()
Cole Poirier [Sat, 29 Aug 2020 22:32:38 +0000 (15:32 -0700)]
mem_types.py arrange in alphabetical order for ease of reference, align
formatting
Samuel A. Falvo II [Sat, 29 Aug 2020 22:24:15 +0000 (15:24 -0700)]
BROKEN: xer_ov_o != dut.o.xer_ov.data ???!!!
Cole Poirier [Sat, 29 Aug 2020 22:06:01 +0000 (15:06 -0700)]
mmu.py remove duplicate comment left over from mmu.vhdl
Cole Poirier [Sat, 29 Aug 2020 22:02:56 +0000 (15:02 -0700)]
icache.py initial commit of first attempt at translation of icache.vhdl
Cesar Strauss [Fri, 28 Aug 2020 09:55:10 +0000 (06:55 -0300)]
Move new write_gtkw and its example to nmutil
But keep using it to generate the GTKWave document for this unit test.
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 19:56:29 +0000 (20:56 +0100)]
minor code-shuffle, comments
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 19:42:35 +0000 (20:42 +0100)]
slowly morphing towards using an XER bit-field selector in decoder
Samuel A. Falvo II [Sat, 29 Aug 2020 19:41:30 +0000 (12:41 -0700)]
MUL pipeline formal proofs complete, I *think*.
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:54:23 +0000 (19:54 +0100)]
break down XER into flags
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:47:40 +0000 (19:47 +0100)]
add XER read via DMI interface to sim.py
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:41:49 +0000 (19:41 +0100)]
add hack to get at XER through DMI interface
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:29:16 +0000 (19:29 +0100)]
submodule update
Samuel A. Falvo II [Sat, 29 Aug 2020 17:28:12 +0000 (10:28 -0700)]
WIP: prep for 64-bit insns
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 16:18:10 +0000 (17:18 +0100)]
yep disable OE for MULH64/32 and EXTS and CNTZ
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 15:27:23 +0000 (16:27 +0100)]
investigating CR mtocrf / mfocrf
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:19:48 +0000 (14:19 +0100)]
add additional CR regression tests
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:19:11 +0000 (14:19 +0100)]
allow pseudocode numbering to decrement in for-loops
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:18:41 +0000 (14:18 +0100)]
add wat to write out raw binary assembled programs
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 09:56:02 +0000 (10:56 +0100)]
CR FXM becomes a full mask.
https://bugs.libre-soc.org/show_bug.cgi?id=478
Cole Poirier [Fri, 28 Aug 2020 03:04:55 +0000 (20:04 -0700)]
dcache.py add first attempt at translation of dcache_tb.vhdl as
dcache_sim()
Cole Poirier [Thu, 27 Aug 2020 23:38:09 +0000 (16:38 -0700)]
dcache.py add skeleton sim and test adapted from mmu.py which was
adapted from regfile.py
Cole Poirier [Thu, 27 Aug 2020 23:35:21 +0000 (16:35 -0700)]
Merge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Thu, 27 Aug 2020 23:33:58 +0000 (16:33 -0700)]
dcache.py implement the remaining vhdl generate statements in nmigen,
fix formatting, typos
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 20:18:12 +0000 (21:18 +0100)]
https://bugs.libre-soc.org/show_bug.cgi?id=476
XER SO not being "listened" to correctly when OE=0 and Rc=1 creating CR0
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 19:52:58 +0000 (20:52 +0100)]
xer so is not being passed through to CR0
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 19:37:04 +0000 (20:37 +0100)]
really bad hack to fix simulator bug in carry handling
https://bugs.libre-soc.org/show_bug.cgi?id=476
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 17:20:29 +0000 (18:20 +0100)]
augment addme test case to show bug #476
https://bugs.libre-soc.org/show_bug.cgi?id=476
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 16:23:17 +0000 (17:23 +0100)]
add addze and addme uni tests
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 16:23:01 +0000 (17:23 +0100)]
incompatibility with POWER9 on mulhw/u due to lack of spec clarity
both microwatt and IBM POWER9 violate spec
http://lists.libre-soc.org/pipermail/libre-soc-dev/2020-August/000302.html
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 14:20:31 +0000 (15:20 +0100)]
overflow-enable does not occur on shift operations
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 14:01:23 +0000 (15:01 +0100)]
oink, write_cr shiftrot record width was zero (??)
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 13:58:25 +0000 (14:58 +0100)]
sorting out shift_rot to use new output stage data structures
shift_rot does not modify OV/32 so needs its own output stage
similar to logical, SO is never set but is "read"
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 12:23:04 +0000 (13:23 +0100)]
need to read SO if Rc=1
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 17:59:47 +0000 (18:59 +0100)]
reorg of SO handling related to CR0
because CR0 needs XER SO, logical pipe needs to read but not write SO
this means quite a substantial but relatively straightforward change
in the pipe_data for logical and ALU
Cole Poirier [Wed, 26 Aug 2020 18:06:12 +0000 (11:06 -0700)]
Merge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Wed, 26 Aug 2020 18:04:45 +0000 (11:04 -0700)]
dcache.py replace subtypes/types/constant aliases with the names of the
orignal constants that these were aliases of, tidy up
names
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 14:37:22 +0000 (15:37 +0100)]
use sub-test in logical test_pipe_caller
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 14:29:01 +0000 (15:29 +0100)]
investigating div fsm and simulator bug
Cole Poirier [Tue, 25 Aug 2020 20:35:04 +0000 (13:35 -0700)]
Merge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Tue, 25 Aug 2020 20:33:17 +0000 (13:33 -0700)]
dcache.py rearrange, transform classes into functions with input
parameters, fix typos, whitespace, syntax
Jacob Lifshay [Tue, 25 Aug 2020 18:54:51 +0000 (11:54 -0700)]
fix broken remainder for div FSM
Jacob Lifshay [Tue, 25 Aug 2020 18:16:03 +0000 (11:16 -0700)]
clean up formatting
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 13:30:04 +0000 (14:30 +0100)]
although shift-rot does not alter XER.so it still needs it as input for CR0
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 11:59:38 +0000 (12:59 +0100)]
add way to capture CR from DMI in litex sim
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 11:26:19 +0000 (12:26 +0100)]
add CR read to DMI interface
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:56:36 +0000 (11:56 +0100)]
shorten using temp vars
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:54:35 +0000 (11:54 +0100)]
add CR DMI interface
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:52:24 +0000 (11:52 +0100)]
add crxor unit test to qemu
Cole Poirier [Tue, 25 Aug 2020 01:19:24 +0000 (18:19 -0700)]
dcache.py fix whitespace, fomatting, syntax
Cole Poirier [Tue, 25 Aug 2020 01:03:14 +0000 (18:03 -0700)]
dcache.py fix formatting
Cole Poirier [Tue, 25 Aug 2020 01:01:36 +0000 (18:01 -0700)]
dcache.py move Reservation RecordObject to top of file
Cole Poirier [Tue, 25 Aug 2020 00:59:16 +0000 (17:59 -0700)]
dcache.py move RegStage1 RecordObject to top of file
Cole Poirier [Tue, 25 Aug 2020 00:47:41 +0000 (17:47 -0700)]
dcache.py move MemAccessRequest RecordObject to top of file, small
formatting changes
Cole Poirier [Tue, 25 Aug 2020 00:40:19 +0000 (17:40 -0700)]
dcache.py move Stage0 RecordObject to top of file
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 22:27:02 +0000 (23:27 +0100)]
argh, reading regfile over DMI was overlapped and corrupting reg 0
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 18:45:13 +0000 (19:45 +0100)]
add isel CR tests to run on qemu (confirmed working)
Tobias Platen [Mon, 24 Aug 2020 16:50:47 +0000 (18:50 +0200)]
TestCachedMemoryPortInterface cleanup
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 14:32:02 +0000 (15:32 +0100)]
make it easier to select FSM/Pipe DIV unit
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 14:04:55 +0000 (15:04 +0100)]
fix *another* ld-update-related timing / FSM issue
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 12:42:03 +0000 (13:42 +0100)]
tidyup / shuffle after review
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 12:30:28 +0000 (13:30 +0100)]
remove default parameter
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 11:43:34 +0000 (12:43 +0100)]
"WAY" does not exist - range(NUM_WAYS) was intended
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 11:37:32 +0000 (12:37 +0100)]
use WAY_BITS in appropriate locations
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 11:18:04 +0000 (12:18 +0100)]
reminder that the license (reflecting what is in setup.py) is the LGPLv3
Cole Poirier [Mon, 24 Aug 2020 00:48:16 +0000 (17:48 -0700)]
Merge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Mon, 24 Aug 2020 00:46:21 +0000 (17:46 -0700)]
dcache.py commit first full tranlation pass, about five percent left
undone as I don't understand how to do it and need help
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 21:07:33 +0000 (22:07 +0100)]
update copyright notices to include additional primary author
(michael, please make sure to be properly informed on copyright law.
the git commit logs are the "ultimate" record, and simply being just one
of the authors does not mean that you can take the entire code and re-license
it under your own license. you can only take the portions that *you* wrote)
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 20:57:10 +0000 (21:57 +0100)]
add load algebraic immediate unit test
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 20:39:25 +0000 (21:39 +0100)]
add algebraic ld tests lwax, lwaux
Michael Nolan [Sun, 23 Aug 2020 20:06:24 +0000 (16:06 -0400)]
Add copyright to files I primarily authored in simulator/
Michael Nolan [Sun, 23 Aug 2020 20:04:13 +0000 (16:04 -0400)]
Add copyright to files in fu/ that I was the primary author on
Michael Nolan [Sun, 23 Aug 2020 19:51:32 +0000 (15:51 -0400)]
Add copyright statement to power_decoder.py
Michael Copyright
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 19:49:13 +0000 (20:49 +0100)]
bring "core stopped" signal out through DMI interface
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 19:36:58 +0000 (20:36 +0100)]
add in DMI "stat" loop which monitors core "stopping"
Cesar Strauss [Sun, 23 Aug 2020 19:26:20 +0000 (16:26 -0300)]
Allow an empty style, and passing default styles as arguments
This permits to entirely avoid passing a style structure, if only
the root selector is needed.
Cesar Strauss [Sun, 23 Aug 2020 18:31:12 +0000 (15:31 -0300)]
Add comment node type
Cesar Strauss [Sun, 23 Aug 2020 18:06:21 +0000 (15:06 -0300)]
Add base and display styles
Cesar Strauss [Sun, 23 Aug 2020 17:51:35 +0000 (14:51 -0300)]
Apply style from node own name
Cesar Strauss [Sun, 23 Aug 2020 17:44:54 +0000 (14:44 -0300)]
Add color style
Cesar Strauss [Sun, 23 Aug 2020 17:14:52 +0000 (14:14 -0300)]
Collect styles from the tuple
Cesar Strauss [Sun, 23 Aug 2020 16:17:24 +0000 (13:17 -0300)]
Propagate the root style to all signals
Begin by prepending the default module path to all signal names.
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 14:18:54 +0000 (15:18 +0100)]
comment why litex sim mem map is altered
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 11:32:10 +0000 (12:32 +0100)]
multiply does not have invert_in, zero_a or invert_out
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:53:25 +0000 (00:53 +0100)]
rename invert_a to invert_in because logical inverts RB
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:46:13 +0000 (00:46 +0100)]
update submodule
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:46:00 +0000 (00:46 +0100)]
load bios not 1.bin unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:45:28 +0000 (00:45 +0100)]
add extra div regression tests
Cesar Strauss [Sat, 22 Aug 2020 21:13:51 +0000 (18:13 -0300)]
Move comments to the docstring
Cesar Strauss [Sat, 22 Aug 2020 19:14:53 +0000 (16:14 -0300)]
Walk the DOM and emit the trace names
Descend into the children of each group, while emitting the group
delimiters.
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:10:03 +0000 (16:10 +0100)]
add eqv to logical unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:09:06 +0000 (16:09 +0100)]
add nor and nand to unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:07:22 +0000 (16:07 +0100)]
moved to div pipe temporarily in compunits
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 14:39:29 +0000 (15:39 +0100)]
bug in andc and orc, complement was taking place on RA not RB
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 14:11:46 +0000 (15:11 +0100)]
extend addis test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 14:11:25 +0000 (15:11 +0100)]
add andc and orc tests, failing because RB needs inversion not RA
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 13:01:26 +0000 (14:01 +0100)]
modsd bug, https://bugs.libre-soc.org/show_bug.cgi?id=471