soc.git
3 years agoadd ls180 pinmap text file
Luke Kenneth Casson Leighton [Wed, 23 Sep 2020 14:57:16 +0000 (15:57 +0100)]
add ls180 pinmap text file

3 years agoattempt GPIO bi-directional
Luke Kenneth Casson Leighton [Wed, 23 Sep 2020 11:25:37 +0000 (12:25 +0100)]
attempt GPIO bi-directional

3 years agoadd I2C master to ls180
Luke Kenneth Casson Leighton [Wed, 23 Sep 2020 10:43:53 +0000 (11:43 +0100)]
add I2C master to ls180

3 years agoadd 2 PWMs (quick, easy to do)
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 21:47:02 +0000 (22:47 +0100)]
add 2 PWMs (quick, easy to do)

3 years agomove dmi_sim to separate module
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 21:30:02 +0000 (22:30 +0100)]
move dmi_sim to separate module

3 years agoupdate submodule url
Jacob Lifshay [Tue, 22 Sep 2020 18:52:17 +0000 (11:52 -0700)]
update submodule url

3 years agoRevert "disable pia in div tests"
Jacob Lifshay [Tue, 22 Sep 2020 18:42:49 +0000 (11:42 -0700)]
Revert "disable pia in div tests"

Bug #497 resolved as invalid

This reverts commit 05b9baec72be4ef56de2ed56ec12cbf5f7f0eefe.

3 years agoadd openocd.cfg experiment
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 16:12:35 +0000 (17:12 +0100)]
add openocd.cfg experiment

3 years agocreate a JTAG platform and connect it up. jtagremote is actually running
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 14:42:57 +0000 (15:42 +0100)]
create a JTAG platform and connect it up.  jtagremote is actually running

3 years agoadd jtagremote to litex sim, add new "variant" to core.py for jtag
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 14:34:27 +0000 (15:34 +0100)]
add jtagremote to litex sim, add new "variant" to core.py for jtag

3 years agolink litex ls180soc JTAG pads
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 12:19:01 +0000 (13:19 +0100)]
link litex ls180soc JTAG pads

3 years agoadd jtag wishbone and jtag ports to libresoc litex core.py
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 12:10:25 +0000 (13:10 +0100)]
add jtag wishbone and jtag ports to libresoc litex core.py

3 years agoadd jtag interface to issuer_verilog
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 12:01:00 +0000 (13:01 +0100)]
add jtag interface to issuer_verilog

3 years agoadd sys_rst to Clock Reset Generator
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 11:49:49 +0000 (12:49 +0100)]
add sys_rst to Clock Reset Generator

3 years agoadd JTAG IOpads and rename rst to sys_rst
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 11:47:49 +0000 (12:47 +0100)]
add JTAG IOpads and rename rst to sys_rst

3 years agoadd similar platforms to ls180.py
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 11:46:59 +0000 (12:46 +0100)]
add similar platforms to ls180.py

3 years agoadd JTAG bus module
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 11:23:25 +0000 (12:23 +0100)]
add JTAG bus module

3 years agosplit out dmi2jtag into own unit test
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 11:07:35 +0000 (12:07 +0100)]
split out dmi2jtag into own unit test

3 years agosubmodule update
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 10:52:47 +0000 (11:52 +0100)]
submodule update

3 years agoPort soc.experiment.alu_fsm to the new way of invoking cxxsim
Cesar Strauss [Mon, 21 Sep 2020 11:47:13 +0000 (08:47 -0300)]
Port soc.experiment.alu_fsm to the new way of invoking cxxsim

To use cxxsim, export NMIGEN_SIM_MODE=cxxsim from the shell.
Be sure to check out the cxxsim branch of nMigen, and update yosys to the
latest commit as well.

To use pysim, just keep NMIGEN_SIM_MODE unset. This should be backwards
compatible to old developer versions of nMigen.

Alternatively, when using a recent developer version,
export NMIGEN_SIM_MODE=pysim.

3 years agodisable pia in div tests
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 09:18:51 +0000 (10:18 +0100)]
disable pia in div tests
https://bugs.libre-soc.org/show_bug.cgi?id=497

3 years agoadd MMU (commented out)
Luke Kenneth Casson Leighton [Tue, 22 Sep 2020 08:50:35 +0000 (09:50 +0100)]
add MMU (commented out)

3 years agoadd missing file
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 18:45:38 +0000 (19:45 +0100)]
add missing file

3 years agoadd quick wishbone jtag test
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 17:57:47 +0000 (18:57 +0100)]
add quick wishbone jtag test

