litex.git
5 years agobuild/lattice/common: add LatticeiCE40DDROutput
Florent Kermarrec [Thu, 7 Feb 2019 15:23:55 +0000 (16:23 +0100)]
build/lattice/common: add LatticeiCE40DDROutput

5 years agoplatforms/nexys_video: add LPC transceivers pins
Florent Kermarrec [Fri, 1 Feb 2019 22:39:17 +0000 (23:39 +0100)]
platforms/nexys_video: add LPC transceivers pins

5 years agobuild/sim: add jtagremote module (thanks LamdaConcept)
Florent Kermarrec [Wed, 30 Jan 2019 13:01:19 +0000 (14:01 +0100)]
build/sim: add jtagremote module (thanks LamdaConcept)

5 years agosoc/integration/soc_core: allow disabling wishbone timeout
Florent Kermarrec [Tue, 29 Jan 2019 11:45:59 +0000 (12:45 +0100)]
soc/integration/soc_core: allow disabling wishbone timeout

5 years agosoc/interconnect/wishbone: increase bus error timeout to 1e6 cycles
Florent Kermarrec [Sun, 27 Jan 2019 07:23:44 +0000 (08:23 +0100)]
soc/interconnect/wishbone: increase bus error timeout to 1e6 cycles

5 years agoboards/platform/kc705: add sfp pins (both tx and rx)
Florent Kermarrec [Wed, 23 Jan 2019 07:40:47 +0000 (08:40 +0100)]
boards/platform/kc705: add sfp pins (both tx and rx)

5 years agosoc/cores/clock: add USIDELAYCTRL
Florent Kermarrec [Tue, 22 Jan 2019 11:50:05 +0000 (12:50 +0100)]
soc/cores/clock: add USIDELAYCTRL

5 years agosoc/integration/soc_sdram: round port.data_width/l2_size to nearest power of 2 when...
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.

5 years agoboards/targets: improve presentation
Florent Kermarrec [Mon, 21 Jan 2019 09:39:34 +0000 (10:39 +0100)]
boards/targets: improve presentation

5 years agoboards/platforms/kcu105: add si570_refclk
Florent Kermarrec [Mon, 21 Jan 2019 09:36:28 +0000 (10:36 +0100)]
boards/platforms/kcu105: add si570_refclk

5 years agoboards/platforms/kc705: use vivado as default programmer
Florent Kermarrec [Mon, 21 Jan 2019 09:21:19 +0000 (10:21 +0100)]
boards/platforms/kc705: use vivado as default programmer

5 years agosoc/cores/clock: allow ClockSignal to be used for clkin
Florent Kermarrec [Wed, 16 Jan 2019 21:05:52 +0000 (22:05 +0100)]
soc/cores/clock: allow ClockSignal to be used for clkin

5 years agobuild/sim/core: fix coverage
Florent Kermarrec [Fri, 11 Jan 2019 14:01:58 +0000 (15:01 +0100)]
build/sim/core: fix coverage

5 years agobuild/sim/core: set -Wno-BLKANDNBLK (prevent blocking/non-blocking assigns on a same...
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)

5 years agobuild/sim/core: set unroll-count to 256 to prevent Error-BLKLOOPINIT
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

5 years agobuild/sim: disable Warning-WIDTH
Florent Kermarrec [Thu, 10 Jan 2019 15:03:09 +0000 (16:03 +0100)]
build/sim: disable Warning-WIDTH

5 years agosoc/cores/cpu/vexriscv: set default variant to None in add_sources
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

5 years agosoc/cores/cpu/vexriscv: move verilog variant selection to 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

5 years agotargets/kcu105: use USMMCM
Florent Kermarrec [Tue, 8 Jan 2019 13:14:28 +0000 (14:14 +0100)]
targets/kcu105: use USMMCM

5 years agotargets: pass speedgrade to S7PLL/S7MMCM
Florent Kermarrec [Tue, 8 Jan 2019 12:50:12 +0000 (13:50 +0100)]
targets: pass speedgrade to S7PLL/S7MMCM

5 years agosoc/cores/clock: add Xilinx Ultrascale PLL/MMCM
Florent Kermarrec [Tue, 8 Jan 2019 12:19:49 +0000 (13:19 +0100)]
soc/cores/clock: add Xilinx Ultrascale PLL/MMCM

5 years agoboards: avoid duplicating platforms that can be found in migen/litex-buildenv
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.

5 years agosoc/integration/cpu_interface: generate name for Memories in get_csr_header
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

5 years agoutils/litex_server: allow specify uart_baudrate as float
Florent Kermarrec [Thu, 3 Jan 2019 09:38:14 +0000 (10:38 +0100)]
utils/litex_server: allow specify uart_baudrate as float

