litex.git
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 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 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

4 years agoFix ECP5PLL VCO frequency range
Xiretza [Mon, 24 Feb 2020 13:39:44 +0000 (14:39 +0100)]
Fix ECP5PLL VCO frequency range

See https://www.latticesemi.com/view_document?document_id=50461 ("ECP5
and ECP5-5G Family Data Sheet"), section 3.19 "sysCLOCK PLL Timing".

4 years agointegration/soc: improve presentation of SoCLocHandler's locations.
Florent Kermarrec [Mon, 24 Feb 2020 12:37:38 +0000 (13:37 +0100)]
integration/soc: improve presentation of SoCLocHandler's locations.

4 years agointerconnect/axi: remove bus_name on connect_to_pads
Florent Kermarrec [Mon, 24 Feb 2020 12:24:32 +0000 (13:24 +0100)]
interconnect/axi: remove bus_name on connect_to_pads

4 years agotools/litex_gen: add bus parameter and AXI (Lite) support.
Florent Kermarrec [Mon, 24 Feb 2020 11:49:42 +0000 (12:49 +0100)]
tools/litex_gen: add bus parameter and AXI (Lite) support.

4 years agolitex_gen/axi: simplify the way the bus is exposed as ios and connected to pads.
Florent Kermarrec [Mon, 24 Feb 2020 11:48:52 +0000 (12:48 +0100)]
litex_gen/axi: simplify the way the bus is exposed as ios and connected to pads.

4 years agolitex_gen/wishbone: simplify the way the bus is exposed as ios and connected to pads.
Florent Kermarrec [Mon, 24 Feb 2020 10:58:27 +0000 (11:58 +0100)]
litex_gen/wishbone: simplify the way the bus is exposed as ios and connected to pads.

4 years agotools: rename litex_extract to litex_gen (use similar name than litedram/liteeth...
Florent Kermarrec [Mon, 24 Feb 2020 09:25:18 +0000 (10:25 +0100)]
tools: rename litex_extract to litex_gen (use similar name than litedram/liteeth generators) and cleanup/simplify.

4 years agoMerge pull request #396 from antmicro/external-wb
enjoy-digital [Mon, 24 Feb 2020 09:01:16 +0000 (10:01 +0100)]
Merge pull request #396 from antmicro/external-wb

Add a script that allows to generate standalone cores

4 years agoMerge pull request #397 from gsomlo/gls-csr-volatile
enjoy-digital [Fri, 21 Feb 2020 20:08:22 +0000 (21:08 +0100)]
Merge pull request #397 from gsomlo/gls-csr-volatile

Add 'volatile' qualifier to new CSR accessors

4 years agoAdd 'volatile' qualifier to new CSR accessors
Gabriel Somlo [Thu, 6 Feb 2020 23:30:22 +0000 (18:30 -0500)]
Add 'volatile' qualifier to new CSR accessors

Through their use of the MMPTR() macro, the "classic"
csr_[read|write]simple() accsessors identify the MMIO
subregister with the 'volatile' qualifier.

Adjust the new, csr_[rd|wr]_uint[8|16|32|64]() accessors
to also utilize the 'volatile' qualifier. Since accesses
are implicit (a[i], where a is an 'unsigned long *'),
change 'a' to be a 'volatile unsigned long *' instead.

No difference was noticed in opcodes generated using the
gcc9 risc-v cross-compiler on x86_64 with standard LiteX
cflags (vexriscv and rocket were tested), but since
reports exist that 'volatile' matters on some combinations
of compilers and targets, add the 'volatile' qualifier just
to be on the safe side.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com
4 years agotools: add script for extracting wishbone cores
Piotr Binkowski [Fri, 21 Feb 2020 13:43:15 +0000 (14:43 +0100)]
tools: add script for extracting wishbone cores

4 years agoaxi: add to_pads method
Karol Gugala [Mon, 3 Feb 2020 13:38:24 +0000 (14:38 +0100)]
axi: add to_pads method

Signed-off-by: Karol Gugala <kgugala@antmicro.com>
4 years agowishbone: add extracting module signals to the top
Jan Kowalewski [Thu, 13 Feb 2020 15:41:11 +0000 (16:41 +0100)]
wishbone: add extracting module signals to the top

4 years agodoc/socdoc: fix example
Florent Kermarrec [Thu, 20 Feb 2020 18:47:15 +0000 (19:47 +0100)]
doc/socdoc: fix example

4 years agocpu/blackparrot: first cleanup pass
Florent Kermarrec [Thu, 20 Feb 2020 17:50:13 +0000 (18:50 +0100)]
cpu/blackparrot: first cleanup pass

4 years agointegration/soc: set base_address on LiteDRAMWishbone2Native, fix addressing with...
Florent Kermarrec [Thu, 20 Feb 2020 15:16:07 +0000 (16:16 +0100)]
integration/soc: set base_address on LiteDRAMWishbone2Native, fix addressing with >= 1GB SDRAMs.