soc.git
4 years agoadd workaround for nmigen bug #502
Jacob Lifshay [Tue, 6 Oct 2020 01:59:39 +0000 (18:59 -0700)]
add workaround for nmigen bug #502

This fixes modsw

4 years agoupdate submodule
Jacob Lifshay [Tue, 6 Oct 2020 01:58:21 +0000 (18:58 -0700)]
update submodule

4 years agoadd modsw regression
Jacob Lifshay [Tue, 6 Oct 2020 01:07:56 +0000 (18:07 -0700)]
add modsw regression

4 years agoadd test case for divweu regression
Jacob Lifshay [Tue, 6 Oct 2020 01:06:51 +0000 (18:06 -0700)]
add test case for divweu regression

4 years agoupdate submodule
Jacob Lifshay [Tue, 6 Oct 2020 01:03:35 +0000 (18:03 -0700)]
update submodule

4 years agoprint regs in hex
Jacob Lifshay [Tue, 6 Oct 2020 00:16:29 +0000 (17:16 -0700)]
print regs in hex

4 years agoadd debug / investigation print statements
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 23:16:46 +0000 (00:16 +0100)]
add debug / investigation print statements

4 years ago`deepcopy` from cache instead of recreating parsers for `GardenSnakeCompiler`
Jacob Lifshay [Mon, 5 Oct 2020 22:21:33 +0000 (15:21 -0700)]
`deepcopy` from cache instead of recreating parsers for `GardenSnakeCompiler`

changes `make develop` time from about 1m30s to 1m09s for me

4 years agoformat code
Jacob Lifshay [Mon, 5 Oct 2020 22:20:40 +0000 (15:20 -0700)]
format code

4 years agoicache.py fix ispow2() util fn per https://bugs.libre-soc.org/show_bug.cgi?id=485#c53
Cole Poirier [Mon, 5 Oct 2020 16:44:36 +0000 (09:44 -0700)]
icache.py fix ispow2() util fn per https://bugs.libre-soc.org/show_bug.cgi?id=485#c53

4 years agowhoops fix syntax error
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 11:51:25 +0000 (12:51 +0100)]
whoops fix syntax error

4 years agowhoops fix syntax error
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 11:30:26 +0000 (12:30 +0100)]
whoops fix syntax error

4 years agoreturn test rather than "if test return True else False"
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 10:51:17 +0000 (11:51 +0100)]
return test rather than "if test return True else False"

4 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 10:49:40 +0000 (11:49 +0100)]
whitespace

4 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 5 Oct 2020 10:44:03 +0000 (11:44 +0100)]
whitespace

4 years agoicache.py add python asserts that were a TODO commented section from
Cole Poirier [Mon, 5 Oct 2020 01:46:11 +0000 (18:46 -0700)]
icache.py add python asserts that were a TODO commented section from
icache.vhdl, print all constant values at start of icache_sim() in alphabetic order, make constant naming consistent

4 years agoicache.py fix formatting, mostly due to reduced indentation in preceding
Cole Poirier [Mon, 5 Oct 2020 00:30:09 +0000 (17:30 -0700)]
icache.py fix formatting, mostly due to reduced indentation in preceding
commits, remove uneccessary Display() statements

4 years agoicache.py remove comment that contained the entirety of microwatt's
Cole Poirier [Mon, 5 Oct 2020 00:14:14 +0000 (17:14 -0700)]
icache.py remove comment that contained the entirety of microwatt's
icache_tb.vhdl as it is no longer needed

4 years agoicache.py move icache_miss WAIT_ACK FSM state into method icache_miss_wait_ack()...
Cole Poirier [Mon, 5 Oct 2020 00:12:35 +0000 (17:12 -0700)]
icache.py move icache_miss WAIT_ACK FSM state into method icache_miss_wait_ack() to reduce clutter, indentation