5 years agotargets/ulx3s: use pll for phase shift, enable refresh, memtest ok
Florent Kermarrec [Fri, 28 Dec 2018 14:58:28 +0000 (15:58 +0100)]
targets/ulx3s: use pll for phase shift, enable refresh, memtest ok

5 years agotargets/versa_ecp5: 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

5 years agosoc/cores/clock/ECP5PLL: add basic phase support
Florent Kermarrec [Fri, 28 Dec 2018 14:03:05 +0000 (15:03 +0100)]
soc/cores/clock/ECP5PLL: add basic phase support

5 years agolitex_sim: simplify, change sdram module and enable sdram refresh.
Florent Kermarrec [Thu, 27 Dec 2018 19:36:50 +0000 (20:36 +0100)]
litex_sim: simplify, change sdram module and enable sdram refresh.

5 years ago.gitmodules: use our copy of tapcfg since https://github.com/nizox/tapcfg no longer...
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.

5 years agobuild/sim/verilator: compile sim just before running and not when building.
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.

5 years agoMerge pull request #144 from mithro/nextpnr-migen-update
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.

5 years agoIntegrate 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.

5 years agobuild/sim: handle verilog $finish and if coverage is enabled, write report at the...
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.

5 years agoplatforms/kcu105: change internal vref to 0.84v (recommended value for ddr4)
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)

5 years agobios/sdram: only show read delays when they are valid.
Florent Kermarrec [Wed, 19 Dec 2018 10:19:47 +0000 (11:19 +0100)]
bios/sdram: only show read delays when they are valid.

5 years agobios/sdram: reduce write leveling scan range
Florent Kermarrec [Wed, 19 Dec 2018 10:18:19 +0000 (11:18 +0100)]
bios/sdram: reduce write leveling scan range

5 years agosoc/cores/clock: remove return on S7PLL.create_clkout
Florent Kermarrec [Wed, 19 Dec 2018 08:14:26 +0000 (09:14 +0100)]
soc/cores/clock: remove return on S7PLL.create_clkout

5 years agoplatforms/kcu105: set internal vref on ddr4 banks
Florent Kermarrec [Tue, 18 Dec 2018 20:38:23 +0000 (21:38 +0100)]
platforms/kcu105: set internal vref on ddr4 banks

5 years agoupdate Ultrascale DDRPHY
Florent Kermarrec [Tue, 18 Dec 2018 10:25:21 +0000 (11:25 +0100)]
update Ultrascale DDRPHY

5 years agoMerge pull request #141 from mithro/xst-fix
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.

5 years agoFix `-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.
```

5 years agobios/sdram: reduce scans verbosity on ultrascale
Florent Kermarrec [Mon, 17 Dec 2018 15:00:44 +0000 (16:00 +0100)]
bios/sdram: reduce scans verbosity on ultrascale

5 years agobios/sdram: use ddrphy_half_sys8x_taps_read() for KUSDDRPHY
Florent Kermarrec [Mon, 17 Dec 2018 10:43:21 +0000 (11:43 +0100)]
bios/sdram: use ddrphy_half_sys8x_taps_read() for KUSDDRPHY

5 years agoMerge pull request #138 from mithro/mainram-hack
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.

5 years agoHack to fix #136.
Tim 'mithro' Ansell [Sun, 16 Dec 2018 22:40:10 +0000 (14:40 -0800)]
Hack to fix #136.

5 years agoMerge pull request #135 from mithro/icestorm-ice40up5k
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.

5 years agoAdd 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.

5 years agosoc/cores/cpu/vexriscv: add add_debug method for debug variants
Florent Kermarrec [Wed, 12 Dec 2018 09:01:49 +0000 (10:01 +0100)]
soc/cores/cpu/vexriscv: add add_debug method for debug variants

5 years agosoc/cores/cpu/vexriscv: add support for the new variants.
Florent Kermarrec [Wed, 12 Dec 2018 08:39:30 +0000 (09:39 +0100)]
soc/cores/cpu/vexriscv: add support for the new variants.

5 years agosoc/cores/cpu/vexriscv: update submodule
Florent Kermarrec [Wed, 12 Dec 2018 08:38:53 +0000 (09:38 +0100)]
soc/cores/cpu/vexriscv: update submodule

5 years agosoc/cores/cpu/lm32: add submodule/rtl to include path (needed for lm32_include.v)
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)

5 years agobuild/sim/verilator: add support for plaform.sources, some cleanup
Florent Kermarrec [Wed, 12 Dec 2018 08:37:24 +0000 (09:37 +0100)]
build/sim/verilator: add support for plaform.sources, some cleanup

