soc.git
4 years agommu.py remove duplicate comment left over from mmu.vhdl
Cole Poirier [Sat, 29 Aug 2020 22:06:01 +0000 (15:06 -0700)]
mmu.py remove duplicate comment left over from mmu.vhdl

4 years agoicache.py initial commit of first attempt at translation of icache.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

4 years agoMove new write_gtkw and its example to nmutil
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.

4 years agominor code-shuffle, comments
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 19:56:29 +0000 (20:56 +0100)]
minor code-shuffle, comments

4 years agoslowly morphing towards using an XER bit-field selector in decoder
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

4 years agoMUL pipeline formal proofs complete, I *think*.
Samuel A. Falvo II [Sat, 29 Aug 2020 19:41:30 +0000 (12:41 -0700)]
MUL pipeline formal proofs complete, I *think*.

4 years agobreak down XER into flags
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:54:23 +0000 (19:54 +0100)]
break down XER into flags

4 years agoadd XER read via DMI interface to sim.py
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:47:40 +0000 (19:47 +0100)]
add XER read via DMI interface to sim.py

4 years agoadd hack to get at XER through DMI interface
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:41:49 +0000 (19:41 +0100)]
add hack to get at XER through DMI interface

4 years agosubmodule update
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 18:29:16 +0000 (19:29 +0100)]
submodule update

4 years agoWIP: prep for 64-bit insns
Samuel A. Falvo II [Sat, 29 Aug 2020 17:28:12 +0000 (10:28 -0700)]
WIP: prep for 64-bit insns

4 years agoyep disable OE for MULH64/32 and EXTS and CNTZ
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

4 years agoinvestigating CR mtocrf / mfocrf
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 15:27:23 +0000 (16:27 +0100)]
investigating CR mtocrf / mfocrf

4 years agoadd additional CR regression tests
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:19:48 +0000 (14:19 +0100)]
add additional CR regression tests

4 years agoallow pseudocode numbering to decrement in for-loops
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:19:11 +0000 (14:19 +0100)]
allow pseudocode numbering to decrement in for-loops

4 years agoadd wat to write out raw binary assembled programs
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:18:41 +0000 (14:18 +0100)]
add wat to write out raw binary assembled programs

4 years agoCR FXM becomes a full mask.
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

4 years agodcache.py add first attempt at translation of dcache_tb.vhdl as
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()

4 years agodcache.py add skeleton sim and test adapted from mmu.py which was
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

4 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Thu, 27 Aug 2020 23:35:21 +0000 (16:35 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

4 years agodcache.py implement the remaining vhdl generate statements in nmigen,
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

4 years agohttps://bugs.libre-soc.org/show_bug.cgi?id=476
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

4 years agoxer so is not being passed through to 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

4 years agoreally bad hack to fix simulator bug in carry handling
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

4 years agoaugment addme test case to show bug #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

4 years agoadd addze and addme uni tests
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 16:23:17 +0000 (17:23 +0100)]
add addze and addme uni tests

4 years agoincompatibility with POWER9 on mulhw/u due to lack of spec clarity
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

4 years agooverflow-enable does not occur on shift operations
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 14:20:31 +0000 (15:20 +0100)]
overflow-enable does not occur on shift operations

4 years agooink, write_cr shiftrot record width was zero (??)
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 14:01:23 +0000 (15:01 +0100)]
oink, write_cr shiftrot record width was zero (??)

4 years agosorting out shift_rot to use new output stage data structures
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"

4 years agoneed to read SO if Rc=1
Luke Kenneth Casson Leighton [Thu, 27 Aug 2020 12:23:04 +0000 (13:23 +0100)]
need to read SO if Rc=1

4 years agoreorg of SO handling related to CR0
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

4 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Wed, 26 Aug 2020 18:06:12 +0000 (11:06 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

4 years agodcache.py replace subtypes/types/constant aliases with the names of the
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

4 years agouse sub-test in logical test_pipe_caller
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 14:37:22 +0000 (15:37 +0100)]
use sub-test in logical test_pipe_caller

4 years agoinvestigating div fsm and simulator bug
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 14:29:01 +0000 (15:29 +0100)]
investigating div fsm and simulator bug