3 years agoexperiment set dmi msr read
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 15:44:41 +0000 (16:44 +0100)]
experiment set dmi msr read

3 years agoadd DMI JTAG test
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 15:37:20 +0000 (16:37 +0100)]
add DMI JTAG test

3 years agoadd JTAG basic unit test
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 13:47:34 +0000 (14:47 +0100)]
add JTAG basic unit test

3 years agoarg complete rewrite of JTAG2DMI, based it on staf (chips4makers) WB
Luke Kenneth Casson Leighton [Mon, 21 Sep 2020 11:22:26 +0000 (12:22 +0100)]
arg complete rewrite of JTAG2DMI, based it on staf (chips4makers) WB

3 years agoAdd induction proof for the FSM Shifter
Cesar Strauss [Sun, 20 Sep 2020 22:32:46 +0000 (19:32 -0300)]
Add induction proof for the FSM Shifter

3 years agoAdd bounded proof to FSM Shifter
Cesar Strauss [Sun, 20 Sep 2020 22:12:44 +0000 (19:12 -0300)]
Add bounded proof to FSM Shifter

In the process, fix an off-by-one bit size bug.

3 years agoLet the formal engine create some test cases for the FSM Shifter
Cesar Strauss [Sun, 20 Sep 2020 21:03:36 +0000 (18:03 -0300)]
Let the formal engine create some test cases for the FSM Shifter

3 years agoresolve issues in async sim: must not drive async clock from sim.add_clock
Luke Kenneth Casson Leighton [Sun, 20 Sep 2020 18:43:10 +0000 (19:43 +0100)]
resolve issues in async sim: must not drive async clock from sim.add_clock

3 years agostill experimenting with async FF sync
Luke Kenneth Casson Leighton [Sun, 20 Sep 2020 14:39:47 +0000 (15:39 +0100)]
still experimenting with async FF sync

3 years agocontinuing async clock experimenting
Luke Kenneth Casson Leighton [Sun, 20 Sep 2020 14:28:00 +0000 (15:28 +0100)]
continuing async clock experimenting

3 years agoadd an async clock synchronizer experiment
Luke Kenneth Casson Leighton [Sun, 20 Sep 2020 14:20:27 +0000 (15:20 +0100)]
add an async clock synchronizer experiment

3 years agofirst version code-morph on dmi2jtag
Luke Kenneth Casson Leighton [Sun, 20 Sep 2020 11:54:07 +0000 (12:54 +0100)]
first version code-morph on dmi2jtag

3 years agoadd pc_o not connected
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 22:38:13 +0000 (23:38 +0100)]
add pc_o not connected

3 years agoset ROM to empty, set SRAM to tiny 0x200, get things working first
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 22:36:45 +0000 (23:36 +0100)]
set ROM to empty, set SRAM to tiny 0x200, get things working first

3 years agoRemove demonstration code
Cesar Strauss [Sat, 19 Sep 2020 22:14:45 +0000 (19:14 -0300)]
Remove demonstration code

This was moved to nmutil.test.example_gtkwave.

3 years agourk. wishbone slave devices declared incorrectly (I/O inverted) semi_working_ecp5
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 15:00:37 +0000 (16:00 +0100)]
urk. wishbone slave devices declared incorrectly (I/O inverted)

3 years agodisable internal RAM set SRAM to much smaller
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 14:45:07 +0000 (15:45 +0100)]
disable internal RAM set SRAM to much smaller

3 years agoshrink size of SRAM to 8k, move things around
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 14:29:31 +0000 (15:29 +0100)]
shrink size of SRAM to 8k, move things around

3 years agoadd (disabled) tri-state GPIO
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 13:36:25 +0000 (14:36 +0100)]
add (disabled) tri-state GPIO

3 years agoremove the gpio peripheral which was previously hard-linked to interrupts
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 13:10:02 +0000 (14:10 +0100)]
remove the gpio peripheral which was previously hard-linked to interrupts

3 years agoadd 3x EINTs to ls180soc
Luke Kenneth Casson Leighton [Sat, 19 Sep 2020 11:17:34 +0000 (12:17 +0100)]
add 3x EINTs to ls180soc

3 years agoadd SPI, sdcard, preliminary GPIO to ls180 pinouts
Luke Kenneth Casson Leighton [Fri, 18 Sep 2020 22:13:17 +0000 (23:13 +0100)]
add SPI, sdcard, preliminary GPIO to ls180 pinouts

