Commit Graph

6280 Commits

Author SHA1 Message Date
Gabriel Somlo c4710b371a build/lattice/trellis: make "-abc9" an optional argument
Fix up earlier commit (#6c298cb7) and make the '-abc9' optional
argument to yosys' synth_ecp5 actually optional (and off by default)
in LiteX's trellis build infrastructure.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-08-15 16:49:08 -04:00
Florent Kermarrec 35929c0f8a soc/integration/csr_bridge: use registered version only when SDRAM is present.
Seems to be a good compromise for now.
2020-08-14 15:29:49 +02:00
Florent Kermarrec e4f5dd987e interconnect/wishbone/Wishbone2CSR: add registered version and use it as default. 2020-08-14 00:47:05 +02:00
Florent Kermarrec b344196aba build/lattice/diamond: use diamondc instead of pnmainc (avoid having to set environment variables).
http://www.latticesemi.com/en/Support/AnswerDatabase/5/5/2/5522
2020-08-14 00:10:56 +02:00
Dolu1990 f730f1d7ba
cores/cpu/vexriscv_smp fix argument parsing 2020-08-13 12:52:05 +02:00
Florent Kermarrec 0e480dd662 bios/main/sdram: fix speed reporting (Mbps/pin not MHz). 2020-08-11 22:13:14 +02:00
enjoy-digital bb7f33434e
Merge pull request #627 from gsomlo/gls-dma-addr-64
RFC: cores/dma, liblitesdcard/sdcard: use 64 bits for dma base address
2020-08-10 21:44:02 +02:00
Gabriel Somlo ba34c85284 cores/dma, liblitesdcard/sdcard: use 64 bits for dma base address
Make the DMA base address register 64-bit wide, to cover situations
in which the physical memory being accessed is above the 4GB limit
(e.g., on 64-bit systems with more than 4GB of provisioned physical
memory).

Also update DMA reader/writer setup call sites in the bios (currently
only used by litesdcard).

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-08-10 14:09:25 -04:00
Florent Kermarrec 4cf28a0107 software/bios: display SDRAM databits and freq. 2020-08-07 19:49:02 +02:00
Florent Kermarrec 6f69679d21 cpu/vexriscv_smp: more coherent_dma to __init__ instead of add_memory_buses.
LiteX is creating the SoC.dma_bus just after the CPU is declared, so declaring it in add_memory_buses was preventing it.
It's also more coherent to move it to __init__ since not related to the memory_buses.
2020-08-07 14:47:21 +02:00
Florent Kermarrec b3531cd2a8 cores/cpu: add external cpu_type.
Allows fully pluggable CPUs where cpu_type is set to "external" and cpu_cls provided externally.
2020-08-07 11:16:00 +02:00
Florent Kermarrec b9d3aab59d targets: use platform.request_all on LedChaser. 2020-08-06 20:02:17 +02:00
Florent Kermarrec 14c9166429 build/generic_platform: add request_all method. 2020-08-06 20:00:07 +02:00
Florent Kermarrec 57335b9971 cores/cpu/zynq7000: simplify using new loose parameter of Platform.request.
And avoid the try/except that can mask others errors.
2020-08-06 19:44:46 +02:00
enjoy-digital 4867f2b324
Merge pull request #624 from trabucayre/emio_zynq
soc/cores/cpu/zynq7000: add enet0, enet0_mdio, sdio, sdio_cd and sdio_wp only when configured in EMIO mode
2020-08-06 19:34:03 +02:00
Florent Kermarrec 48d63f2362 build/generic_plaform: add loose parameter to return None when not available/existing.
Similar to loose parameter already present on Platform.lookup_request.
2020-08-06 19:33:04 +02:00
enjoy-digital 81df7b7036
Merge pull request #625 from scanakci/blackparrot_litex
Blackparrot human name change (IMA), minor transducer fix
2020-08-06 18:50:39 +02:00
Florent Kermarrec 188e6f573a integration/soc/add_etherbone: pass phy to ethcore not self.ethphy.
Similar in most of the cases but added restrictions.
2020-08-06 18:23:04 +02:00
sadullah 2457859b2d update BlackParrot transducer 2020-08-06 12:21:38 -04:00
sadullah d2dabcef9a Blackparrot human name update 2020-08-06 12:21:38 -04:00
Gwenhael Goavec-Merou 87c26a30fd soc/cores/cpu/zynq7000: add enet0, enet0_mdio, sdio, sdio_cd and sdio_wp only when configured in EMIO mode 2020-08-06 16:45:39 +02:00
enjoy-digital d5062d1f4f
Merge pull request #623 from Dolu1990/vexriscv_smp
cpu/vexriscv_smp Add --with-coherent-dma  --without-coherent-dma
2020-08-06 14:31:20 +02:00
Dolu1990 07a8e696ce cpu/vexriscv_smp Add --with-coherent-dma 2020-08-06 13:33:11 +02:00
Florent Kermarrec 9a4c5aa1ef integration/soc/add_sdram: update rules to connect main bus to dram.
Requires connection when CPU does not have memory buses of when CPU has memory buses
but no DMA bus.
2020-08-05 18:01:12 +02:00
Florent Kermarrec a1644510bf cpu/vexriscv_smp: fix args_read. 2020-08-05 17:59:30 +02:00
Florent Kermarrec 896b68cd6b cpu/vexriscv_smp: cleanup, fix coherent_dma connection. 2020-08-05 17:25:13 +02:00
enjoy-digital 342f359e1c
Merge pull request #622 from antmicro/fix_connectors
arty: Change USB-uart and I2S Pmod configuration
2020-08-05 12:30:34 +02:00
Florent Kermarrec 3b293612a8 soc/interconnect/axi: minor cleanups. 2020-08-05 12:11:28 +02:00
Florent Kermarrec 303d6cca7e interconnect/stream: set default AsyncFIFO depth to None and add depth parameter to ClockDomainCrossing. 2020-08-05 12:11:12 +02:00
Pawel Sagan de9ea19cc7 arty: Change USB-uart and I2S Pmod configuration
This makes it compatible with the Arty A7 expansion board by Antmicro
(https://github.com/antmicro/arty-expansion-board).
2020-08-05 11:38:51 +02:00
Florent Kermarrec 00629c45b0 interconnect/csr: add CSR registers ordering support.
The original CSR registers ordering (big: MSB on lower addresses) is not convenient
when the SoC is interfaced with a real OS (for example as a PCIe add-on board or
with a CPU running Linux).

With this, the original ordering is kept as default (big), but it can now be switched
to little to avoid software workarounds in drivers and should probably be in the future
the default for PCIe/Linux SoCs.
2020-08-05 08:57:19 +02:00
Florent Kermarrec ee7a7f4693 soc/interconnect/csr: improve ident. 2020-08-05 07:59:35 +02:00
Florent Kermarrec b1008b0164 integration/soc: add expection on decoder when full address space is mapped. 2020-08-04 19:56:26 +02:00
Florent Kermarrec b831dc8c55 wishbone: revert default adr_width to 30. 2020-08-04 19:55:46 +02:00
Florent Kermarrec abc49964ea tools/litex_json2dts: add missing copyrights. 2020-08-04 16:38:02 +02:00
Florent Kermarrec aed0dcee4c setup: add litex_json2dts to console_scripts. 2020-08-04 16:07:53 +02:00
enjoy-digital b64209b38b
Merge pull request #620 from antmicro/add_litex_json2dts
Add Linux DT generation script
2020-08-04 16:04:57 +02:00
Florent Kermarrec 0ca99b798f build/sim/config: add default_clk/default_clk_freq parameters for retro-compatibility with previous API. 2020-08-04 15:49:53 +02:00
Florent Kermarrec 696ea468b8 build/sim: use json_object_get_int64 instead of json_object_get_uint64.
json_object_get_uint64 does not seem supported with old json-c versions.
2020-08-04 15:49:26 +02:00
enjoy-digital 382c1a3a44
Merge pull request #619 from antmicro/jboc/sim-clocker
Allow to define multiple simulation clocks
2020-08-04 15:38:28 +02:00
Mateusz Holenko fafa844aa7 json2dts: Add Linux DT generation script 2020-08-04 15:13:17 +02:00
Jędrzej Boczar f778ff09dc build/sim: improve timebase calculation (strict checks) and update modules 2020-08-04 14:00:58 +02:00
Florent Kermarrec e0f131a317 cores/uart: add txempty/rxfull CSRs.
Useful in some use cases, like flushing tx.
2020-08-04 13:50:46 +02:00
Florent Kermarrec 2a3e39b10e tools/litex_server: enable read_merger with CommUDP.
Limited to 4 (current size of the buffer in liteeth.frontend.etherbone).
2020-08-04 10:55:51 +02:00
Florent Kermarrec a5d0a340c3 test: specify wishbone adr_width on AXI(Lite)<-->Wishbone tests and remove debug traces. 2020-08-04 09:39:23 +02:00
enjoy-digital eb3374d00a
Merge pull request #617 from gsomlo/gls_rocket_dma
RFC: enable DMA with Rocket
2020-08-04 09:38:58 +02:00
Gabriel Somlo 561331ed97 debug: make CI print offending values 2020-08-03 16:59:39 -04:00
Gabriel Somlo df3428be07 liblitesdcard/sdcard: (temporarily) slow down SDCARD_CLK_FREQ to 25MHz
Rocket's DMA slave interface (and/or internal routing) currently
appears unable to route DMA writes from LiteSDCard at frequencies
above 25MHz (as tested on nexys4ddr, with Rocket, at 75MHz main
system clock frequency).

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-08-03 16:14:11 -04:00
Gabriel Somlo 2d9dc8f939 cores/cpu/rocket: expose slave port for DMA
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-08-03 16:14:11 -04:00
Gabriel Somlo d8161e5a86 integration/soc: make DMA slave region cover (at least) the lower 4GB
Assuming we currently support a 32-bit (4GB) physical address space,
ensure that the dma_bus slave covers the entire range, covering any
possible layout of the LiteX SoC memory map (e.g., rocket has MMIO
in a wide range of registers located below 2GB, and DRAM starting at
the 2GB mark, needing DMA accesses to be routed appropriately for the
entire 4GB physical address range).

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-08-03 16:14:11 -04:00