litex.git
4 years agoMerge pull request #427 from enjoy-digital/s7mmcm_fractional_divide
enjoy-digital [Fri, 13 Mar 2020 17:06:23 +0000 (18:06 +0100)]
Merge pull request #427 from enjoy-digital/s7mmcm_fractional_divide

cores/clock: simplify Fractional Divide support on S7MMCM.

4 years agocores/clock: simplify Fractional Divide support on S7MMCM.
Florent Kermarrec [Fri, 13 Mar 2020 14:51:18 +0000 (15:51 +0100)]
cores/clock: simplify Fractional Divide support on S7MMCM.

Specific clkoutn_divide_range can now be provided by specialized XilinxClocking classes.
When provided, the specific range will be used. Floats are also now supported in the
range definition/iteration.

4 years agoMerge pull request #421 from betrusted-io/clk0_fractional
enjoy-digital [Fri, 13 Mar 2020 13:15:24 +0000 (14:15 +0100)]
Merge pull request #421 from betrusted-io/clk0_fractional

add fractional division options to clk0 config on PLL

4 years agotest: add initial (minimal) test for clock abstraction modules.
Florent Kermarrec [Fri, 13 Mar 2020 11:24:36 +0000 (12:24 +0100)]
test: add initial (minimal) test for clock abstraction modules.

Also fix divclk_divide_range on S6DCM.

4 years agotargets/icebreaker: add description of the board, link to crowdsupply campagin and...
Florent Kermarrec [Fri, 13 Mar 2020 08:37:23 +0000 (09:37 +0100)]
targets/icebreaker: add description of the board, link to crowdsupply campagin and to the more complete example.

4 years agoMerge pull request #426 from esden/update-wavedrom
Sean Cross [Fri, 13 Mar 2020 05:44:13 +0000 (13:44 +0800)]
Merge pull request #426 from esden/update-wavedrom

Updating the vendored wavedrom js files.

4 years agoUpdating the vendored wavedrom js files.
Piotr Esden-Tempski [Fri, 13 Mar 2020 05:35:04 +0000 (22:35 -0700)]
Updating the vendored wavedrom js files.

4 years agosoc/intergration: rename mr_memory_x parameter to memory_x.
Florent Kermarrec [Thu, 12 Mar 2020 11:20:48 +0000 (12:20 +0100)]
soc/intergration: rename mr_memory_x parameter to memory_x.

4 years agoMerge pull request #424 from esden/generate-memory-x
enjoy-digital [Thu, 12 Mar 2020 11:12:48 +0000 (12:12 +0100)]
Merge pull request #424 from esden/generate-memory-x

Add --mr-memory-x parameter to generate memory regions memory.x file

4 years agoAdd --mr-memory-x parameter to generate memory regions memory.x file.
Piotr Esden-Tempski [Thu, 12 Mar 2020 01:07:33 +0000 (18:07 -0700)]
Add --mr-memory-x parameter to generate memory regions memory.x file.

This file is used by rust embedded target pacs.