4 years agoicache.py move icache_miss CLR_TAG FSM state into method icache_miss_clr_tag() to...
Cole Poirier [Mon, 5 Oct 2020 00:01:34 +0000 (17:01 -0700)]
icache.py move icache_miss CLR_TAG FSM state into method icache_miss_clr_tag() to reduce clutter, indentation

4 years agoicache.py move icache_miss IDLE FSM state into method icache_miss_idle()
Cole Poirier [Mon, 5 Oct 2020 00:00:04 +0000 (17:00 -0700)]
icache.py move icache_miss IDLE FSM state into method icache_miss_idle()
to reduce clutter, indentation

4 years agosimplify create_args
Jacob Lifshay [Mon, 5 Oct 2020 00:47:54 +0000 (17:47 -0700)]
simplify create_args

4 years agoSort returned variables to make sure `overflow` is last
Jacob Lifshay [Mon, 5 Oct 2020 00:32:45 +0000 (17:32 -0700)]
Sort returned variables to make sure `overflow` is last

Fixes #509

4 years agoformat caller.py
Jacob Lifshay [Mon, 5 Oct 2020 00:28:26 +0000 (17:28 -0700)]
format caller.py

4 years agochange div FSM pipeline unit to not have a combinatorial path directly from inputs...
Jacob Lifshay [Sun, 4 Oct 2020 22:17:41 +0000 (15:17 -0700)]
change div FSM pipeline unit to not have a combinatorial path directly from inputs to outputs

Fixes #510

4 years agosignificant reorg of the litex pinspecs to use pinmux JSON files
Luke Kenneth Casson Leighton [Sun, 4 Oct 2020 18:11:32 +0000 (19:11 +0100)]
significant reorg of the litex pinspecs to use pinmux JSON files

4 years agosubmodule update
Luke Kenneth Casson Leighton [Sun, 4 Oct 2020 16:44:18 +0000 (17:44 +0100)]
submodule update

4 years agoremove ls180io import
Luke Kenneth Casson Leighton [Sun, 4 Oct 2020 14:38:26 +0000 (15:38 +0100)]
remove ls180io import

4 years agomove ls180io.py back into ls180.py
Luke Kenneth Casson Leighton [Sun, 4 Oct 2020 14:37:25 +0000 (15:37 +0100)]
move ls180io.py back into ls180.py

4 years agoallow i2c to be routed via JTAG
Luke Kenneth Casson Leighton [Sat, 3 Oct 2020 19:46:44 +0000 (20:46 +0100)]
allow i2c to be routed via JTAG

4 years agonope. put it back and connect to platform pads in LS180Platform
Luke Kenneth Casson Leighton [Sat, 3 Oct 2020 19:27:23 +0000 (20:27 +0100)]
nope.  put it back and connect to platform pads in LS180Platform

4 years agomove iopad litex creation to ls180soc.py
Luke Kenneth Casson Leighton [Sat, 3 Oct 2020 19:14:20 +0000 (20:14 +0100)]
move iopad litex creation to ls180soc.py

4 years agominor reorg on JTAG, allow alternative pinset dict to be passed in
Luke Kenneth Casson Leighton [Sat, 3 Oct 2020 13:20:19 +0000 (14:20 +0100)]
minor reorg on JTAG, allow alternative pinset dict to be passed in

4 years agoadd regression testcase
Jacob Lifshay [Sat, 3 Oct 2020 01:04:39 +0000 (18:04 -0700)]
add regression testcase

4 years agoupdate submodule
Jacob Lifshay [Sat, 3 Oct 2020 01:04:17 +0000 (18:04 -0700)]
update submodule

4 years agoicache.py add req_hit_way as arg to icache_comb, actually ran file this
Cole Poirier [Fri, 2 Oct 2020 21:18:28 +0000 (14:18 -0700)]
icache.py add req_hit_way as arg to icache_comb, actually ran file this
time to make sure it's correct, fixes https://bugs.libre-soc.org/show_bug.cgi?id=485#c37