5 years agobuild/microsemi/libero_soc: fix typos
Florent Kermarrec [Wed, 12 Dec 2018 08:34:43 +0000 (09:34 +0100)]
build/microsemi/libero_soc: fix typos

5 years agogen/sim/core: add args support on Display
Florent Kermarrec [Sun, 9 Dec 2018 08:46:10 +0000 (09:46 +0100)]
gen/sim/core: add args support on Display

5 years agogen/fhdl: add simulation Display, Finish support.
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.

5 years agobuild/sim: add coverage parameter to enable code coverage
Florent Kermarrec [Sun, 9 Dec 2018 07:10:50 +0000 (08:10 +0100)]
build/sim: add coverage parameter to enable code coverage

5 years agosoc/interconnect/stream: add support for buffered async fifo
Florent Kermarrec [Sat, 8 Dec 2018 00:24:08 +0000 (01:24 +0100)]
soc/interconnect/stream: add support for buffered async fifo

5 years agogen: integrate migen changes
Florent Kermarrec [Tue, 4 Dec 2018 20:06:51 +0000 (21:06 +0100)]
gen: integrate migen changes

5 years agosoc/interconnect/stream/gearbox: remove bit reversing by changing words order
Florent Kermarrec [Fri, 30 Nov 2018 22:12:30 +0000 (23:12 +0100)]
soc/interconnect/stream/gearbox: remove bit reversing by changing words order

