Florent Kermarrec [Tue, 5 Mar 2019 17:01:03 +0000 (18:01 +0100)]
software/bios/sdram: use specific ERR_DDRPHY_BITSLIP/NMODULES computation
In the future, the PHYs should generated these constants.
Florent Kermarrec [Tue, 5 Mar 2019 12:23:38 +0000 (13:23 +0100)]
targets/versa_ecp5: update ECP5DDRPHY on BaseSoC, add EthernetSoC
Florent Kermarrec [Tue, 5 Mar 2019 11:26:10 +0000 (12:26 +0100)]
bios/sdram: use burstdet detection for ECP5DDRPHY init
enjoy-digital [Mon, 4 Mar 2019 11:00:44 +0000 (12:00 +0100)]
Merge pull request #150 from daveshah1/trellis_bus_fixes
lattice/common: Fix tristate buses with Trellis
David Shah [Mon, 4 Mar 2019 10:50:56 +0000 (10:50 +0000)]
lattice/common: Fix tristate buses with Trellis
Signed-off-by: David Shah <dave@ds0.me>
Florent Kermarrec [Mon, 4 Mar 2019 08:40:14 +0000 (09:40 +0100)]
boards/ulx3s: add device selection parameter
ULX3S can be populated with LFE5U-45F (default) or LFE5U-85F
Florent Kermarrec [Mon, 4 Mar 2019 08:27:31 +0000 (09:27 +0100)]
targets/ulx3s: use AsyncResetSynchronizer and derivate sys_clk/sys_clk_ps constraints from clk25
Now supported by Trellis/Nextpnr.
Florent Kermarrec [Fri, 1 Mar 2019 14:20:02 +0000 (15:20 +0100)]
build/lattice/trellis: add package support
Florent Kermarrec [Fri, 1 Mar 2019 13:20:00 +0000 (14:20 +0100)]
build/lattice/trellis: basecfg now integrated in nextpnr
Florent Kermarrec [Fri, 1 Mar 2019 12:57:45 +0000 (13:57 +0100)]
boards/targets/ulx3s: allow building with diamond or trellis
Florent Kermarrec [Fri, 1 Mar 2019 08:16:48 +0000 (09:16 +0100)]
soc/software/bios/boot: add vexriscv workaround
Flushing icache was working correctly on previous version of Vexriscv, understand
why it's no longer the case.
Florent Kermarrec [Wed, 27 Feb 2019 21:30:40 +0000 (22:30 +0100)]
soc/integration: add initial SoCZynq SoC
Florent Kermarrec [Wed, 27 Feb 2019 21:26:57 +0000 (22:26 +0100)]
soc/interconnect: add initial axi code with bus definition and AXI2Wishbone
Florent Kermarrec [Wed, 27 Feb 2019 21:24:56 +0000 (22:24 +0100)]
test: add test_axi_lite (with test code from soc/interconnect/axi_lite lightly modified)
Florent Kermarrec [Wed, 27 Feb 2019 21:11:09 +0000 (22:11 +0100)]
soc/interconnect: rename axi to axi_lite
Florent Kermarrec [Wed, 27 Feb 2019 20:44:11 +0000 (21:44 +0100)]
test: add basic test_csr
enjoy-digital [Mon, 25 Feb 2019 18:26:07 +0000 (19:26 +0100)]
Merge pull request #149 from daveshah1/versa_trellis
Add trellis build option to versa_ecp5 and bring trellis support up to date
David Shah [Mon, 25 Feb 2019 18:02:04 +0000 (18:02 +0000)]
versa_ecp5: Add option to build with Trellis
David Shah [Mon, 25 Feb 2019 18:01:35 +0000 (18:01 +0000)]
trellis: Add LPF frequency constraints and remove -nomux
Florent Kermarrec [Mon, 25 Feb 2019 15:12:21 +0000 (16:12 +0100)]
soc/software/sdram: fix compilation on ultrascale
Florent Kermarrec [Mon, 25 Feb 2019 14:27:08 +0000 (15:27 +0100)]
targets/versa_ecp5: integrate DDR3
Florent Kermarrec [Mon, 25 Feb 2019 13:40:47 +0000 (14:40 +0100)]
soc/software/bios/sdram: add ECP5 support
Florent Kermarrec [Mon, 25 Feb 2019 13:38:24 +0000 (14:38 +0100)]
soc/software/bios/sdram: improve write_level robustness
Florent Kermarrec [Mon, 25 Feb 2019 13:37:31 +0000 (14:37 +0100)]
soc/software/bios/sdram: improve sdrlevel readibility
Florent Kermarrec [Mon, 25 Feb 2019 13:36:47 +0000 (14:36 +0100)]
soc/software/bios/sdram: add helpers for rst/inc of delays
enjoy-digital [Fri, 22 Feb 2019 13:32:45 +0000 (14:32 +0100)]
Merge pull request #148 from daveshah1/versa_remove_n
versa_ecp5: Remove negative diff IO pins
David Shah [Fri, 22 Feb 2019 12:12:10 +0000 (12:12 +0000)]
versa_ecp5: Remove negative diff IO pins
In Lattice FPGAs only the positive side of differential pairs should
be specified (unlike Xilinx)
These are a warning on Diamond (which trims unused IO) and an error
with Yosys/nextpnr (which doesn't so they conflict when the positive
pin is 'expanded').
Already this is the case for the clock input, this commit performs
the same change for the DDR3 pins.
Florent Kermarrec [Wed, 20 Feb 2019 21:45:19 +0000 (22:45 +0100)]
platforms/versa_ecp5: add ddram pins
Florent Kermarrec [Fri, 15 Feb 2019 23:08:24 +0000 (00:08 +0100)]
soc/tools/remote/comm_uart: be sure to flush in waiting bytes before read and write
Florent Kermarrec [Thu, 14 Feb 2019 09:41:13 +0000 (10:41 +0100)]
soc/cores/clock: add actual clk_freqs to config
Florent Kermarrec [Tue, 12 Feb 2019 11:12:40 +0000 (12:12 +0100)]
soc_sdram: add use_full_memory_we parameter to allow disabling vivado workaround on small l2 caches
Florent Kermarrec [Mon, 11 Feb 2019 18:41:12 +0000 (19:41 +0100)]
build/lattice/common/LatticeECXTrellisImpl: add support for nbits == 1
Florent Kermarrec [Mon, 11 Feb 2019 08:23:39 +0000 (09:23 +0100)]
soc_sdram: don't generate sdram initialization error message when integrated_main_ram is used
Florent Kermarrec [Thu, 7 Feb 2019 15:23:55 +0000 (16:23 +0100)]
build/lattice/common: add LatticeiCE40DDROutput
Florent Kermarrec [Fri, 1 Feb 2019 22:39:17 +0000 (23:39 +0100)]
platforms/nexys_video: add LPC transceivers pins
Florent Kermarrec [Wed, 30 Jan 2019 13:01:19 +0000 (14:01 +0100)]
build/sim: add jtagremote module (thanks LamdaConcept)
Florent Kermarrec [Tue, 29 Jan 2019 11:45:59 +0000 (12:45 +0100)]
soc/integration/soc_core: allow disabling wishbone timeout
Florent Kermarrec [Sun, 27 Jan 2019 07:23:44 +0000 (08:23 +0100)]
soc/interconnect/wishbone: increase bus error timeout to 1e6 cycles
Florent Kermarrec [Wed, 23 Jan 2019 07:40:47 +0000 (08:40 +0100)]
boards/platform/kc705: add sfp pins (both tx and rx)
Florent Kermarrec [Tue, 22 Jan 2019 11:50:05 +0000 (12:50 +0100)]
soc/cores/clock: add USIDELAYCTRL
Florent Kermarrec [Tue, 22 Jan 2019 08:08:35 +0000 (09:08 +0100)]
soc/integration/soc_sdram: round port.data_width/l2_size to nearest power of 2 when it's not the case
With ECC configurations, native port data_width is not necessarily a power of 2.
Florent Kermarrec [Mon, 21 Jan 2019 09:39:34 +0000 (10:39 +0100)]
boards/targets: improve presentation
Florent Kermarrec [Mon, 21 Jan 2019 09:36:28 +0000 (10:36 +0100)]
boards/platforms/kcu105: add si570_refclk
Florent Kermarrec [Mon, 21 Jan 2019 09:21:19 +0000 (10:21 +0100)]
boards/platforms/kc705: use vivado as default programmer
Florent Kermarrec [Wed, 16 Jan 2019 21:05:52 +0000 (22:05 +0100)]
soc/cores/clock: allow ClockSignal to be used for clkin
Florent Kermarrec [Fri, 11 Jan 2019 14:01:58 +0000 (15:01 +0100)]
build/sim/core: fix coverage
Florent Kermarrec [Fri, 11 Jan 2019 12:51:15 +0000 (13:51 +0100)]
build/sim/core: set -Wno-BLKANDNBLK (prevent blocking/non-blocking assigns on a same structure in system verilog)
Florent Kermarrec [Fri, 11 Jan 2019 12:39:09 +0000 (13:39 +0100)]
build/sim/core: set unroll-count to 256 to prevent Error-BLKLOOPINIT
Florent Kermarrec [Thu, 10 Jan 2019 15:03:09 +0000 (16:03 +0100)]
build/sim: disable Warning-WIDTH
Florent Kermarrec [Wed, 9 Jan 2019 09:28:24 +0000 (10:28 +0100)]
soc/cores/cpu/vexriscv: set default variant to None in add_sources
Florent Kermarrec [Wed, 9 Jan 2019 07:32:17 +0000 (08:32 +0100)]
soc/cores/cpu/vexriscv: move verilog variant selection to add_sources
Florent Kermarrec [Tue, 8 Jan 2019 13:14:28 +0000 (14:14 +0100)]
targets/kcu105: use USMMCM
Florent Kermarrec [Tue, 8 Jan 2019 12:50:12 +0000 (13:50 +0100)]
targets: pass speedgrade to S7PLL/S7MMCM
Florent Kermarrec [Tue, 8 Jan 2019 12:19:49 +0000 (13:19 +0100)]
soc/cores/clock: add Xilinx Ultrascale PLL/MMCM
Florent Kermarrec [Sun, 6 Jan 2019 17:59:37 +0000 (18:59 +0100)]
boards: avoid duplicating platforms that can be found in migen/litex-buildenv
The platforms that are kept are the ones used for litex development.
Florent Kermarrec [Sat, 5 Jan 2019 09:57:37 +0000 (10:57 +0100)]
soc/integration/cpu_interface: generate name for Memories in get_csr_header
Florent Kermarrec [Thu, 3 Jan 2019 09:38:14 +0000 (10:38 +0100)]
utils/litex_server: allow specify uart_baudrate as float
Florent Kermarrec [Fri, 28 Dec 2018 14:58:28 +0000 (15:58 +0100)]
targets/ulx3s: use pll for phase shift, enable refresh, memtest ok
Florent Kermarrec [Fri, 28 Dec 2018 14:14:28 +0000 (15:14 +0100)]
targets/versa_ecp5: use pll for phase shift, enable refresh, memtest ok
Florent Kermarrec [Fri, 28 Dec 2018 14:03:05 +0000 (15:03 +0100)]
soc/cores/clock/ECP5PLL: add basic phase support
Florent Kermarrec [Thu, 27 Dec 2018 19:36:50 +0000 (20:36 +0100)]
litex_sim: simplify, change sdram module and enable sdram refresh.
Florent Kermarrec [Sun, 23 Dec 2018 18:47:48 +0000 (19:47 +0100)]
.gitmodules: use our copy of tapcfg since https://github.com/nizox/tapcfg no longer exists.
Florent Kermarrec [Fri, 21 Dec 2018 08:57:52 +0000 (09:57 +0100)]
build/sim/verilator: compile sim just before running and not when building.
Tim Ansell [Thu, 20 Dec 2018 19:35:42 +0000 (11:35 -0800)]
Merge pull request #144 from mithro/nextpnr-migen-update
Integrate latest migen changes for lattice/icestorm.
Tim 'mithro' Ansell [Thu, 20 Dec 2018 19:31:07 +0000 (11:31 -0800)]
Integrate latest migen changes for lattice/icestorm.
Integrated up to
37db6bb52532b6d1c6bc8b724c2e8c6a38546c2a.
Florent Kermarrec [Thu, 20 Dec 2018 09:33:32 +0000 (10:33 +0100)]
build/sim: handle verilog $finish and if coverage is enabled, write report at the end of the simulation.
Florent Kermarrec [Wed, 19 Dec 2018 10:33:32 +0000 (11:33 +0100)]
platforms/kcu105: change internal vref to 0.84v (recommended value for ddr4)
Florent Kermarrec [Wed, 19 Dec 2018 10:19:47 +0000 (11:19 +0100)]
bios/sdram: only show read delays when they are valid.
Florent Kermarrec [Wed, 19 Dec 2018 10:18:19 +0000 (11:18 +0100)]
bios/sdram: reduce write leveling scan range
Florent Kermarrec [Wed, 19 Dec 2018 08:14:26 +0000 (09:14 +0100)]
soc/cores/clock: remove return on S7PLL.create_clkout
Florent Kermarrec [Tue, 18 Dec 2018 20:38:23 +0000 (21:38 +0100)]
platforms/kcu105: set internal vref on ddr4 banks
Florent Kermarrec [Tue, 18 Dec 2018 10:25:21 +0000 (11:25 +0100)]
update Ultrascale DDRPHY
Tim Ansell [Tue, 18 Dec 2018 05:24:15 +0000 (21:24 -0800)]
Merge pull request #141 from mithro/xst-fix
Fix `-vlgincdir` for xst.
Tim 'mithro' Ansell [Tue, 18 Dec 2018 05:11:14 +0000 (21:11 -0800)]
Fix `-vlgincdir` for xst.
The command line is of the form;
```
-vlgincdir {"path1" "path2"}
```
Fixes the following error;
```
WARNING:Xst:3164 - Option "-vlgincdir" found multiple times in the command line. Only the first occurence is considered.
```
Florent Kermarrec [Mon, 17 Dec 2018 15:00:44 +0000 (16:00 +0100)]
bios/sdram: reduce scans verbosity on ultrascale
Florent Kermarrec [Mon, 17 Dec 2018 10:43:21 +0000 (11:43 +0100)]
bios/sdram: use ddrphy_half_sys8x_taps_read() for KUSDDRPHY
Tim Ansell [Sun, 16 Dec 2018 22:42:36 +0000 (14:42 -0800)]
Merge pull request #138 from mithro/mainram-hack
Hack to fix #136.
Tim 'mithro' Ansell [Sun, 16 Dec 2018 22:40:10 +0000 (14:40 -0800)]
Hack to fix #136.
Tim Ansell [Sun, 16 Dec 2018 22:04:19 +0000 (14:04 -0800)]
Merge pull request #135 from mithro/icestorm-ice40up5k
Add uwg30 package and up3k part.
Tim 'mithro' Ansell [Sat, 15 Dec 2018 23:47:47 +0000 (15:47 -0800)]
Add uwg30 package and up3k part.
Florent Kermarrec [Wed, 12 Dec 2018 09:01:49 +0000 (10:01 +0100)]
soc/cores/cpu/vexriscv: add add_debug method for debug variants
Florent Kermarrec [Wed, 12 Dec 2018 08:39:30 +0000 (09:39 +0100)]
soc/cores/cpu/vexriscv: add support for the new variants.
Florent Kermarrec [Wed, 12 Dec 2018 08:38:53 +0000 (09:38 +0100)]
soc/cores/cpu/vexriscv: update submodule
Florent Kermarrec [Wed, 12 Dec 2018 08:38:10 +0000 (09:38 +0100)]
soc/cores/cpu/lm32: add submodule/rtl to include path (needed for lm32_include.v)
Florent Kermarrec [Wed, 12 Dec 2018 08:37:24 +0000 (09:37 +0100)]
build/sim/verilator: add support for plaform.sources, some cleanup
Florent Kermarrec [Wed, 12 Dec 2018 08:34:43 +0000 (09:34 +0100)]
build/microsemi/libero_soc: fix typos
Florent Kermarrec [Sun, 9 Dec 2018 08:46:10 +0000 (09:46 +0100)]
gen/sim/core: add args support on Display
Florent Kermarrec [Sun, 9 Dec 2018 08:45:17 +0000 (09:45 +0100)]
gen/fhdl: add simulation Display, Finish support.
In some simulation cases, it's easier to add debug traces directly in the code
than in the verilog/Migen testbench. This adds support for verilog $display in
Migen code.
Being able to terminate a simulation from the code is also useful, this also
add support for verilog $finish.
Florent Kermarrec [Sun, 9 Dec 2018 07:10:50 +0000 (08:10 +0100)]
build/sim: add coverage parameter to enable code coverage
Florent Kermarrec [Sat, 8 Dec 2018 00:24:08 +0000 (01:24 +0100)]
soc/interconnect/stream: add support for buffered async fifo
Florent Kermarrec [Tue, 4 Dec 2018 20:06:51 +0000 (21:06 +0100)]
gen: integrate migen changes
Florent Kermarrec [Fri, 30 Nov 2018 22:12:30 +0000 (23:12 +0100)]
soc/interconnect/stream/gearbox: remove bit reversing by changing words order
Florent Kermarrec [Tue, 27 Nov 2018 16:45:07 +0000 (17:45 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Tue, 27 Nov 2018 16:42:39 +0000 (17:42 +0100)]
build/xilinx/vivado: disable xpm by default (can be enabled by passing enable_xpm=True to build).
Old version of Vivado don't have XPM support and enable it break the build.
Enabling XPM is only useful in some cases, we can do it manually.
enjoy-digital [Tue, 27 Nov 2018 16:35:03 +0000 (17:35 +0100)]
Merge pull request #130 from jfng/master
litex_sim: add --trace argument
Florent Kermarrec [Tue, 27 Nov 2018 16:31:53 +0000 (17:31 +0100)]
targets/ulx3s, versa_ecp5: use ECP5PLL
Jean-François Nguyen [Tue, 27 Nov 2018 16:26:32 +0000 (17:26 +0100)]
litex_sim: add --trace argument
Florent Kermarrec [Tue, 27 Nov 2018 16:24:22 +0000 (17:24 +0100)]
cores/clock: test and fix ECP5PLL, phase still not implemented.
Florent Kermarrec [Tue, 27 Nov 2018 13:15:35 +0000 (14:15 +0100)]
boards/platforms/ulx3s: add gpios 0-3
Florent Kermarrec [Mon, 26 Nov 2018 17:37:45 +0000 (18:37 +0100)]
bios/sdram: flush l2 cache only when present