e5aabcbf4a
vram/MemArbiter: remove unnecessary wires and fields
519eddc552
vram/MemArbiter: fix bug with write conflict avoidance
191cd1bfa2
vram: document MemArbiter, fix round-robin ordering bug
f31f64f5a2
vram: refactor MemArbiter into separate arbiters
2760bad965
vram: move VRAM to VRAMCore, in prep for arbitrated VRAM
b2b2c14009
vram/VRAM: finish the top-level VRAM module
dd551ce09b
tasks.py: fix typo in synth process
fc4b212139
compile all tests before running them, so the outputs are grouped
77b772c7ee
tasks.py: improve handling of Bluespec libdirs
25d1806590
lib/ClockOut: hack module to export a clock as an ordinary signal
5e997201db
hardware/sentinel65x: move top-level hw module to hw subdir
6fd040565c
Grab the inout port fixer from bsc tree, wire it in
0005ad6fe5
sentinel65x/PLL: update PLL settings, fix generator
f61328dac4
experiments/primitive_ram: clean up old testing code
930f9f7078
sentinel65x: start of Sentinel 65X top-level glue, with a PLL module
f7cb4b6ba2
vram/VRAM: early VRAM implementation
7560199251
tasks: support running nextpnr with a generic ulx3s pin map
2953106ec7
lib/ECP5_RAM: mark interfaces always_ready
5e22d03e15
vram: implement a MemoryArbiter for VRAM
2cd172cc73
tasks.py: add sim directory when running tests
efb5327f53
lib: clean up ECP5_RAM.v a bit
119eeceaef
Add some early testing harness for the sim DP16KD
a4a10becbf
tasks.py: print one more intermediate output path
a0892fefcd
sim/tb: add "bad" signals to make it easier to see wrong outputs
b913afd416
sim/tb: add wanted output signal, to help see incorrect outputs
e57f7e05b0
lib/ECP5_RAM: fixups based on checking synth output
febd840be0
Add svlint config
6666c1ca2d
flake.nix: fix up xdot, add systemverilog linter
5d16ce23aa
tasks.py: adjust yosys script
b73a211ec4
lib/ECP5_RAM: clean up old core, fix error in module docstring
1ccd1b0072
lib/DelayLine: add a bit more documentation
2a8689564c
tasks.py: remove debug message