soc.git
2 years agoRevert "move coresync clock synchronisation into HDLRunner"
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 19:16:23 +0000 (20:16 +0100)]
Revert "move coresync clock synchronisation into HDLRunner"

This reverts commit 8a51f6944fa6c5185285b0139f5b419fb68aa145.

2 years agocall StateRunner constructor, to add to StateRunner class Factory
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 18:03:45 +0000 (19:03 +0100)]
call StateRunner constructor, to add to StateRunner class Factory

2 years agomore TODO comments
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 17:59:23 +0000 (18:59 +0100)]
more TODO comments

2 years agomove coresync clock synchronisation into HDLRunner
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 17:59:15 +0000 (18:59 +0100)]
move coresync clock synchronisation into HDLRunner

2 years agowhoops missed one function which should be a yield (of nothing)
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 17:53:23 +0000 (18:53 +0100)]
whoops missed one function which should be a yield (of nothing)

2 years agouse yield from on StateRunners
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 17:51:53 +0000 (18:51 +0100)]
use yield from on StateRunners

2 years agoadd comments, remove unneeded code
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 15:34:03 +0000 (16:34 +0100)]
add comments, remove unneeded code
https://bugs.libre-soc.org/show_bug.cgi?id=686#c73

2 years agomove pc_i and svstate_i to HDLRunner
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 15:23:59 +0000 (16:23 +0100)]
move pc_i and svstate_i to HDLRunner

2 years agoadd end_test, minor cleanup, added hdlrun.cleanup() call
klehman [Sat, 25 Sep 2021 14:46:53 +0000 (10:46 -0400)]
add end_test, minor cleanup, added hdlrun.cleanup() call

2 years agomoved pc_i and sv_state to constructor, remove hdl_state_run
klehman [Sat, 25 Sep 2021 14:32:33 +0000 (10:32 -0400)]
moved pc_i and sv_state to constructor, remove hdl_state_run

2 years agochange over run_hdl_state to TestRunner class
klehman [Sat, 25 Sep 2021 14:07:52 +0000 (10:07 -0400)]
change over run_hdl_state to TestRunner class

2 years agoadd dummy call to simrun and end_test()
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 13:02:15 +0000 (14:02 +0100)]
add dummy call to simrun and end_test()

2 years agocode-comments and dummy functions
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 12:49:52 +0000 (13:49 +0100)]
code-comments and dummy functions

2 years agomove contents of run_sim_state into SimRunner run_test function
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 12:43:10 +0000 (13:43 +0100)]
move contents of run_sim_state into SimRunner run_test function

2 years agoadd a SimRunner prepare_for_test and run_test function
Luke Kenneth Casson Leighton [Sat, 25 Sep 2021 12:35:36 +0000 (13:35 +0100)]
add a SimRunner prepare_for_test and run_test function

2 years agoflake.nix: Clean up
Las Safin [Wed, 6 Oct 2021 09:17:51 +0000 (09:17 +0000)]
flake.nix: Clean up

2 years agoecp5-program: Delete garbage
Las Safin [Tue, 5 Oct 2021 12:43:46 +0000 (12:43 +0000)]
ecp5-program: Delete garbage

2 years agoUpdate lock file
Las Safin [Tue, 5 Oct 2021 12:43:19 +0000 (12:43 +0000)]
Update lock file

2 years agoAdd script for loading Libre-SOC onto Versa ECP5 board!
Las Safin [Sun, 26 Sep 2021 21:13:19 +0000 (21:13 +0000)]
Add script for loading Libre-SOC onto Versa ECP5 board!

2 years agoMerge remote-tracking branch 'upstream/master' into pr
Las Safin [Sat, 25 Sep 2021 16:01:22 +0000 (16:01 +0000)]
Merge remote-tracking branch 'upstream/master' into pr

2 years agoUpdate libresoc-litex submodule
Las Safin [Sat, 25 Sep 2021 16:00:57 +0000 (16:00 +0000)]
Update libresoc-litex submodule

2 years agoUpdate libresoc-litex submodule
Las Safin [Sat, 25 Sep 2021 15:52:00 +0000 (15:52 +0000)]
Update libresoc-litex submodule

2 years agoFix building for a Versa ECP5
Las Safin [Sat, 25 Sep 2021 15:29:26 +0000 (15:29 +0000)]
Fix building for a Versa ECP5

2 years agoPin version of yosys
Las Safin [Sat, 25 Sep 2021 12:35:42 +0000 (12:35 +0000)]
Pin version of yosys

2 years agostart of HDLRunner
klehman [Sat, 25 Sep 2021 12:16:18 +0000 (08:16 -0400)]
start of HDLRunner