4 years agoadd pinmux generator to create litex pinmap
Luke Kenneth Casson Leighton [Fri, 2 Oct 2020 18:54:22 +0000 (19:54 +0100)]
add pinmux generator to create litex pinmap

4 years agoadd pinmux as submodule
Luke Kenneth Casson Leighton [Fri, 2 Oct 2020 18:35:49 +0000 (19:35 +0100)]
add pinmux as submodule

4 years agoicache.py add missing comb signal assignments per https://bugs.libre-soc.org/show_bug...
Cole Poirier [Thu, 1 Oct 2020 23:17:57 +0000 (16:17 -0700)]
icache.py add missing comb signal assignments per https://bugs.libre-soc.org/show_bug.cgi?id=485#c32

4 years agoarg CacheRam read output needs delay by 1 cycle
Luke Kenneth Casson Leighton [Thu, 1 Oct 2020 17:39:58 +0000 (18:39 +0100)]
arg CacheRam read output needs delay by 1 cycle

4 years agodo not pass cache row array around, just the current row
Luke Kenneth Casson Leighton [Thu, 1 Oct 2020 17:35:58 +0000 (18:35 +0100)]
do not pass cache row array around, just the current row

4 years agorevert bug in icache wishbone ack
Luke Kenneth Casson Leighton [Thu, 1 Oct 2020 17:16:27 +0000 (18:16 +0100)]
revert bug in icache wishbone ack

4 years agoadd clksel, pll to ls180
Luke Kenneth Casson Leighton [Thu, 1 Oct 2020 17:10:26 +0000 (18:10 +0100)]
add clksel, pll to ls180

4 years agocreate dummy PLL block, connect up to core and clock-selector
Luke Kenneth Casson Leighton [Thu, 1 Oct 2020 13:28:54 +0000 (14:28 +0100)]
create dummy PLL block, connect up to core and clock-selector

4 years agoAdd GTKWave document to test_compunit_fsm
Cesar Strauss [Thu, 1 Oct 2020 10:44:25 +0000 (07:44 -0300)]
Add GTKWave document to test_compunit_fsm

4 years agoadd I2C into ls180
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 21:33:25 +0000 (22:33 +0100)]
add I2C into ls180

4 years agoadd ASIC version of I2C Master
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 21:30:44 +0000 (22:30 +0100)]
add ASIC version of I2C Master

4 years agoclean up row store and wb adr in icache
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 12:52:17 +0000 (13:52 +0100)]
clean up row store and wb adr in icache

4 years agohmm only set wishbone address if ack is actually received
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 12:23:08 +0000 (13:23 +0100)]
hmm only set wishbone address if ack is actually received

4 years agoadd more debug prints in icache
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 11:47:37 +0000 (12:47 +0100)]
add more debug prints in icache

4 years agoremove more reviewed comments
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:53:10 +0000 (10:53 +0100)]
remove more reviewed comments

4 years agoremove reviewed comments
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:45:50 +0000 (10:45 +0100)]
remove reviewed comments

4 years agocomb on wr_index not sync
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:30:41 +0000 (10:30 +0100)]
comb on wr_index not sync

4 years agostart removing reviewed comments
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:30:12 +0000 (10:30 +0100)]
start removing reviewed comments

4 years agouse same constant name (confusing otherwise)
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:22:29 +0000 (10:22 +0100)]
use same constant name (confusing otherwise)

4 years agoneed asserts
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:22:08 +0000 (10:22 +0100)]
need asserts

4 years agohalve the number of icache lines for now
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:19:00 +0000 (10:19 +0100)]
halve the number of icache lines for now

4 years agouse Repl rather than for-loop to copy bit
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:17:38 +0000 (10:17 +0100)]
use Repl rather than for-loop to copy bit

4 years agomove loop invariant test out of loop
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:09:02 +0000 (10:09 +0100)]
move loop invariant test out of loop