4 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Tue, 25 Aug 2020 20:35:04 +0000 (13:35 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

4 years agodcache.py rearrange, transform classes into functions with input
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

4 years agofix broken remainder for div FSM
Jacob Lifshay [Tue, 25 Aug 2020 18:54:51 +0000 (11:54 -0700)]
fix broken remainder for div FSM

4 years agoclean up formatting
Jacob Lifshay [Tue, 25 Aug 2020 18:16:03 +0000 (11:16 -0700)]
clean up formatting

4 years agoalthough shift-rot does not alter XER.so it still needs it as input for CR0
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

4 years agoadd way to capture CR from DMI in litex sim
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

4 years agoadd CR read to DMI interface
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 11:26:19 +0000 (12:26 +0100)]
add CR read to DMI interface

4 years agoshorten using temp vars
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:56:36 +0000 (11:56 +0100)]
shorten using temp vars

4 years agoadd CR DMI interface
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:54:35 +0000 (11:54 +0100)]
add CR DMI interface

4 years agoadd crxor unit test to qemu
Luke Kenneth Casson Leighton [Tue, 25 Aug 2020 10:52:24 +0000 (11:52 +0100)]
add crxor unit test to qemu

4 years agodcache.py fix whitespace, fomatting, syntax
Cole Poirier [Tue, 25 Aug 2020 01:19:24 +0000 (18:19 -0700)]
dcache.py fix whitespace, fomatting, syntax

4 years agodcache.py fix formatting
Cole Poirier [Tue, 25 Aug 2020 01:03:14 +0000 (18:03 -0700)]
dcache.py fix formatting

4 years agodcache.py move Reservation RecordObject to top of file
Cole Poirier [Tue, 25 Aug 2020 01:01:36 +0000 (18:01 -0700)]
dcache.py move Reservation RecordObject to top of file

4 years agodcache.py move RegStage1 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

4 years agodcache.py move MemAccessRequest RecordObject to top of file, small
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

4 years agodcache.py move Stage0 RecordObject to top of file
Cole Poirier [Tue, 25 Aug 2020 00:40:19 +0000 (17:40 -0700)]
dcache.py move Stage0 RecordObject to top of file

4 years agoargh, reading regfile over DMI was overlapped and corrupting reg 0
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

4 years agoadd isel CR tests to run on qemu (confirmed working)
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)

4 years agoTestCachedMemoryPortInterface cleanup
Tobias Platen [Mon, 24 Aug 2020 16:50:47 +0000 (18:50 +0200)]
TestCachedMemoryPortInterface cleanup

4 years agomake it easier to select FSM/Pipe DIV unit
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 14:32:02 +0000 (15:32 +0100)]
make it easier to select FSM/Pipe DIV unit

4 years agofix *another* ld-update-related timing / FSM issue
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 14:04:55 +0000 (15:04 +0100)]
fix *another* ld-update-related timing / FSM issue

4 years agotidyup / shuffle after review
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 12:42:03 +0000 (13:42 +0100)]
tidyup / shuffle after review

4 years agoremove default parameter
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 12:30:28 +0000 (13:30 +0100)]
remove default parameter

4 years ago"WAY" does not exist - range(NUM_WAYS) was intended
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 11:43:34 +0000 (12:43 +0100)]
"WAY" does not exist - range(NUM_WAYS) was intended

4 years agouse WAY_BITS in appropriate locations
Luke Kenneth Casson Leighton [Mon, 24 Aug 2020 11:37:32 +0000 (12:37 +0100)]
use WAY_BITS in appropriate locations

4 years agoreminder that the license (reflecting what is in setup.py) is the LGPLv3
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

4 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Mon, 24 Aug 2020 00:48:16 +0000 (17:48 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

4 years agodcache.py commit first full tranlation pass, about five percent left
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

4 years agoupdate copyright notices to include additional primary author
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)

4 years agoadd load algebraic immediate unit test
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 20:57:10 +0000 (21:57 +0100)]
add load algebraic immediate unit test

4 years agoadd algebraic ld tests lwax, lwaux
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 20:39:25 +0000 (21:39 +0100)]
add algebraic ld tests lwax, lwaux

4 years agoAdd copyright to files I primarily authored in simulator/
Michael Nolan [Sun, 23 Aug 2020 20:06:24 +0000 (16:06 -0400)]
Add copyright to files I primarily authored in simulator/