3 years agoargh got fed up trying to shoe-horn into sim.py
Luke Kenneth Casson Leighton [Fri, 18 Sep 2020 21:35:12 +0000 (22:35 +0100)]
argh got fed up trying to shoe-horn into sim.py

3 years agocan remove unneeded overrides of Prev/Next Control
Luke Kenneth Casson Leighton [Fri, 18 Sep 2020 13:11:24 +0000 (14:11 +0100)]
can remove unneeded overrides of Prev/Next Control

3 years agoadd divwe regression test case
Jacob Lifshay [Thu, 17 Sep 2020 22:32:22 +0000 (15:32 -0700)]
add divwe regression test case

3 years agore-enable test case -- no longer goes into an infinite loop
Jacob Lifshay [Thu, 17 Sep 2020 22:31:50 +0000 (15:31 -0700)]
re-enable test case -- no longer goes into an infinite loop

3 years agofix bug #492
Jacob Lifshay [Thu, 17 Sep 2020 22:24:40 +0000 (15:24 -0700)]
fix bug #492

3 years agoreplace sim._state.timeline.now with sim._engine.now
Jacob Lifshay [Thu, 17 Sep 2020 21:30:36 +0000 (14:30 -0700)]
replace sim._state.timeline.now with sim._engine.now

3 years agoadd versa ecp5 fpga litex build script
Luke Kenneth Casson Leighton [Thu, 17 Sep 2020 10:36:43 +0000 (11:36 +0100)]
add versa ecp5 fpga litex build script

3 years agocomplete first translation pass of dmi_dtm_xilinx.vhdl into nmigen,
Cole Poirier [Wed, 16 Sep 2020 22:34:13 +0000 (15:34 -0700)]
complete first translation pass of dmi_dtm_xilinx.vhdl into nmigen,
different sync domains indicated as 'sync = m.d.[SYS|JTAG]_sync', left
some parts undone, didn't rearrange or clean up so Luke can easily
compare with original

3 years agomake a start on LS180 platform
Luke Kenneth Casson Leighton [Wed, 16 Sep 2020 21:54:15 +0000 (22:54 +0100)]
make a start on LS180 platform

3 years agoinitial commit of JTAGToDMI debug interface translated from
Cole Poirier [Wed, 16 Sep 2020 20:48:08 +0000 (13:48 -0700)]
initial commit of JTAGToDMI debug interface translated from
microwatt/dmi_dtm_xilinx.vhdl

3 years agoadd template file/starting point (copy of litex/boards/platforms/ulx3s.py) for asic...
Cole Poirier [Wed, 16 Sep 2020 20:44:38 +0000 (13:44 -0700)]
add template file/starting point (copy of litex/boards/platforms/ulx3s.py) for asic platform that derives from generic platform for 180nm
tapeout

3 years agoadd back (totally confusing) accidentally-removed code due to use of "types"
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 20:27:47 +0000 (21:27 +0100)]
add back (totally confusing) accidentally-removed code due to use of "types"
(which should not be placed in the .py file, they should only go in a .pyi)

3 years agoinstantiate MMU from AllFunctionUnits
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 20:26:01 +0000 (21:26 +0100)]
instantiate MMU from AllFunctionUnits

3 years agodo not need FAST regs in MMU
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 20:19:51 +0000 (21:19 +0100)]
do not need FAST regs in MMU

3 years agocomment mmu test
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 19:38:37 +0000 (20:38 +0100)]
comment mmu test

3 years agoadd edge-triggering to dcache/mmu "valid"
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 19:36:18 +0000 (20:36 +0100)]
add edge-triggering to dcache/mmu "valid"

3 years agoadd set MTSPR prtbl to mmu unit test
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 17:23:16 +0000 (18:23 +0100)]
add set MTSPR prtbl to mmu unit test

3 years agoadd OP_MFSPR to mmu
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 16:11:47 +0000 (17:11 +0100)]
add OP_MFSPR to mmu

3 years agouse convenience vars
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:43:30 +0000 (16:43 +0100)]
use convenience vars

3 years agoadd OP_TLBIE to mmu fsm
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:40:25 +0000 (16:40 +0100)]
add OP_TLBIE to mmu fsm

3 years agoadd OP_DCBZ to mmu fsm, needs RA to be added to MMU pipe_data
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 15:22:01 +0000 (16:22 +0100)]
add OP_DCBZ to mmu fsm, needs RA to be added to MMU pipe_data

3 years agoadd MMU MTSPR connection into FSM
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 14:16:12 +0000 (15:16 +0100)]
add MMU MTSPR connection into FSM