2 years agoGet further building for versa ecp5
Las Safin [Sat, 25 Sep 2021 11:57:13 +0000 (11:57 +0000)]
Get further building for versa ecp5

2 years agoAttempt to build for versa ecp5
Las Safin [Fri, 24 Sep 2021 21:12:53 +0000 (21:12 +0000)]
Attempt to build for versa ecp5

2 years agoUpdate nix-litex
Las Safin [Fri, 24 Sep 2021 20:38:41 +0000 (20:38 +0000)]
Update nix-litex

2 years agocreate initial SimRunner
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 19:51:10 +0000 (20:51 +0100)]
create initial SimRunner

2 years agoadd shiftrot2 tests to test_issuer.py
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 17:13:01 +0000 (18:13 +0100)]
add shiftrot2 tests to test_issuer.py

2 years agomove pc_i and svstate_i inside if self.run_hdl
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:55:35 +0000 (23:55 +0100)]
move pc_i and svstate_i inside if self.run_hdl

2 years agomore comments
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:49:57 +0000 (23:49 +0100)]
more comments

2 years agoadd in a stack of comments for identifying match-points with StateRunner
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:47:32 +0000 (23:47 +0100)]
add in a stack of comments for identifying match-points with StateRunner

2 years agoadd option to run ISACaller Sim (or not)
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:40:04 +0000 (23:40 +0100)]
add option to run ISACaller Sim (or not)

2 years agoadd a new run_hdl parameter to TestRunner
Luke Kenneth Casson Leighton [Thu, 23 Sep 2021 22:31:41 +0000 (23:31 +0100)]
add a new run_hdl parameter to TestRunner

2 years agocompletely borked python segfault, workaround to copy last sim state
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:52:26 +0000 (21:52 +0100)]
completely borked python segfault, workaround to copy last sim state

2 years agoadd test of expected results against last sim state
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:35:14 +0000 (21:35 +0100)]
add test of expected results against last sim state

2 years agowhoops broken run_sim_state function
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 20:34:52 +0000 (21:34 +0100)]
whoops broken run_sim_state function

2 years agosplit out HDL from Simulator into separate functions
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 19:18:53 +0000 (20:18 +0100)]
split out HDL from Simulator into separate functions

2 years agosplit out HDL test from Simulator test,
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 18:40:30 +0000 (19:40 +0100)]
split out HDL test from Simulator test,
save two separate lists of TestStates
compare them *after* the two simulations have been run
should be possible to completely separate out, now

2 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Wed, 22 Sep 2021 18:02:05 +0000 (20:02 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

2 years agocompldst_multi: add op_is_dcbz signal
Tobias Platen [Wed, 22 Sep 2021 18:00:58 +0000 (20:00 +0200)]
compldst_multi: add op_is_dcbz signal

2 years agofix mul fu test helper.py not passing immediate to pia for mulli
Jacob Lifshay [Wed, 22 Sep 2021 17:58:58 +0000 (10:58 -0700)]
fix mul fu test helper.py not passing immediate to pia for mulli

2 years agowhitespace cleanup
Tobias Platen [Wed, 22 Sep 2021 16:45:59 +0000 (18:45 +0200)]
whitespace cleanup

2 years agoalter setup_tst_memory to take a test.mem rather than take a Sim object
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 15:56:09 +0000 (16:56 +0100)]
alter setup_tst_memory to take a test.mem rather than take a Sim object
*containing* a Mem

2 years agowhoops forgot to do with self.subTest()
Luke Kenneth Casson Leighton [Wed, 22 Sep 2021 15:38:40 +0000 (16:38 +0100)]
whoops forgot to do with self.subTest()