4 years agoMerge branch 'master' of http://github.com/enjoy-digital/litex
Florent Kermarrec [Wed, 11 Mar 2020 11:57:29 +0000 (12:57 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex

4 years agosoftware: revert LTO changes (Disable it).
Florent Kermarrec [Wed, 11 Mar 2020 11:56:40 +0000 (12:56 +0100)]
software: revert LTO changes (Disable it).

It seems LTO is not yet fully working with all configurations, so it's better
reverting the changes for now.
- cause issues with LM32 available compilers.
- seems to cause issues with min/lite variant of VexRiscv.
- seems to cause issues with some litex-buildenv configurations. (see https://github.com/enjoy-digital/litex/issues/417).

4 years agoMerge pull request #422 from xobs/core-doc-fixes
Sean Cross [Wed, 11 Mar 2020 11:38:42 +0000 (19:38 +0800)]
Merge pull request #422 from xobs/core-doc-fixes

Core doc fixes

4 years agoMerge pull request #423 from gsomlo/gls-ethmac-fixes
enjoy-digital [Wed, 11 Mar 2020 11:33:50 +0000 (12:33 +0100)]
Merge pull request #423 from gsomlo/gls-ethmac-fixes

integration/soc: add_ethernet: honor self.map["ethmac"], if present

4 years agocores/gpio: add CSR descriptions.
Florent Kermarrec [Wed, 11 Mar 2020 11:06:15 +0000 (12:06 +0100)]
cores/gpio: add CSR descriptions.

4 years agocores/icap: add CSR descriptions.
Florent Kermarrec [Wed, 11 Mar 2020 10:04:42 +0000 (11:04 +0100)]
cores/icap: add CSR descriptions.

4 years agocores/spi: add CSR descriptions.
Florent Kermarrec [Wed, 11 Mar 2020 09:58:22 +0000 (10:58 +0100)]
cores/spi: add CSR descriptions.

4 years agocores/pwm: add CSR descriptions.
Florent Kermarrec [Wed, 11 Mar 2020 09:38:28 +0000 (10:38 +0100)]
cores/pwm: add CSR descriptions.

4 years agocores/xadc: add CSR descriptions.
Florent Kermarrec [Wed, 11 Mar 2020 09:05:14 +0000 (10:05 +0100)]
cores/xadc: add CSR descriptions.

4 years agointegration/soc: add_ethernet: honor self.map["ethmac"], if present
Gabriel Somlo [Tue, 10 Mar 2020 23:45:45 +0000 (19:45 -0400)]
integration/soc: add_ethernet: honor self.map["ethmac"], if present

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
4 years agotargets/kcu105: move cd_pll4x.
Florent Kermarrec [Tue, 10 Mar 2020 16:02:28 +0000 (17:02 +0100)]
targets/kcu105: move cd_pll4x.

4 years agotargets/kcu105: simplify CRG using USIDELAYCTRL.
Florent Kermarrec [Tue, 10 Mar 2020 15:48:07 +0000 (16:48 +0100)]
targets/kcu105: simplify CRG using USIDELAYCTRL.

4 years agocores/clock/USIDELAYCTRL: use separate reset/ready counters and set cd_sys.rst intern...
Florent Kermarrec [Tue, 10 Mar 2020 15:45:38 +0000 (16:45 +0100)]
cores/clock/USIDELAYCTRL: use separate reset/ready counters and set cd_sys.rst internally.

This is the behaviour that was duplicated in each target. Integrating it here
will allow simplifying the targets.

4 years agosoc/cores/spi_opi: documentation fixes
Sean Cross [Tue, 10 Mar 2020 12:40:04 +0000 (20:40 +0800)]
soc/cores/spi_opi: documentation fixes

The ModuleDoc-generated documentation for the spi_opi module produced
slightly invalid output due to ambiguities in how rst assigns headers.
As a result, sections from the spi_opi document would appear as full
sections.

This cleans up these errors so that it parses properly under sphinx.

Signed-off-by: Sean Cross <sean@xobs.io>
4 years agosoc/cores/i2s: fix rst parsing errors
Sean Cross [Tue, 10 Mar 2020 12:37:55 +0000 (20:37 +0800)]
soc/cores/i2s: fix rst parsing errors

The ModuleDoc-generated documentation for the i2s module produced
slightly invalid output due to ambiguities in how rst assigns headers.
As a result, sections from the i2s document would appear as full
sections.

This cleans up these errors so that it parses properly under sphinx.

Signed-off-by: Sean Cross <sean@xobs.io>
4 years agobios: add more Ultrascale SDRAM debug with sdram_cdly command to set clk/cmd delay.
Florent Kermarrec [Tue, 10 Mar 2020 12:08:49 +0000 (13:08 +0100)]
bios: add more Ultrascale SDRAM debug with sdram_cdly command to set clk/cmd delay.

4 years agoadd fractional division options to clk0 config on PLL
bunnie [Tue, 10 Mar 2020 10:48:30 +0000 (18:48 +0800)]
add fractional division options to clk0 config on PLL

S7 MMCMs allow fractional divider on clock 0. Add a fallback
to try fractional values on clock 0 if a solution can't be found.

This is necessary for e.g. generating both a 100MHz and 48MHz
clock from a 12MHz source with margin=0

4 years agoMerge pull request #419 from gsomlo/gls-ultra-sdram-fixup
enjoy-digital [Tue, 10 Mar 2020 10:43:23 +0000 (11:43 +0100)]
Merge pull request #419 from gsomlo/gls-ultra-sdram-fixup

software/bios: fixup for Ultrascale SDRAM debug

4 years agocores/clock: add logging to visualize clkin/clkouts and computed config.
Florent Kermarrec [Tue, 10 Mar 2020 10:11:33 +0000 (11:11 +0100)]
cores/clock: add logging to visualize clkin/clkouts and computed config.

4 years agointegration/soc: add FPGA device and System clock to logs.
Florent Kermarrec [Tue, 10 Mar 2020 10:10:23 +0000 (11:10 +0100)]
integration/soc: add FPGA device and System clock to logs.

4 years agotargets/icebreaker: create CRG after SoC.
Florent Kermarrec [Tue, 10 Mar 2020 10:09:56 +0000 (11:09 +0100)]
targets/icebreaker: create CRG after SoC.

4 years agosoftware/bios: fixup for Ultrascale SDRAM debug
Gabriel Somlo [Mon, 9 Mar 2020 14:24:30 +0000 (10:24 -0400)]
software/bios: fixup for Ultrascale SDRAM debug

Keep CSR accesses independent of csr_data_width and csr_alignment.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
4 years agointegration/soc: set use_rom when cpu_reset_address is defined in a rom region.
Florent Kermarrec [Mon, 9 Mar 2020 18:36:39 +0000 (19:36 +0100)]
integration/soc: set use_rom when cpu_reset_address is defined in a rom region.

4 years agoboards/platforms/icebreaker: cleanup a bit.
Florent Kermarrec [Mon, 9 Mar 2020 18:16:02 +0000 (19:16 +0100)]
boards/platforms/icebreaker: cleanup a bit.

4 years agosoftware/common: fix LTO checks.
Florent Kermarrec [Mon, 9 Mar 2020 18:08:27 +0000 (19:08 +0100)]
software/common: fix LTO checks.

4 years agosoc/cores/clock/iCE40PLL: add SB_PLL40_PAD support.
Florent Kermarrec [Mon, 9 Mar 2020 18:03:05 +0000 (19:03 +0100)]
soc/cores/clock/iCE40PLL: add SB_PLL40_PAD support.

4 years agobuild/lattice/icestorm: add timingstrict parameter and default to False. (similar...
Florent Kermarrec [Mon, 9 Mar 2020 18:02:23 +0000 (19:02 +0100)]
build/lattice/icestorm: add timingstrict parameter and default to False. (similar behavior than others backends)

4 years agotargets/icebreaker: simplify, use standard VexRiscv, add iCE40PLL and run BIOS from...
Florent Kermarrec [Mon, 9 Mar 2020 16:02:29 +0000 (17:02 +0100)]
targets/icebreaker: simplify, use standard VexRiscv, add iCE40PLL and run BIOS from SPI Flash.

4 years agolattice/icestorm: enable DSP inference with Yosys and avoid setting SPI Flash in...
Florent Kermarrec [Mon, 9 Mar 2020 15:51:11 +0000 (16:51 +0100)]
lattice/icestorm: enable DSP inference with Yosys and avoid setting SPI Flash in deep sleep mode after configuration which prevent running ROM CPU code from SPI Flash.

4 years agoboards: add initial icebreaker platform/target from litex-boards.
Florent Kermarrec [Mon, 9 Mar 2020 10:56:55 +0000 (11:56 +0100)]
boards: add initial icebreaker platform/target from litex-boards.

4 years agosoftware/bios: add Ultrascale SDRAM debug functions.
Florent Kermarrec [Mon, 9 Mar 2020 09:55:31 +0000 (10:55 +0100)]
software/bios: add Ultrascale SDRAM debug functions.

4 years agoboards/platforms/kcu105: avoid unnecessary {{}} on INTERNAL_VREF.
Florent Kermarrec [Mon, 9 Mar 2020 08:37:31 +0000 (09:37 +0100)]
boards/platforms/kcu105: avoid unnecessary {{}} on INTERNAL_VREF.

4 years agointegration/soc/SoCRegion: add size_pow2 and use this internally for checks since...
Florent Kermarrec [Sun, 8 Mar 2020 18:17:31 +0000 (19:17 +0100)]
integration/soc/SoCRegion: add size_pow2 and use this internally for checks since decoder is using rounded size to next power or 2.

4 years agosoc: allow creating SoC without BIOS.
Florent Kermarrec [Fri, 6 Mar 2020 19:05:27 +0000 (20:05 +0100)]
soc: allow creating SoC without BIOS.

By default the behaviour is unchanged and the SoC will provide a ROM:
./arty.py

Bus Regions: (4)
rom                 : Origin: 0x00000000, Size: 0x00008000, Mode: R, Cached: True Linker: False
sram                : Origin: 0x01000000, Size: 0x00001000, Mode: RW, Cached: True Linker: False
main_ram            : Origin: 0x40000000, Size: 0x10000000, Mode: RW, Cached: True Linker: False
csr                 : Origin: 0x82000000, Size: 0x00010000, Mode: RW, Cached: False Linker: False

The integrated rom can be disabled with:
./arty.py --integrated-rom-size=0

but the SoC builder will check for a user provided rom, and if not provided will complains:
ERROR:SoC:CPU needs rom Region to be defined as Bus or Linker Region.

When a rom is provided, the CPU will use the rom base address as cpu_reset_address.

If the user just wants the CPU to start at a specified address without providing a rom,
the cpu_reset_address parameter can be used:

./arty.py --integrated-rom-size=0 --cpu-reset-address=0x01000000

If the provided reset address is not located in any defined Region, an error will
be produced:
ERROR:SoC:CPU needs reset address 0x00000000 to be in a defined Region.

When no rom is provided, the builder will not build the BIOS.

4 years agoMerge pull request #416 from enjoy-digital/csr_svd
enjoy-digital [Fri, 6 Mar 2020 18:00:13 +0000 (19:00 +0100)]
Merge pull request #416 from enjoy-digital/csr_svd

Add SVD export capability to Builder (csr_svd parameter) and targets …

4 years agointegration/builder: rename software methods to _prepare_rom_software/_generate_rom_s...
Florent Kermarrec [Fri, 6 Mar 2020 13:53:59 +0000 (14:53 +0100)]
integration/builder: rename software methods to _prepare_rom_software/_generate_rom_software/_initialize_rom_software.

4 years agointegration/builder: generate csr maps before compiling software.
Florent Kermarrec [Fri, 6 Mar 2020 13:20:32 +0000 (14:20 +0100)]
integration/builder: generate csr maps before compiling software.

4 years agoAdd SVD export capability to Builder (csr_svd parameter) and targets (--csr-svd argum...
Florent Kermarrec [Fri, 6 Mar 2020 07:36:52 +0000 (08:36 +0100)]
Add SVD export capability to Builder (csr_svd parameter) and targets (--csr-svd argument) and fix svd regression.

This allows generating SVD export files during the build as we are already doing for .csv or .json.

Use with Builder:
builder = Builder(soc, csr_svd="csr.svd")

Use with target:
./arty.py --csr-svd=csr.svd

4 years agosoftware/common.mak: fix LTO refactoring issue.
Florent Kermarrec [Thu, 5 Mar 2020 22:42:16 +0000 (23:42 +0100)]
software/common.mak: fix LTO refactoring issue.

4 years agoMerge pull request #412 from antmicro/fix-copyrights
enjoy-digital [Thu, 5 Mar 2020 18:05:02 +0000 (19:05 +0100)]
Merge pull request #412 from antmicro/fix-copyrights

Fix copyrights

4 years agoFix copyrights
Karol Gugala [Thu, 5 Mar 2020 16:44:10 +0000 (17:44 +0100)]
Fix copyrights

Signed-off-by: Karol Gugala <kgugala@antmicro.com>
Signed-off-by: Mateusz Holenko <mholenko@antmicro.com>
4 years agoMerge pull request #408 from gsomlo/gls-fix-nexys-sdcard
enjoy-digital [Thu, 5 Mar 2020 14:22:40 +0000 (15:22 +0100)]
Merge pull request #408 from gsomlo/gls-fix-nexys-sdcard

targets/nexys4ddr: fix sdcard clocker initialization

4 years agotargets/nexys4ddr: fix sdcard clocker initialization
Gabriel Somlo [Wed, 4 Mar 2020 18:38:02 +0000 (13:38 -0500)]
targets/nexys4ddr: fix sdcard clocker initialization

4 years agoMerge pull request #410 from antmicro/netv2-edid
enjoy-digital [Thu, 5 Mar 2020 10:43:02 +0000 (11:43 +0100)]
Merge pull request #410 from antmicro/netv2-edid

platform/netv2: add proper I2C pins for HDMI IN0

4 years agoplatform/netv2: add proper I2C pins for HDMI IN0
Piotr Binkowski [Thu, 5 Mar 2020 10:27:47 +0000 (11:27 +0100)]
platform/netv2: add proper I2C pins for HDMI IN0

4 years agotargets/ecp5: make sure all BaseSoC/EthernetSoc default to trellis.
Florent Kermarrec [Thu, 5 Mar 2020 10:19:29 +0000 (11:19 +0100)]
targets/ecp5: make sure all BaseSoC/EthernetSoc default to trellis.

4 years agobios/sdcard: update sdclk_mmcm_write with LiteSDCard clocker changes.
Florent Kermarrec [Wed, 4 Mar 2020 17:33:08 +0000 (18:33 +0100)]
bios/sdcard: update sdclk_mmcm_write with LiteSDCard clocker changes.

4 years agodoc: align to improve readability.
Florent Kermarrec [Wed, 4 Mar 2020 15:31:41 +0000 (16:31 +0100)]
doc: align to improve readability.

4 years agosoc/doc: remove soc.get_csr_regions support.
Florent Kermarrec [Wed, 4 Mar 2020 15:27:11 +0000 (16:27 +0100)]
soc/doc: remove soc.get_csr_regions support.

Now that SoC documentation is integrated in LiteX, this is no longer needed.

4 years agobios/main: rename flushl2 command to flush_l2_cache, add flush_cpu_dcache command...
Florent Kermarrec [Wed, 4 Mar 2020 14:53:18 +0000 (15:53 +0100)]
bios/main: rename flushl2 command to flush_l2_cache, add flush_cpu_dcache command and expose them in help.

4 years agoREADME: update quick start guide and add instructions for windows.
Florent Kermarrec [Wed, 4 Mar 2020 14:21:43 +0000 (15:21 +0100)]
README: update quick start guide and add instructions for windows.

4 years agoREADME: update
Florent Kermarrec [Wed, 4 Mar 2020 11:16:03 +0000 (12:16 +0100)]
README: update
- improve presentation
- add link to #litex freenode channel.
- add example of complex SoC.
- make it directly usable on Wiki.
- only keep one quick start guide.
- add community paragraph and link to Litex-Hub.

4 years agodoc: remove partial doc imported from litex-buildenv-wiki: we'll create a LiteX wiki...
Florent Kermarrec [Wed, 4 Mar 2020 09:53:44 +0000 (10:53 +0100)]
doc: remove partial doc imported from litex-buildenv-wiki: we'll create a LiteX wiki and doc.

4 years agobuild: assume vendor tools are in the PATH and remove automatic sourcing, source...
Florent Kermarrec [Wed, 4 Mar 2020 08:06:27 +0000 (09:06 +0100)]
build: assume vendor tools are in the PATH and remove automatic sourcing, source and toolchain_path parameters.

Automatic sourcing was not consistent between build backends (and only really supported by ISE/Vivado)
and had no real additional value vs the complexity needed to support it. Now just assume required vendor
tools are in the PATH.

This also removes distutils dependency.

4 years agosoftware/common: add LTO enable flag and cleanup.
Florent Kermarrec [Wed, 4 Mar 2020 07:11:21 +0000 (08:11 +0100)]
software/common: add LTO enable flag and cleanup.

4 years agolitex_sim: fix with_uart parameter.
Florent Kermarrec [Tue, 3 Mar 2020 18:04:18 +0000 (19:04 +0100)]
litex_sim: fix with_uart parameter.

4 years agotargets/nexys4ddr: add default kwargs parameters.
Florent Kermarrec [Mon, 2 Mar 2020 08:44:20 +0000 (09:44 +0100)]
targets/nexys4ddr: add default kwargs parameters.

4 years agoMerge branch 'master' of https://github.com/enjoy-digital/litex
Florent Kermarrec [Mon, 2 Mar 2020 08:31:45 +0000 (09:31 +0100)]
Merge branch 'master' of https://github.com/enjoy-digital/litex

4 years agointegration/soc_core: change disable parameters to no-xxyy.
Florent Kermarrec [Mon, 2 Mar 2020 08:31:32 +0000 (09:31 +0100)]
integration/soc_core: change disable parameters to no-xxyy.

4 years agoMerge pull request #405 from sajattack/sifive-triple
enjoy-digital [Mon, 2 Mar 2020 08:30:05 +0000 (09:30 +0100)]
Merge pull request #405 from sajattack/sifive-triple

add riscv-sifive-elf triple

4 years agointegration/soc: add auto_int type and use it on all int parameters.
Florent Kermarrec [Mon, 2 Mar 2020 08:07:31 +0000 (09:07 +0100)]
integration/soc: add auto_int type and use it on all int parameters.

Allow passing parameters as int or hex values.

4 years agotargets/nexys4ddr: use SoCCore and add_sdram to avoid use of specific SoCSDRAM.
Florent Kermarrec [Mon, 2 Mar 2020 08:01:05 +0000 (09:01 +0100)]
targets/nexys4ddr: use SoCCore and add_sdram to avoid use of specific SoCSDRAM.

4 years agointegration/soc: add ethphy CSR in target.
Florent Kermarrec [Mon, 2 Mar 2020 07:42:59 +0000 (08:42 +0100)]
integration/soc: add ethphy CSR in target.

4 years agotargets/nexys4ddr: use soc.add_ethernet method.
Florent Kermarrec [Sun, 1 Mar 2020 19:50:44 +0000 (20:50 +0100)]
targets/nexys4ddr: use soc.add_ethernet method.

4 years agointegration/soc: add add_ethernet method.
Florent Kermarrec [Sun, 1 Mar 2020 19:50:13 +0000 (20:50 +0100)]
integration/soc: add add_ethernet method.

4 years agointegration/soc: mode litedram imports to add_sdram, remove some separators.
Florent Kermarrec [Sun, 1 Mar 2020 17:58:55 +0000 (18:58 +0100)]
integration/soc: mode litedram imports to add_sdram, remove some separators.

4 years agoadd riscv-sifive-elf triple
Paul Sajna [Sun, 1 Mar 2020 09:39:03 +0000 (01:39 -0800)]
add riscv-sifive-elf triple

4 years agotest/test_targets: use uart-name=stub.
Florent Kermarrec [Sat, 29 Feb 2020 10:07:06 +0000 (11:07 +0100)]
test/test_targets: use uart-name=stub.

4 years agosoc/uart: add configurable UART FIFO depth.
Florent Kermarrec [Fri, 28 Feb 2020 21:34:11 +0000 (22:34 +0100)]
soc/uart: add configurable UART FIFO depth.

4 years agocores/uart: cleanup
Florent Kermarrec [Fri, 28 Feb 2020 21:11:51 +0000 (22:11 +0100)]
cores/uart: cleanup

4 years agosoc/cores/uart/UARTCrossover: reduce fifo_depth to 1.
Florent Kermarrec [Fri, 28 Feb 2020 21:03:40 +0000 (22:03 +0100)]
soc/cores/uart/UARTCrossover: reduce fifo_depth to 1.

4 years agointerconnect/stream/SyncFIFO: allow depth down to 0.
Florent Kermarrec [Fri, 28 Feb 2020 19:03:47 +0000 (20:03 +0100)]
interconnect/stream/SyncFIFO: allow depth down to 0.

4 years agointerconnect/axi: remove Record inheritance on AXIInterface/AXILiteInterface.
Florent Kermarrec [Fri, 28 Feb 2020 15:33:18 +0000 (16:33 +0100)]
interconnect/axi: remove Record inheritance on AXIInterface/AXILiteInterface.

4 years agointerconnect/axi: add AXI Stream definition and get_ios/connect_to_pads methods.
Florent Kermarrec [Fri, 28 Feb 2020 15:25:09 +0000 (16:25 +0100)]
interconnect/axi: add AXI Stream definition and get_ios/connect_to_pads methods.

4 years agointerconnect/axi: set default data_width/address_width to 32-bit.
Florent Kermarrec [Fri, 28 Feb 2020 12:19:10 +0000 (13:19 +0100)]
interconnect/axi: set default data_width/address_width to 32-bit.

4 years agotargets: default to trellis toolchain on all ECP5 targets (now able to build all...
Florent Kermarrec [Fri, 28 Feb 2020 08:48:48 +0000 (09:48 +0100)]
targets: default to trellis toolchain on all ECP5 targets (now able to build all supported targets).

4 years agocores/gpio: use separate TSTriple for each bit.
Florent Kermarrec [Fri, 28 Feb 2020 08:10:28 +0000 (09:10 +0100)]
cores/gpio: use separate TSTriple for each bit.

This fixes per bit OE control.

4 years agolattice/yosys: don't use quiet operation since logs are useful and for consistency...
Florent Kermarrec [Fri, 28 Feb 2020 07:32:29 +0000 (08:32 +0100)]
lattice/yosys: don't use quiet operation since logs are useful and for consistency with others build backends.

4 years agotargets/kc705: use DDRPHY_CMD_DELAY to center write leveling.
Florent Kermarrec [Thu, 27 Feb 2020 12:00:35 +0000 (13:00 +0100)]
targets/kc705: use DDRPHY_CMD_DELAY to center write leveling.

4 years agosoftware/bios/sdram: allow setting CLK/CMD delay from user design and configure it...
Florent Kermarrec [Thu, 27 Feb 2020 11:25:37 +0000 (12:25 +0100)]
software/bios/sdram: allow setting CLK/CMD delay from user design and configure it before write/read leveling.

Setting a manual delay on CLK/CMD vs DQ/DQS is required on some configuration to center the write leveling window:

Before (delay = 0 taps):
Write leveling:
m0: |11000000000000011111111111| delay: 15
m1: |00000000000000111111111111| delay: 14
m2: |11110000000000000111111111| delay: 17
m3: |11110000000000000011111111| delay: 18
m4: |11111111110000000000000111| delay: 00
m5: |11111111110000000000000111| delay: 00
m6: |11111111111000000000000001| delay: 00
m7: |11111111111000000000000011| delay: 00

After (delay = 12 taps):
Write leveling:
m0: |11111111111111000000000000| delay: 00
m1: |11111111111100000000000001| delay: 00
m2: |00011111111111110000000000| delay: 03
m3: |00011111111111110000000000| delay: 03
m4: |00000000111111111111110000| delay: 08
m5: |00000000111111111111110000| delay: 08
m6: |00000000001111111111111000| delay: 10
m7: |00000000001111111111111000| delay: 10

4 years agoboards: keep in sync with LiteX-boards
Florent Kermarrec [Thu, 27 Feb 2020 10:18:14 +0000 (11:18 +0100)]
boards: keep in sync with LiteX-boards

4 years agointerconnect/axi: remove mode on AXIInterface (not used and breaking LiteDRAM tests)
Florent Kermarrec [Wed, 26 Feb 2020 14:13:16 +0000 (15:13 +0100)]
interconnect/axi: remove mode on AXIInterface (not used and breaking LiteDRAM tests)

4 years agointegration/soc: -x on soc.py
Florent Kermarrec [Wed, 26 Feb 2020 13:43:01 +0000 (14:43 +0100)]
integration/soc: -x on soc.py

4 years agosoc/cores/bitbang: fix missing self.comb on miso.
Florent Kermarrec [Tue, 25 Feb 2020 14:56:27 +0000 (15:56 +0100)]
soc/cores/bitbang: fix missing self.comb on miso.

4 years agoMerge pull request #402 from antmicro/litex-gen-fix-uart-pins
enjoy-digital [Tue, 25 Feb 2020 14:53:13 +0000 (15:53 +0100)]
Merge pull request #402 from antmicro/litex-gen-fix-uart-pins

tools: litex_gen: fix missing UART pins

4 years agosoftware: disable LTO with LM32 (not supported by old GCC versions easily available).
Florent Kermarrec [Tue, 25 Feb 2020 14:31:27 +0000 (15:31 +0100)]
software: disable LTO with LM32 (not supported by old GCC versions easily available).

4 years agoMerge pull request #401 from antmicro/enable-lto
enjoy-digital [Tue, 25 Feb 2020 14:32:12 +0000 (15:32 +0100)]
Merge pull request #401 from antmicro/enable-lto

software: enable link time optimization (LTO)

4 years agotools: litex_gen: fix missing UART pins
Jan Kowalewski [Tue, 25 Feb 2020 13:24:29 +0000 (14:24 +0100)]
tools: litex_gen: fix missing UART pins

4 years agosoftware: enable link time optimization (LTO)
Tim 'mithro' Ansell [Tue, 27 Nov 2018 08:48:44 +0000 (00:48 -0800)]
software: enable link time optimization (LTO)

Co-authored-by: Pawel Czarnecki <pczarnecki@internships.antmicro.com>
4 years agoMerge pull request #400 from Xiretza/ecp5-pll-freqfix
enjoy-digital [Mon, 24 Feb 2020 13:49:35 +0000 (14:49 +0100)]
Merge pull request #400 from Xiretza/ecp5-pll-freqfix

Fix ECP5PLL VCO frequency range