3 years agoadd in MMU and DCache into MMU FSM
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 11:52:04 +0000 (12:52 +0100)]
add in MMU and DCache into MMU FSM

3 years agomoved PLRU to nmutil
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 11:34:56 +0000 (12:34 +0100)]
moved PLRU to nmutil

3 years agoadd mmu fsm
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:41:49 +0000 (11:41 +0100)]
add mmu fsm

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:30:12 +0000 (11:30 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:28:59 +0000 (11:28 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremove more (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:24:38 +0000 (11:24 +0100)]
remove more (confusing/spurious) types, should be in .pyi file

3 years agoremoved (confusing/spurious) types, should be in .pyi file
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 10:06:55 +0000 (11:06 +0100)]
removed (confusing/spurious) types, should be in .pyi file

3 years agoadd MMU FunctionUnit
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:58:34 +0000 (10:58 +0100)]
add MMU FunctionUnit

3 years agommu uses RB, go with it
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:23:30 +0000 (10:23 +0100)]
mmu uses RB, go with it

3 years agoadd OP_TLBIE
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:22:31 +0000 (10:22 +0100)]
add OP_TLBIE

3 years agoadd mmu initial pipe_data.py
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 09:13:43 +0000 (10:13 +0100)]
add mmu initial pipe_data.py

3 years agoadd extra "modes" to PortInterface
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 08:46:00 +0000 (09:46 +0100)]
add extra "modes" to PortInterface

3 years agosyntax error correction
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 07:48:57 +0000 (08:48 +0100)]
syntax error correction

3 years agoadd inline comments into icache.py
Luke Kenneth Casson Leighton [Tue, 15 Sep 2020 07:46:50 +0000 (08:46 +0100)]
add inline comments into icache.py

3 years agoicache.py add missing funciton bodies, add missing return statment, fix
Cole Poirier [Mon, 14 Sep 2020 18:41:07 +0000 (11:41 -0700)]
icache.py add missing funciton bodies, add missing return statment, fix
variable names, fix typos

3 years agoincrease TLB_NUM_WAYS to 4
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 15:59:21 +0000 (16:59 +0100)]
increase TLB_NUM_WAYS to 4

3 years agovhdl conversion not really working for plru
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 15:58:58 +0000 (16:58 +0100)]
vhdl conversion not really working for plru

3 years agoadd array signal names
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:51:45 +0000 (14:51 +0100)]
add array signal names

3 years agorename plru input
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:46:53 +0000 (14:46 +0100)]
rename plru input

3 years agorename plru input
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:46:36 +0000 (14:46 +0100)]
rename plru input

3 years agoreorg mmu lookup test so it is called twice
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:34:32 +0000 (13:34 +0100)]
reorg mmu lookup test so it is called twice

3 years agoTLB PLRUs are of TLB_WAY_BITS width
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:34:15 +0000 (13:34 +0100)]
TLB PLRUs are of TLB_WAY_BITS width

3 years agofix mmu perms/lookup in dcache
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 12:24:23 +0000 (13:24 +0100)]
fix mmu perms/lookup in dcache

3 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 11:52:34 +0000 (12:52 +0100)]
whitespace

3 years agoremove duplicated signal
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 11:52:17 +0000 (12:52 +0100)]
remove duplicated signal

3 years agocomments on icache
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:07:04 +0000 (11:07 +0100)]
comments on icache

3 years agoget rid of rst
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:05:49 +0000 (11:05 +0100)]
get rid of rst

3 years agouse word_select
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 10:00:34 +0000 (11:00 +0100)]
use word_select

3 years agoadd mmu-dcache test
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 09:58:02 +0000 (10:58 +0100)]
add mmu-dcache test

3 years agoicache.py connect up all the sub-functions, fix typos and other small
Cole Poirier [Mon, 14 Sep 2020 01:09:23 +0000 (18:09 -0700)]
icache.py connect up all the sub-functions, fix typos and other small
errors I get running the file, hit a wall with current error so stopping for today

3 years agoicache.py add parameters to 'process' functions, fix small errors
Cole Poirier [Mon, 14 Sep 2020 00:16:20 +0000 (17:16 -0700)]
icache.py add parameters to 'process' functions, fix small errors

3 years agoicache.py move get/read/write functions out of ICache class to top of
Cole Poirier [Sun, 13 Sep 2020 23:46:03 +0000 (16:46 -0700)]
icache.py move get/read/write functions out of ICache class to top of
file under constants