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
Florent Kermarrec [Mon, 29 Oct 2018 14:58:54 +0000 (15:58 +0100)]
build/lattice/prjtrellis: set default toolchain_path to "/opt/prjtrellis"
Florent Kermarrec [Mon, 29 Oct 2018 14:56:46 +0000 (15:56 +0100)]
boards/targets/simple: add gateware-toolchain parameter
Florent Kermarrec [Mon, 29 Oct 2018 14:39:51 +0000 (15:39 +0100)]
boards/platforms/versaecp55g: use ftdi serial pins
Florent Kermarrec [Mon, 29 Oct 2018 12:26:29 +0000 (13:26 +0100)]
build/lattice/prjtrellis: test and fix iowrapper multi-bit signals support
Florent Kermarrec [Mon, 29 Oct 2018 10:48:10 +0000 (11:48 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Mon, 29 Oct 2018 10:46:03 +0000 (11:46 +0100)]
boards/targets/versaecp55g: use new iowrapper support, basic led blink and ios working :)
Florent Kermarrec [Mon, 29 Oct 2018 10:44:31 +0000 (11:44 +0100)]
build/lattice/prjtrellis: generate iowrapper to set constraints and TRELLIS_IO
PrjTrellis does not yet have constraint files support, constraints are set
with signal attributes and specific TRELLIS_IO instances are requested. This
iowrapper does this work for us automatically.
Remove this code and replace with a constraint file generation code when
PrjTrellis will have constraint file support.
Florent Kermarrec [Mon, 29 Oct 2018 10:41:04 +0000 (11:41 +0100)]
gen/fhdl/verilog: set direction to io signals
Tim Ansell [Mon, 29 Oct 2018 09:08:20 +0000 (02:08 -0700)]
Merge pull request #120 from mithro/master
litex/build: Always run Vivado.
Tim 'mithro' Ansell [Mon, 29 Oct 2018 09:04:44 +0000 (02:04 -0700)]
litex/build: Always run Vivado.
When using Yosys for synthesis, still need Vivado for place and route.
Florent Kermarrec [Mon, 29 Oct 2018 07:49:32 +0000 (08:49 +0100)]
build/lattice/prjtrellis: simplify code, remove some workarounds
Florent Kermarrec [Mon, 29 Oct 2018 07:26:13 +0000 (08:26 +0100)]
build/xilinx/vivado: fix merge issue
Florent Kermarrec [Sun, 28 Oct 2018 16:55:40 +0000 (17:55 +0100)]
boards/targets: add versa ecp55g prjtrellis target (experimental)
Florent Kermarrec [Sun, 28 Oct 2018 16:51:16 +0000 (17:51 +0100)]
build/lattice: add initial prjtrellis support
Florent Kermarrec [Sun, 28 Oct 2018 14:40:52 +0000 (15:40 +0100)]
build/lattice/diamond: use bash on linux
Florent Kermarrec [Sun, 28 Oct 2018 14:40:10 +0000 (15:40 +0100)]
build/lattice: improve special_overrides names (vendor_family)
enjoy-digital [Sun, 28 Oct 2018 14:00:06 +0000 (15:00 +0100)]
Merge pull request #114 from mithro/xilinx+yosys
WIP: Allow Yosys to be used for synthesis with Vivado
enjoy-digital [Sun, 28 Oct 2018 13:59:03 +0000 (14:59 +0100)]
Merge branch 'master' into xilinx+yosys
enjoy-digital [Sun, 28 Oct 2018 07:02:22 +0000 (08:02 +0100)]
Merge pull request #118 from mithro/uart-sync
uart: Enable buffering the FIFO.
Tim 'mithro' Ansell [Sat, 27 Oct 2018 23:02:53 +0000 (16:02 -0700)]
uart: Enable buffering the FIFO.
On the iCE40 FPGA, adding buffering allows the SyncFIFO to be placed in
block RAM rather than consuming a large amount of resources.
Florent Kermarrec [Sat, 27 Oct 2018 09:06:53 +0000 (11:06 +0200)]
README: improve instructions for litex_sim
Florent Kermarrec [Sat, 27 Oct 2018 09:06:34 +0000 (11:06 +0200)]
build/sim/verilator: don't use THEADS parameters when threads=1
Allow using old (non multi-threaded) version of Verilator
Florent Kermarrec [Fri, 19 Oct 2018 16:37:55 +0000 (18:37 +0200)]
soc_sdram: update litedram
Florent Kermarrec [Thu, 18 Oct 2018 11:42:51 +0000 (13:42 +0200)]
bios/sdram: s7ddrphy now has bitslip in fabric, show scan for each module/bitslip and remove silent mode
Florent Kermarrec [Thu, 18 Oct 2018 07:25:34 +0000 (09:25 +0200)]
build/xilinx/vivado: enable xpm libraries
Florent Kermarrec [Tue, 16 Oct 2018 12:57:37 +0000 (14:57 +0200)]
soc/cores/clock: add margin parameter to create_clkout (default = 1%)
Florent Kermarrec [Wed, 10 Oct 2018 08:42:56 +0000 (10:42 +0200)]
bios/sdram: improve write/read leveling
write_leveling: select last 0 to 1 transition.
read_leveling: do it by module (select best bitslip for each module)
Florent Kermarrec [Tue, 9 Oct 2018 13:39:03 +0000 (15:39 +0200)]
platforms/kc705: add ddram_dual_rank
Florent Kermarrec [Tue, 9 Oct 2018 08:06:32 +0000 (10:06 +0200)]
bios/main: handle all types of carriage return (\r, \n, \r\n or \n\r)
enjoy-digital [Tue, 9 Oct 2018 05:32:31 +0000 (07:32 +0200)]
Merge pull request #116 from stffrdhrn/sim-uart
sim: serial: Send '\r\n' instead of just '\n'
Stafford Horne [Tue, 9 Oct 2018 02:16:05 +0000 (11:16 +0900)]
sim: serial: Send '\r\n' instead of just '\n'
This fixes an issue when running with the HDMI2USB firmware which
expects \r\n to come from the UART. Since the verilator adapter
is just sending \n commands cannot be executed.
Also, one minor whitespace cleanup. (could remove if needed)
Florent Kermarrec [Mon, 8 Oct 2018 15:01:04 +0000 (17:01 +0200)]
cpu_interface: fix select_triple when only one specified
Florent Kermarrec [Sat, 6 Oct 2018 19:32:38 +0000 (21:32 +0200)]
soc/integration/cpu_interface: generate error if unable to find any of the cross compilation toolchains
Florent Kermarrec [Sat, 6 Oct 2018 18:55:16 +0000 (20:55 +0200)]
soc_core: add csr range check
Tim 'mithro' Ansell [Fri, 5 Oct 2018 19:48:30 +0000 (12:48 -0700)]
build.xilinx: Convert attributes to something Yosys understands.
Convert keep, dont_touch and async_reg to something Yosys understands.
Write out an EDIF file with the attributes so that Vivado can use them.
(Requires Yosys with commit
https://github.com/YosysHQ/yosys/commit/
115ca576475a2e8d30e63b339ae6a1b5db6906a6)
enjoy-digital [Thu, 4 Oct 2018 19:12:33 +0000 (21:12 +0200)]
Merge pull request #112 from cr1901/8k-b-evn
build/platforms: Add ice40_hx8k_b_evn from Migen.