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
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