4 years agoAdd copyright to files in fu/ that I was the primary author on
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

4 years agoAdd copyright statement to power_decoder.py
Michael Nolan [Sun, 23 Aug 2020 19:51:32 +0000 (15:51 -0400)]
Add copyright statement to power_decoder.py

Michael Copyright

4 years agobring "core stopped" signal out through DMI interface
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 19:49:13 +0000 (20:49 +0100)]
bring "core stopped" signal out through DMI interface

4 years agoadd in DMI "stat" loop which monitors core "stopping"
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 19:36:58 +0000 (20:36 +0100)]
add in DMI "stat" loop which monitors core "stopping"

4 years agoAllow an empty style, and passing default styles as arguments
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.

4 years agoAdd comment node type
Cesar Strauss [Sun, 23 Aug 2020 18:31:12 +0000 (15:31 -0300)]
Add comment node type

4 years agoAdd base and display styles
Cesar Strauss [Sun, 23 Aug 2020 18:06:21 +0000 (15:06 -0300)]
Add base and display styles

4 years agoApply style from node own name
Cesar Strauss [Sun, 23 Aug 2020 17:51:35 +0000 (14:51 -0300)]
Apply style from node own name

4 years agoAdd color style
Cesar Strauss [Sun, 23 Aug 2020 17:44:54 +0000 (14:44 -0300)]
Add color style

4 years agoCollect styles from the tuple
Cesar Strauss [Sun, 23 Aug 2020 17:14:52 +0000 (14:14 -0300)]
Collect styles from the tuple

4 years agoPropagate the root style to all signals
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.

4 years agocomment why litex sim mem map is altered
Luke Kenneth Casson Leighton [Sun, 23 Aug 2020 14:18:54 +0000 (15:18 +0100)]
comment why litex sim mem map is altered

4 years agomultiply does not have invert_in, zero_a or invert_out
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

4 years agorename invert_a to invert_in because logical inverts RB
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

4 years agoupdate submodule
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:46:13 +0000 (00:46 +0100)]
update submodule

4 years agoload bios not 1.bin unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:46:00 +0000 (00:46 +0100)]
load bios not 1.bin unit test

4 years agoadd extra div regression tests
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 23:45:28 +0000 (00:45 +0100)]
add extra div regression tests

4 years agoMove comments to the docstring
Cesar Strauss [Sat, 22 Aug 2020 21:13:51 +0000 (18:13 -0300)]
Move comments to the docstring

4 years agoWalk the DOM and emit the trace names
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.

4 years agoadd eqv to logical unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:10:03 +0000 (16:10 +0100)]
add eqv to logical unit test

4 years agoadd nor and nand to unit test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:09:06 +0000 (16:09 +0100)]
add nor and nand to unit test

4 years agomoved to div pipe temporarily in compunits
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 15:07:22 +0000 (16:07 +0100)]
moved to div pipe temporarily in compunits

4 years agobug in andc and orc, complement was taking place on RA not RB
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

4 years agoextend addis test
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 14:11:46 +0000 (15:11 +0100)]
extend addis test

4 years agoadd andc and orc tests, failing because RB needs inversion not RA
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

4 years agomodsd bug, https://bugs.libre-soc.org/show_bug.cgi?id=471
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

4 years agoFirst draft of a mini-language to describe GTKWave documents
Cesar Strauss [Sat, 22 Aug 2020 12:13:21 +0000 (09:13 -0300)]
First draft of a mini-language to describe GTKWave documents

Uses a split CSS + DOM approach, where style is separated from content.
For the moment, only syntax and semantics definitions are proposed.
Implementation should be the next step.

4 years agosubmodule update
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 12:18:03 +0000 (13:18 +0100)]
submodule update

4 years agoadd regression test for nonzero addis
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 11:24:29 +0000 (12:24 +0100)]
add regression test for nonzero addis

4 years agoadd means to run microwatt test binaries
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 11:23:23 +0000 (12:23 +0100)]
add means to run microwatt test binaries

4 years agor0 zero tests on addis, fails
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 11:09:19 +0000 (12:09 +0100)]
r0 zero tests on addis, fails

4 years agoinvestigating litex sdrinit function
Luke Kenneth Casson Leighton [Sat, 22 Aug 2020 10:35:00 +0000 (11:35 +0100)]
investigating litex sdrinit function