2 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Tue, 21 Sep 2021 18:48:27 +0000 (20:48 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

2 years agotestcase: add mmu, link mmu and dcache together
Tobias Platen [Tue, 21 Sep 2021 18:47:33 +0000 (20:47 +0200)]
testcase: add mmu, link mmu and dcache together

2 years agochanged test_runner to use state mem compare
klehman [Tue, 21 Sep 2021 18:20:31 +0000 (14:20 -0400)]
changed test_runner to use state mem compare

2 years agochanged over to use state mem compare
klehman [Tue, 21 Sep 2021 18:19:10 +0000 (14:19 -0400)]
changed over to use state mem compare

2 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Tue, 21 Sep 2021 17:49:19 +0000 (19:49 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

2 years agocomment out lines that cause test_compldst_multi_mmu.py to hang
Tobias Platen [Tue, 21 Sep 2021 17:49:01 +0000 (19:49 +0200)]
comment out lines that cause test_compldst_multi_mmu.py to hang

2 years agoconvert HDLState.get_mem() to a dictionary of memory state results
Luke Kenneth Casson Leighton [Tue, 21 Sep 2021 14:46:16 +0000 (15:46 +0100)]
convert HDLState.get_mem() to a dictionary of memory state results

2 years agoupdate test_compldst_multi_mmu.py
Tobias Platen [Mon, 20 Sep 2021 18:34:31 +0000 (20:34 +0200)]
update test_compldst_multi_mmu.py

2 years agouse get_l0_mem in HDLState to get memory data
Luke Kenneth Casson Leighton [Mon, 20 Sep 2021 17:33:38 +0000 (18:33 +0100)]
use get_l0_mem in HDLState to get memory data

2 years agoFix rel_o/go_i signal names
Cesar Strauss [Sun, 19 Sep 2021 20:13:18 +0000 (17:13 -0300)]
Fix rel_o/go_i signal names

2 years agoReplace "Display" with "print" on simulation process
Cesar Strauss [Sun, 19 Sep 2021 20:03:48 +0000 (17:03 -0300)]
Replace "Display" with "print" on simulation process

The fallback on nmutil doesn't work with "yield Display".

2 years agoUse LiteX from 2020-08-22
Las Safin [Sun, 19 Sep 2021 16:49:00 +0000 (16:49 +0000)]
Use LiteX from 2020-08-22

2 years agoAdd ppc64le cross compiler
Las Safin [Sun, 19 Sep 2021 16:18:54 +0000 (16:18 +0000)]
Add ppc64le cross compiler

2 years agoFix import
Cesar Strauss [Sun, 19 Sep 2021 13:38:46 +0000 (10:38 -0300)]
Fix import

2 years agoLitex work
Las Safin [Sun, 19 Sep 2021 11:33:25 +0000 (11:33 +0000)]
Litex work

2 years agoUse a pre-compiled version of maturin
Cesar Strauss [Sat, 18 Sep 2021 20:56:41 +0000 (17:56 -0300)]
Use a pre-compiled version of maturin

Should save compile time on the Gitlab CI runner.

2 years agoLitex work
Las Safin [Sat, 18 Sep 2021 20:09:45 +0000 (20:09 +0000)]
Litex work

2 years agoallow individual unit tests to be named in test_issuer.py
Luke Kenneth Casson Leighton [Sat, 18 Sep 2021 15:35:59 +0000 (16:35 +0100)]
allow individual unit tests to be named in test_issuer.py

2 years agoalways store full memory state (including zeros)
Luke Kenneth Casson Leighton [Sat, 18 Sep 2021 15:05:09 +0000 (16:05 +0100)]
always store full memory state (including zeros)

2 years agoadded get_mem
klehman [Sat, 18 Sep 2021 11:44:01 +0000 (07:44 -0400)]
added get_mem

2 years agoupdate comments
Luke Kenneth Casson Leighton [Fri, 17 Sep 2021 15:13:15 +0000 (16:13 +0100)]
update comments
https://bugs.libre-soc.org/show_bug.cgi?id=686#c51

2 years agomoving teststate_check_regs written by klehman into openpower-isa
Luke Kenneth Casson Leighton [Thu, 16 Sep 2021 16:06:18 +0000 (17:06 +0100)]
moving teststate_check_regs written by klehman into openpower-isa

2 years agoSplit up into several derivations
Las Safin [Thu, 16 Sep 2021 13:21:56 +0000 (13:21 +0000)]
Split up into several derivations

2 years agowip
Las Safin [Thu, 16 Sep 2021 12:16:15 +0000 (12:16 +0000)]
wip

2 years agoInclude Litex dependency
Las Safin [Wed, 15 Sep 2021 19:21:19 +0000 (19:21 +0000)]
Include Litex dependency

2 years agoMerge branch 'master' of ssh://git.libre-riscv.org:922/soc
isengaara [Wed, 15 Sep 2021 17:56:35 +0000 (19:56 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc

2 years agoadd new testcase for ompldst_multi using mmu
isengaara [Wed, 15 Sep 2021 17:55:52 +0000 (19:55 +0200)]
add new testcase for ompldst_multi using mmu

2 years agoWIP
Las Safin [Wed, 15 Sep 2021 10:05:26 +0000 (10:05 +0000)]
WIP

2 years agoconvert to using TestState and State after moving to openpower-isa
Luke Kenneth Casson Leighton [Tue, 14 Sep 2021 17:38:58 +0000 (18:38 +0100)]
convert to using TestState and State after moving to openpower-isa

2 years agofactory add and intro doc string
klehman [Tue, 14 Sep 2021 15:43:10 +0000 (11:43 -0400)]
factory add and intro doc string

2 years agoFix nmigen dependencies
Las Safin [Mon, 13 Sep 2021 19:16:47 +0000 (19:16 +0000)]
Fix nmigen dependencies

2 years agoGet pinmux working
Las Safin [Mon, 13 Sep 2021 18:50:43 +0000 (18:50 +0000)]
Get pinmux working

2 years agoSave Gitlab runner cache, even on a failed test
Cesar Strauss [Mon, 13 Sep 2021 09:22:43 +0000 (06:22 -0300)]
Save Gitlab runner cache, even on a failed test

Since our tests currently fail, the cache was never saved, not even once.

2 years agoFix c4m-jtag
Las Safin [Sun, 12 Sep 2021 19:35:23 +0000 (19:35 +0000)]
Fix c4m-jtag

2 years agoPackage c4m-jtag
Las Safin [Sun, 12 Sep 2021 19:06:04 +0000 (19:06 +0000)]
Package c4m-jtag

2 years agoFix openpower-isa
Las Safin [Sun, 12 Sep 2021 18:34:58 +0000 (18:34 +0000)]
Fix openpower-isa

2 years agouse log instead of print
Luke Kenneth Casson Leighton [Sun, 12 Sep 2021 13:36:41 +0000 (14:36 +0100)]
use log instead of print

2 years agocode comments
Luke Kenneth Casson Leighton [Sun, 12 Sep 2021 13:24:00 +0000 (14:24 +0100)]
code comments

2 years agocreate new function teststate_check_regs which is called by check_regs
Luke Kenneth Casson Leighton [Sun, 12 Sep 2021 13:21:23 +0000 (14:21 +0100)]
create new function teststate_check_regs which is called by check_regs
teststate_checkregs does not care how many pieces of state it is asked
to compare. could be 2, could be 3, could be 30

2 years agochanges to utilize full teststate class
klehman [Sun, 12 Sep 2021 12:59:09 +0000 (08:59 -0400)]
changes to utilize full teststate class

2 years agoadded compare function
klehman [Sun, 12 Sep 2021 03:56:11 +0000 (23:56 -0400)]
added compare function

2 years agoadded factory function for test class creation
klehman [Sun, 12 Sep 2021 00:53:31 +0000 (20:53 -0400)]
added factory function for test class creation

2 years agoGet build starting
Las Safin [Sat, 11 Sep 2021 20:53:05 +0000 (20:53 +0000)]
Get build starting

2 years agoPackage dependencies successfully
Las Safin [Sat, 11 Sep 2021 20:26:28 +0000 (20:26 +0000)]
Package dependencies successfully

2 years agoPython dependencies
Las Safin [Sat, 11 Sep 2021 17:43:23 +0000 (17:43 +0000)]
Python dependencies

2 years agowip
Las Safin [Sat, 11 Sep 2021 17:07:34 +0000 (17:07 +0000)]
wip

2 years agoimplement base class in state class
klehman [Fri, 10 Sep 2021 20:58:15 +0000 (16:58 -0400)]
implement base class in state class

2 years agochanges made to utilize teststate class
klehman [Fri, 10 Sep 2021 15:08:12 +0000 (11:08 -0400)]
changes made to utilize teststate class

2 years agoupdate explanatory comments on LD/ST exception handling
Luke Kenneth Casson Leighton [Fri, 10 Sep 2021 10:19:47 +0000 (11:19 +0100)]
update explanatory comments on LD/ST exception handling

2 years agomade sim into generators and some uniformity changes
klehman [Thu, 9 Sep 2021 21:31:31 +0000 (17:31 -0400)]
made sim into generators and some uniformity changes

2 years agofinished remaining hdl items
klehman [Thu, 9 Sep 2021 16:33:01 +0000 (12:33 -0400)]
finished remaining hdl items

2 years agoHDL int reg added
klehman [Thu, 9 Sep 2021 13:01:50 +0000 (09:01 -0400)]
HDL int reg added

2 years agomore sim class registers add
klehman [Thu, 9 Sep 2021 12:04:23 +0000 (08:04 -0400)]
more sim class registers add

2 years agoMonitor exceptions, re-decoding the instruction in this case
Cesar Strauss [Wed, 8 Sep 2021 16:42:50 +0000 (13:42 -0300)]
Monitor exceptions, re-decoding the instruction in this case

The misaligned load test-case now passes.

Whenever an exception is reported during Execution, it is forwarded to
PowerDecode2. After Execution finishes, Issue notices this, and returns
directly to Decode, without updating PC, SVSTATE, etc. The exception
condition is always cleared after a Decode, to prepare the stage for
a new Execution.