4 years agoreduce size of ilang file by a factor of FIVE
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 09:03:34 +0000 (10:03 +0100)]
reduce size of ilang file by a factor of FIVE

4 years agostore tag in temp signal
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 08:55:58 +0000 (09:55 +0100)]
store tag in temp signal

4 years agoreduce gate usage by getting cache row only not entire cache array
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 08:51:14 +0000 (09:51 +0100)]
reduce gate usage by getting cache row only not entire cache array

4 years agofix read_tag to use word_select correctly
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 08:45:56 +0000 (09:45 +0100)]
fix read_tag to use word_select correctly

4 years agoforgot to add PLRUs as submodules
Luke Kenneth Casson Leighton [Wed, 30 Sep 2020 08:43:40 +0000 (09:43 +0100)]
forgot to add PLRUs as submodules

4 years agoicache.py fix combinatorial loop with by testing temp stbs_zero and
Cole Poirier [Tue, 29 Sep 2020 18:57:28 +0000 (11:57 -0700)]
icache.py fix combinatorial loop with by testing temp stbs_zero and
setting Signal stbs_done

4 years agoicache.py fix is_last_row_addr, get_next_row_addr
Cole Poirier [Tue, 29 Sep 2020 18:45:18 +0000 (11:45 -0700)]
icache.py fix is_last_row_addr, get_next_row_addr

4 years agoicache.py trying to sort out test failure, added r field req_adr to
Cole Poirier [Tue, 29 Sep 2020 18:27:36 +0000 (11:27 -0700)]
icache.py trying to sort out test failure, added r field req_adr to
properly implement WB spec compliant adressing

4 years agoicache.py fix test stbs_done signal, not stbs_zero temp signal
Cole Poirier [Tue, 29 Sep 2020 18:00:28 +0000 (11:00 -0700)]
icache.py fix test stbs_done signal, not stbs_zero temp signal

4 years agoicache.py fix rarange
Cole Poirier [Tue, 29 Sep 2020 17:55:49 +0000 (10:55 -0700)]
icache.py fix rarange

4 years agoicache.py fixed numerous bugs as specified by lkcl on bugzilla, now
Cole Poirier [Tue, 29 Sep 2020 17:37:20 +0000 (10:37 -0700)]
icache.py fixed numerous bugs as specified by lkcl on bugzilla, now
passes first unit test!

4 years agoicache.py use d_out as input to assignment instead of as assignee, now
Cole Poirier [Mon, 28 Sep 2020 23:07:11 +0000 (16:07 -0700)]
icache.py use d_out as input to assignment instead of as assignee, now
the right stuff is connected and the test fails in an interesting way,
add signal names

4 years agoreduce not-connected IO pins
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 15:58:48 +0000 (16:58 +0100)]
reduce not-connected IO pins

4 years agomissing pspec
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 15:58:29 +0000 (16:58 +0100)]
missing pspec

4 years agoconnect SDRAM dqm to wrdata_mask
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 15:53:23 +0000 (16:53 +0100)]
connect SDRAM dqm to wrdata_mask

4 years agolots of sorting out iopads
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 11:33:33 +0000 (12:33 +0100)]
lots of sorting out iopads
* add sdram clock
* rename serial to uart
* disable I2C for now (needs bi-directional pads)
* make sdram and sd0 "en" only one pin (sort out litex issue)
* add "NC" pins so that there are no missing pins

4 years agoadd "nocore" option to build verilog
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 11:27:34 +0000 (12:27 +0100)]
add "nocore" option to build verilog

4 years agoswitch off internal gpio (testing)
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 11:25:17 +0000 (12:25 +0100)]
switch off internal gpio (testing)

4 years agorewrite ilang file after litex ls180 build
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 11:22:02 +0000 (12:22 +0100)]
rewrite ilang file after litex ls180 build

