Florent Kermarrec [Mon, 26 Nov 2018 14:21:00 +0000 (15:21 +0100)]
bios: allow testing main_ram at init when using an external controller
Florent Kermarrec [Mon, 26 Nov 2018 10:35:06 +0000 (11:35 +0100)]
build/microsemi/libero_soc: small cleanup
enjoy-digital [Mon, 26 Nov 2018 08:48:10 +0000 (09:48 +0100)]
Merge pull request #128 from mithro/small-fix
Two small fixes
Tim 'mithro' Ansell [Sun, 25 Nov 2018 20:57:11 +0000 (12:57 -0800)]
stream.Endpoint: Pass extra arguments to superclass.
Tim 'mithro' Ansell [Sun, 25 Nov 2018 20:56:37 +0000 (12:56 -0800)]
wishbone.SRAM: Support non-32bit wishbone widths.
Florent Kermarrec [Fri, 23 Nov 2018 23:47:38 +0000 (00:47 +0100)]
cores/clock: add ECP5PLL
Florent Kermarrec [Fri, 23 Nov 2018 17:34:24 +0000 (18:34 +0100)]
soc/interconnect/stream/gearbox: inverse bit order
Florent Kermarrec [Fri, 23 Nov 2018 17:33:53 +0000 (18:33 +0100)]
soc/cores/spi_flash: add missing endianness parameter
Florent Kermarrec [Fri, 23 Nov 2018 11:47:45 +0000 (12:47 +0100)]
platforms/avalanche: add IOStandard on ddram pins
Florent Kermarrec [Fri, 23 Nov 2018 08:30:13 +0000 (09:30 +0100)]
build/microsemi/libero_soc: associate timings constraints with synthesis/place&route/timing verification
Florent Kermarrec [Fri, 23 Nov 2018 08:04:42 +0000 (09:04 +0100)]
build/microsemi/libero_soc: add additional_timing_constraints
Florent Kermarrec [Fri, 23 Nov 2018 07:26:31 +0000 (08:26 +0100)]
build/microsemi/libero_soc: use die/package/speed from platform.device and add tcl_name helper
Florent Kermarrec [Fri, 23 Nov 2018 07:24:29 +0000 (08:24 +0100)]
platforms/avalanche: add package/speed to platform.device
Florent Kermarrec [Fri, 23 Nov 2018 07:11:57 +0000 (08:11 +0100)]
build/microsemi/libero_soc: remove previous impl directory if exists
Florent Kermarrec [Fri, 23 Nov 2018 07:03:55 +0000 (08:03 +0100)]
build/microsemi/libero_soc: give better names to pdc files: io/fp
Florent Kermarrec [Thu, 22 Nov 2018 17:40:19 +0000 (18:40 +0100)]
build/microsemi/libero_soc: add additional_constraints
Florent Kermarrec [Thu, 22 Nov 2018 17:13:33 +0000 (18:13 +0100)]
platforms/avalanche: fix ddram dq7
Florent Kermarrec [Thu, 22 Nov 2018 16:37:03 +0000 (17:37 +0100)]
build/microsemi/libero_soc: add {} around port name.
Florent Kermarrec [Thu, 22 Nov 2018 16:33:46 +0000 (17:33 +0100)]
utils/litex_read_verilog: fix generated indent on instance
Florent Kermarrec [Wed, 21 Nov 2018 07:39:52 +0000 (08:39 +0100)]
soc/integration/soc_core: add csr_map_update function
Tim Ansell [Wed, 21 Nov 2018 05:15:50 +0000 (21:15 -0800)]
Merge pull request #127 from cr1901/picorv32-data
libbase/crt0-picorv32: Add support for .data sections.
William D. Jones [Wed, 21 Nov 2018 05:13:13 +0000 (00:13 -0500)]
libbase/crt0-picorv32: Add support for .data sections.
Florent Kermarrec [Tue, 20 Nov 2018 17:49:01 +0000 (18:49 +0100)]
build/sim/verilator: add trace parameter to enable tracer
Florent Kermarrec [Tue, 20 Nov 2018 16:45:11 +0000 (17:45 +0100)]
soc_core: convert cpu_type="None" string to None
Florent Kermarrec [Mon, 19 Nov 2018 14:54:33 +0000 (15:54 +0100)]
build/microsemi/libero_soc: only associate timings constraint to timing check (otherwise we loose io constraints...), use default settings for place & route
Florent Kermarrec [Mon, 19 Nov 2018 12:15:34 +0000 (13:15 +0100)]
build/microsemi/common: add async reset synchronizer (using DFN1P0)
Florent Kermarrec [Mon, 19 Nov 2018 11:50:07 +0000 (12:50 +0100)]
build/microsemi/libero_soc: pass timing constraints to synthesis, place & route and timing verification tools
Florent Kermarrec [Mon, 19 Nov 2018 08:40:16 +0000 (09:40 +0100)]
build/microsemi/libero_soc: add timing constraints support
Florent Kermarrec [Mon, 19 Nov 2018 07:45:55 +0000 (08:45 +0100)]
boards/platforms/avalanche: fix swapped serial pins
Florent Kermarrec [Mon, 19 Nov 2018 07:11:29 +0000 (08:11 +0100)]
boards/platforms/avalanche: rename rst to rst_n (active low reset)
Florent Kermarrec [Mon, 19 Nov 2018 07:06:29 +0000 (08:06 +0100)]
build/microsemi/libero_soc: associate .pdc to place and route tool.
For constraint to be applied, we also to associate them with the tool that will use it.
Florent Kermarrec [Sat, 17 Nov 2018 16:36:57 +0000 (17:36 +0100)]
test/test_targets: update
Florent Kermarrec [Sat, 17 Nov 2018 16:29:45 +0000 (17:29 +0100)]
soc/interconnect/stream: add Gearbox
Florent Kermarrec [Sat, 17 Nov 2018 16:28:58 +0000 (17:28 +0100)]
test: remove test_bitslip (integrated in migen)
Florent Kermarrec [Fri, 16 Nov 2018 15:03:23 +0000 (16:03 +0100)]
utils: add litex_read_verilog utility
generate Migen's modules from verilog files
Florent Kermarrec [Fri, 16 Nov 2018 13:35:56 +0000 (14:35 +0100)]
create utils directory and move the litex utils to it
Florent Kermarrec [Fri, 16 Nov 2018 11:19:03 +0000 (12:19 +0100)]
build/microsemi/libero_soc: able to generate design script (tcl) and design constraint (pdc) for libero soc / avalanche board.
Florent Kermarrec [Thu, 15 Nov 2018 17:21:41 +0000 (18:21 +0100)]
build: add microsemi template for polarfire fpgas support
Tim Ansell [Wed, 14 Nov 2018 00:20:57 +0000 (16:20 -0800)]
Merge pull request #126 from mithro/toolchain-fix
lattice/icestorm: Add toolchain_path so it doesn't end up kwargs.
Tim 'mithro' Ansell [Wed, 14 Nov 2018 00:18:08 +0000 (16:18 -0800)]
lattice/icestorm: Add toolchain_path so it doesn't end up kwargs.
Fixes the following error;
```
make[1]: Leaving directory `/home/travis/build/mithro/litex-buildenv/build/ice40_hx8k_b_evn_base_lm32.lite/software/stub'
Traceback (most recent call last):
File "./make.py", line 164, in <module>
main()
File "./make.py", line 148, in main
vns = builder.build(**dict(args.build_option))
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/soc/integration/builder.py", line 171, in build
toolchain_path=toolchain_path, **kwargs)
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/soc/integration/soc_core.py", line 389, in build
return self.platform.build(self, *args, **kwargs)
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/build/lattice/platform.py", line 29, in build
return self.toolchain.build(self, *args, **kwargs)
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/build/lattice/icestorm.py", line 139, in build
v_output = platform.get_verilog(fragment, name=build_name, **kwargs)
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/build/lattice/platform.py", line 26, in get_verilog
**kwargs)
File "/home/travis/build/mithro/litex-buildenv/third_party/litex/litex/build/generic_platform.py", line 368, in get_verilog
create_clock_domains=False, **kwargs)
TypeError: convert() got an unexpected keyword argument 'toolchain_path'
```
Florent Kermarrec [Tue, 13 Nov 2018 15:17:49 +0000 (16:17 +0100)]
soc_core: check for cpu before checking interrupt
Florent Kermarrec [Tue, 13 Nov 2018 13:46:20 +0000 (14:46 +0100)]
cores/clock/S7: just reset the generated clock, not the PLL/MMCM
Florent Kermarrec [Tue, 13 Nov 2018 10:16:06 +0000 (11:16 +0100)]
bios/main: fix typo on mor1kx
Florent Kermarrec [Tue, 13 Nov 2018 10:09:39 +0000 (11:09 +0100)]
cpu/mor1kx: use clang only for linux variant
Florent Kermarrec [Mon, 12 Nov 2018 15:31:51 +0000 (16:31 +0100)]
xilinx/vivado: fix migen merge
Florent Kermarrec [Mon, 12 Nov 2018 11:45:33 +0000 (12:45 +0100)]
platforms: remove versaecp55g_sdram
Florent Kermarrec [Mon, 12 Nov 2018 11:00:30 +0000 (12:00 +0100)]
build/xilinx/vivado: merge migen change
Florent Kermarrec [Mon, 12 Nov 2018 10:48:30 +0000 (11:48 +0100)]
build: use default toolchain_path on all backend when passed value is None
Florent Kermarrec [Mon, 12 Nov 2018 10:47:39 +0000 (11:47 +0100)]
generic_platform: use set for sources
Florent Kermarrec [Mon, 12 Nov 2018 10:26:35 +0000 (11:26 +0100)]
build: merge more migen changes
Florent Kermarrec [Mon, 12 Nov 2018 09:52:28 +0000 (10:52 +0100)]
platforms/versa_ecp5: import migen changes
Florent Kermarrec [Mon, 12 Nov 2018 09:47:33 +0000 (10:47 +0100)]
targets/ulx3s,versa_ecp5: prjtrellis toolchain renamed to trellis
Florent Kermarrec [Mon, 12 Nov 2018 09:23:10 +0000 (10:23 +0100)]
build/lattice: import changes from migen
Florent Kermarrec [Mon, 12 Nov 2018 09:12:10 +0000 (10:12 +0100)]
targets/versa_ecp5: increase sys_clk_freq to 50MHz
Florent Kermarrec [Mon, 12 Nov 2018 08:45:59 +0000 (09:45 +0100)]
targets: add versa_ecp5 with sdram (ecp5 soc hat) at 25MHz/no pll
Florent Kermarrec [Mon, 12 Nov 2018 08:44:32 +0000 (09:44 +0100)]
targets/ulx3s: for now revert to 25MHz clock/no pll
Florent Kermarrec [Mon, 12 Nov 2018 08:43:31 +0000 (09:43 +0100)]
platforms/versa_ecp5: add ecp5 soc hat ios
Florent Kermarrec [Mon, 12 Nov 2018 07:12:07 +0000 (08:12 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex
enjoy-digital [Mon, 12 Nov 2018 07:11:57 +0000 (08:11 +0100)]
Merge pull request #125 from daveshah1/trellis_sdram
ecp5 soc hat wip
Florent Kermarrec [Mon, 12 Nov 2018 07:06:22 +0000 (08:06 +0100)]
plarforms: rename versa/versaecp55g to versa_ecp3/versa_ecp5
Florent Kermarrec [Fri, 9 Nov 2018 17:27:01 +0000 (18:27 +0100)]
targets/ulx3s: get memtest working by disabling sdram refresh
Will need to be fixed...
Florent Kermarrec [Fri, 9 Nov 2018 14:42:34 +0000 (15:42 +0100)]
soc/integration/soc_sdram: allow using axi interface with litedram
Florent Kermarrec [Thu, 8 Nov 2018 17:24:12 +0000 (18:24 +0100)]
boards/platforms: add avalanche polarfire board ios definition
David Shah [Tue, 6 Nov 2018 14:39:25 +0000 (14:39 +0000)]
working on Versa-5G dram
Signed-off-by: David Shah <dave@ds0.me>
Florent Kermarrec [Mon, 5 Nov 2018 17:44:28 +0000 (18:44 +0100)]
bios/sdram: iterate multiple time for write leveling and add vote to eliminate transcients
Florent Kermarrec [Mon, 5 Nov 2018 17:41:49 +0000 (18:41 +0100)]
target/kcu105: add reset button
Florent Kermarrec [Mon, 5 Nov 2018 16:01:42 +0000 (17:01 +0100)]
boards/platforms/kcu105: fix sdram/dq pin swap
David Shah [Mon, 5 Nov 2018 11:54:22 +0000 (11:54 +0000)]
Debugging ULX3S SDRAM
Signed-off-by: David Shah <dave@ds0.me>
Florent Kermarrec [Mon, 5 Nov 2018 09:47:25 +0000 (10:47 +0100)]
bios/sdram: replace DDR3_MR1 constant with DDRX_MR1
Florent Kermarrec [Mon, 5 Nov 2018 09:44:50 +0000 (10:44 +0100)]
boards/targets: add kcu105
enjoy-digital [Fri, 2 Nov 2018 18:59:23 +0000 (19:59 +0100)]
Merge pull request #122 from daveshah1/trellis_ulx3s
Switch Trellis build to use LPF constraints; working on ULX3S
enjoy-digital [Fri, 2 Nov 2018 16:46:04 +0000 (17:46 +0100)]
Merge pull request #124 from jfng/master
build/sim/verilator: don't use --threads when $(THREADS) is unset
Jean-François Nguyen [Fri, 2 Nov 2018 13:22:44 +0000 (14:22 +0100)]
build/sim/verilator: don't use --threads when $(THREADS) is unset
Florent Kermarrec [Thu, 1 Nov 2018 09:52:01 +0000 (10:52 +0100)]
boards/platforms/kc705: add user_sma_mgt_refclk
enjoy-digital [Thu, 1 Nov 2018 09:45:32 +0000 (10:45 +0100)]
Merge pull request #123 from cr1901/prv32-min
PicoRV32 Enhancements
William D. Jones [Thu, 1 Nov 2018 09:02:04 +0000 (05:02 -0400)]
libbase/crt0-picorv32: Emulate support for a relocatable IRQ vector (hardcoded at synthesis time).
William D. Jones [Thu, 1 Nov 2018 06:23:01 +0000 (02:23 -0400)]
cpu/picorv32: IRQ vector needs to be moved to 16 bytes after the RESET vector.
William D. Jones [Thu, 1 Nov 2018 06:18:03 +0000 (02:18 -0400)]
libbase/crt0-picorv32: Ensure BSS is cleared on boot.
Florent Kermarrec [Wed, 31 Oct 2018 15:23:23 +0000 (16:23 +0100)]
cores/clock: add with_reset parameter (default to True)
In some cases we want to generate the reset externally.
David Shah [Wed, 31 Oct 2018 13:29:35 +0000 (13:29 +0000)]
ulx3s: Connect SDRAM clock
Signed-off-by: David Shah <dave@ds0.me>
David Shah [Wed, 31 Oct 2018 12:27:05 +0000 (12:27 +0000)]
Fix Trellis build; ULX3S demo boots to BIOS
Signed-off-by: David Shah <dave@ds0.me>
David Shah [Wed, 31 Oct 2018 11:43:39 +0000 (11:43 +0000)]
trellis: Switch to using LPF for constraints
Signed-off-by: David Shah <dave@ds0.me>
Florent Kermarrec [Wed, 31 Oct 2018 09:48:48 +0000 (10:48 +0100)]
boards/platforms/kcu105: add sfp_tx/rx definition
William D. Jones [Mon, 29 Oct 2018 05:41:02 +0000 (01:41 -0400)]
cpu/picorv32: Create minimal variant (disable mul/div insns, most speed optimizations).
William D. Jones [Mon, 29 Oct 2018 04:59:13 +0000 (00:59 -0400)]
cpu/picorv32: Extract picorv32 parameters from Instance constructor to facilitate creating variant CPUs.
Florent Kermarrec [Tue, 30 Oct 2018 09:28:12 +0000 (10:28 +0100)]
build/lattice/prjtrellis: fix default toolchain_path
Florent Kermarrec [Tue, 30 Oct 2018 09:19:21 +0000 (10:19 +0100)]
soc/cores/spi_flash: add endianness parameter
Florent Kermarrec [Tue, 30 Oct 2018 09:16:55 +0000 (10:16 +0100)]
soc/interconnect/stream_packet: use reverse_bytes from litex.gen
Florent Kermarrec [Tue, 30 Oct 2018 09:15:29 +0000 (10:15 +0100)]
gen: add common with reverse_bits/reverse_bytes functions
Florent Kermarrec [Tue, 30 Oct 2018 09:14:48 +0000 (10:14 +0100)]
boards/targets/ulx3s: reduce l2_size
Florent Kermarrec [Tue, 30 Oct 2018 09:14:30 +0000 (10:14 +0100)]
build/lattice/prjtrellis: fix typo
Florent Kermarrec [Tue, 30 Oct 2018 07:51:23 +0000 (08:51 +0100)]
build/lattice/prjtrellis: modify generated verilog instead of creating a wrapper, handle inouts.
nextpnr expects TRELLIS_IO on all ios, it's not possible to ensure that with a wrapper.
We now just modify the generated verilog to insert the io constraints and TRELLIS_IOs.
Florent Kermarrec [Tue, 30 Oct 2018 07:32:24 +0000 (08:32 +0100)]
build/lattice/common: fix LatticeECPXPrjTrellisTristateImpl
Tim Ansell [Tue, 30 Oct 2018 03:54:23 +0000 (20:54 -0700)]
Merge pull request #121 from cr1901/patch-3
Update vivado.py
William D. Jones [Tue, 30 Oct 2018 03:43:32 +0000 (23:43 -0400)]
Update vivado.py
Fix regression which caused Vivado to not be run at all.
Florent Kermarrec [Mon, 29 Oct 2018 18:24:28 +0000 (19:24 +0100)]
boards/targets: add ulx3s
Florent Kermarrec [Mon, 29 Oct 2018 18:23:59 +0000 (19:23 +0100)]
boards/platforms: add ulx3s
Florent Kermarrec [Mon, 29 Oct 2018 18:23:21 +0000 (19:23 +0100)]
build/lattice/prjtrellis: add inout support
Florent Kermarrec [Mon, 29 Oct 2018 18:22:04 +0000 (19:22 +0100)]
build/lattice/common: add tristate support
Florent Kermarrec [Mon, 29 Oct 2018 15:02:25 +0000 (16:02 +0100)]
boards/targets/versaecp55g_prjtrellis: simple.py example working, specific target no longer needed
simple.py configuration tested:
python3 simple.py --cpu-type=lm32 --gateware-toolchain=prjtrellis litex.boards.platforms.versaecp55g
python3 simple.py --cpu-type=vexriscv --gateware-toolchain=prjtrellis litex.boards.platforms.versaecp55g