5 years agoMerge branch 'master' of http://github.com/enjoy-digital/litex
Florent Kermarrec [Tue, 27 Nov 2018 16:45:07 +0000 (17:45 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex

5 years agobuild/xilinx/vivado: disable xpm by default (can be enabled by passing enable_xpm...
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.

5 years agoMerge pull request #130 from jfng/master
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

5 years agotargets/ulx3s, versa_ecp5: use ECP5PLL
Florent Kermarrec [Tue, 27 Nov 2018 16:31:53 +0000 (17:31 +0100)]
targets/ulx3s, versa_ecp5: use ECP5PLL

5 years agolitex_sim: add --trace argument
Jean-François Nguyen [Tue, 27 Nov 2018 16:26:32 +0000 (17:26 +0100)]
litex_sim: add --trace argument

5 years agocores/clock: test and fix ECP5PLL, phase still not implemented.
Florent Kermarrec [Tue, 27 Nov 2018 16:24:22 +0000 (17:24 +0100)]
cores/clock: test and fix ECP5PLL, phase still not implemented.

5 years agoboards/platforms/ulx3s: add gpios 0-3
Florent Kermarrec [Tue, 27 Nov 2018 13:15:35 +0000 (14:15 +0100)]
boards/platforms/ulx3s: add gpios 0-3

5 years agobios/sdram: flush l2 cache only when present
Florent Kermarrec [Mon, 26 Nov 2018 17:37:45 +0000 (18:37 +0100)]
bios/sdram: flush l2 cache only when present

5 years agobios: allow testing main_ram at init when using an external controller
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

5 years agobuild/microsemi/libero_soc: small cleanup
Florent Kermarrec [Mon, 26 Nov 2018 10:35:06 +0000 (11:35 +0100)]
build/microsemi/libero_soc: small cleanup

5 years agoMerge pull request #128 from mithro/small-fix
enjoy-digital [Mon, 26 Nov 2018 08:48:10 +0000 (09:48 +0100)]
Merge pull request #128 from mithro/small-fix

Two small fixes

5 years agostream.Endpoint: Pass extra arguments to superclass.
Tim 'mithro' Ansell [Sun, 25 Nov 2018 20:57:11 +0000 (12:57 -0800)]
stream.Endpoint: Pass extra arguments to superclass.

5 years agowishbone.SRAM: Support non-32bit wishbone widths.
Tim 'mithro' Ansell [Sun, 25 Nov 2018 20:56:37 +0000 (12:56 -0800)]
wishbone.SRAM: Support non-32bit wishbone widths.

5 years agocores/clock: add ECP5PLL
Florent Kermarrec [Fri, 23 Nov 2018 23:47:38 +0000 (00:47 +0100)]
cores/clock: add ECP5PLL

5 years agosoc/interconnect/stream/gearbox: inverse bit order
Florent Kermarrec [Fri, 23 Nov 2018 17:34:24 +0000 (18:34 +0100)]
soc/interconnect/stream/gearbox: inverse bit order

5 years agosoc/cores/spi_flash: add missing endianness parameter
Florent Kermarrec [Fri, 23 Nov 2018 17:33:53 +0000 (18:33 +0100)]
soc/cores/spi_flash: add missing endianness parameter

5 years agoplatforms/avalanche: add IOStandard on ddram pins
Florent Kermarrec [Fri, 23 Nov 2018 11:47:45 +0000 (12:47 +0100)]
platforms/avalanche: add IOStandard on ddram pins

5 years agobuild/microsemi/libero_soc: associate timings constraints with synthesis/place&route...
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

5 years agobuild/microsemi/libero_soc: add additional_timing_constraints
Florent Kermarrec [Fri, 23 Nov 2018 08:04:42 +0000 (09:04 +0100)]
build/microsemi/libero_soc: add additional_timing_constraints

5 years agobuild/microsemi/libero_soc: use die/package/speed from platform.device and add tcl_na...
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

5 years agoplatforms/avalanche: add package/speed to platform.device
Florent Kermarrec [Fri, 23 Nov 2018 07:24:29 +0000 (08:24 +0100)]
platforms/avalanche: add package/speed to platform.device

5 years agobuild/microsemi/libero_soc: remove previous impl directory if exists
Florent Kermarrec [Fri, 23 Nov 2018 07:11:57 +0000 (08:11 +0100)]
build/microsemi/libero_soc: remove previous impl directory if exists

5 years agobuild/microsemi/libero_soc: give better names to pdc files: io/fp
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

5 years agobuild/microsemi/libero_soc: add additional_constraints
Florent Kermarrec [Thu, 22 Nov 2018 17:40:19 +0000 (18:40 +0100)]
build/microsemi/libero_soc: add additional_constraints

5 years agoplatforms/avalanche: fix ddram dq7
Florent Kermarrec [Thu, 22 Nov 2018 17:13:33 +0000 (18:13 +0100)]
platforms/avalanche: fix ddram dq7

5 years agobuild/microsemi/libero_soc: add {} around port name.
Florent Kermarrec [Thu, 22 Nov 2018 16:37:03 +0000 (17:37 +0100)]
build/microsemi/libero_soc: add {} around port name.

5 years agoutils/litex_read_verilog: fix generated indent on instance
Florent Kermarrec [Thu, 22 Nov 2018 16:33:46 +0000 (17:33 +0100)]
utils/litex_read_verilog: fix generated indent on instance

5 years agosoc/integration/soc_core: add csr_map_update function
Florent Kermarrec [Wed, 21 Nov 2018 07:39:52 +0000 (08:39 +0100)]
soc/integration/soc_core: add csr_map_update function

5 years agoMerge pull request #127 from cr1901/picorv32-data
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.

5 years agolibbase/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.

5 years agobuild/sim/verilator: add trace parameter to enable tracer
Florent Kermarrec [Tue, 20 Nov 2018 17:49:01 +0000 (18:49 +0100)]
build/sim/verilator: add trace parameter to enable tracer

5 years agosoc_core: convert cpu_type="None" string to None
Florent Kermarrec [Tue, 20 Nov 2018 16:45:11 +0000 (17:45 +0100)]
soc_core: convert cpu_type="None" string to None

5 years agobuild/microsemi/libero_soc: only associate timings constraint to timing check (otherw...
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

5 years agobuild/microsemi/common: add async reset synchronizer (using DFN1P0)
Florent Kermarrec [Mon, 19 Nov 2018 12:15:34 +0000 (13:15 +0100)]
build/microsemi/common: add async reset synchronizer (using DFN1P0)

5 years agobuild/microsemi/libero_soc: pass timing constraints to synthesis, place & route and...
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

5 years agobuild/microsemi/libero_soc: add timing constraints support
Florent Kermarrec [Mon, 19 Nov 2018 08:40:16 +0000 (09:40 +0100)]
build/microsemi/libero_soc: add timing constraints support

5 years agoboards/platforms/avalanche: fix swapped serial pins
Florent Kermarrec [Mon, 19 Nov 2018 07:45:55 +0000 (08:45 +0100)]
boards/platforms/avalanche: fix swapped serial pins

5 years agoboards/platforms/avalanche: rename rst to rst_n (active low reset)
Florent Kermarrec [Mon, 19 Nov 2018 07:11:29 +0000 (08:11 +0100)]
boards/platforms/avalanche: rename rst to rst_n (active low reset)

5 years agobuild/microsemi/libero_soc: associate .pdc to place and route tool.
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.

5 years agotest/test_targets: update
Florent Kermarrec [Sat, 17 Nov 2018 16:36:57 +0000 (17:36 +0100)]
test/test_targets: update

5 years agosoc/interconnect/stream: add Gearbox
Florent Kermarrec [Sat, 17 Nov 2018 16:29:45 +0000 (17:29 +0100)]
soc/interconnect/stream: add Gearbox