4 years agohad to over-ride the wishbone functions on C4M TAP
Luke Kenneth Casson Leighton [Mon, 28 Sep 2020 11:21:31 +0000 (12:21 +0100)]
had to over-ride the wishbone functions on C4M TAP
the default features assume stall, which is not available

4 years agoicache.py fix translation mistake
Cole Poirier [Sun, 27 Sep 2020 16:22:06 +0000 (09:22 -0700)]
icache.py fix translation mistake

4 years agoConvert yet another few tests to be able to use latest cxxsim
Cesar Strauss [Sun, 27 Sep 2020 14:58:06 +0000 (11:58 -0300)]
Convert yet another few tests to be able to use latest cxxsim

4 years agoadd Makefile for creating ls180.il
Luke Kenneth Casson Leighton [Sun, 27 Sep 2020 09:31:13 +0000 (10:31 +0100)]
add Makefile for creating ls180.il

4 years agorename sys_clk_i to clk_24_i
Luke Kenneth Casson Leighton [Sun, 27 Sep 2020 08:17:31 +0000 (09:17 +0100)]
rename sys_clk_i to clk_24_i

4 years agoadd clock selection mechanism
Luke Kenneth Casson Leighton [Sun, 27 Sep 2020 08:08:25 +0000 (09:08 +0100)]
add clock selection mechanism

4 years agoDMI-to-JTAG needed to be "sync" to get ack/resp right
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 23:31:30 +0000 (00:31 +0100)]
DMI-to-JTAG needed to be "sync" to get ack/resp right

4 years agodo not use simdec2 in test_pipe_caller
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 19:57:07 +0000 (20:57 +0100)]
do not use simdec2 in test_pipe_caller

4 years agofix annoying alu test_pipe_caller bug, missing asmcode
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 19:55:10 +0000 (20:55 +0100)]
fix annoying alu test_pipe_caller bug, missing asmcode

4 years agoadd alternative PowerDecode2 to branch test_pipe_caller
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 18:44:42 +0000 (19:44 +0100)]
add alternative PowerDecode2 to branch test_pipe_caller

4 years agoConvert a few more tests to be able to use cxxsim
Cesar Strauss [Sat, 26 Sep 2020 17:30:09 +0000 (14:30 -0300)]
Convert a few more tests to be able to use cxxsim

4 years agotry svf test of DMI MSR
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 17:30:41 +0000 (18:30 +0100)]
try svf test of DMI MSR

4 years agomake check of LDSTMode.update conditional in PowerDecoder2
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 17:30:24 +0000 (18:30 +0100)]
make check of LDSTMode.update conditional in PowerDecoder2

4 years agoadd ls180io.py
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 15:08:45 +0000 (16:08 +0100)]
add ls180io.py

4 years agoadd openocd script to fire off svf test
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 15:08:27 +0000 (16:08 +0100)]
add openocd script to fire off svf test

4 years agoget openocd svf test running, replicating jtag test
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 15:06:42 +0000 (16:06 +0100)]
get openocd svf test running, replicating jtag test

4 years agoput test into "server" mode for connecting with openocd
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 14:51:09 +0000 (15:51 +0100)]
put test into "server" mode for connecting with openocd

4 years agocreate client-server version of jtag debug unit test
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 14:42:24 +0000 (15:42 +0100)]
create client-server version of jtag debug unit test

4 years agocreate client-server version of jtag debug unit test
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 14:41:53 +0000 (15:41 +0100)]
create client-server version of jtag debug unit test

4 years agoclass-ify jtagremote
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 14:13:42 +0000 (15:13 +0100)]
class-ify jtagremote

4 years agosend/receive jtagremote protocol
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 12:28:31 +0000 (13:28 +0100)]
send/receive jtagremote protocol

4 years agobasic client/server socket example
Luke Kenneth Casson Leighton [Sat, 26 Sep 2020 11:41:40 +0000 (12:41 +0100)]
basic client/server socket example