Florent Kermarrec [Wed, 28 Aug 2019 03:15:45 +0000 (05:15 +0200)]
gen/fhdl/verilog: allow single element verilog inline attribute
Florent Kermarrec [Tue, 27 Aug 2019 12:06:13 +0000 (14:06 +0200)]
targets/nexys_video: generate clk100
Florent Kermarrec [Tue, 27 Aug 2019 07:45:44 +0000 (09:45 +0200)]
software/bios: switch to standard CRLF
Avoid setting terminal to "implicit CR in every LF" mode.
Florent Kermarrec [Mon, 26 Aug 2019 16:17:43 +0000 (18:17 +0200)]
tools/litex_term: add automatic check to see if we need to insert LF or not
Florent Kermarrec [Mon, 26 Aug 2019 15:15:01 +0000 (17:15 +0200)]
bios/tools: allow disabling CRC check on serialboot (to speedup debug/loading large images when only serial is available)
Florent Kermarrec [Mon, 26 Aug 2019 10:10:11 +0000 (12:10 +0200)]
tools/litex_term: add sdl_payload_length
Florent Kermarrec [Mon, 26 Aug 2019 07:27:19 +0000 (09:27 +0200)]
litex_setup: add litex-boards
enjoy-digital [Fri, 23 Aug 2019 19:36:51 +0000 (21:36 +0200)]
Merge pull request #246 from gsomlo/gls-native-rv64
software: use native toolchain for same host, target architectures
Gabriel L. Somlo [Fri, 23 Aug 2019 12:56:02 +0000 (08:56 -0400)]
software: use native toolchain for same host, target architectures
LiteX rightfully assumes that most often the target software must
be cross-compiled from an x86 host platform. However, LiteX can be
also built on a 'linux-riscv64' platform (e.g. Fedora's riscv64
port), where the software for riscv64 targets should be compiled
using the native toolchain.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
enjoy-digital [Sat, 17 Aug 2019 09:54:39 +0000 (11:54 +0200)]
Merge pull request #244 from atommann/master
changing http to https
atommann [Sat, 17 Aug 2019 08:02:10 +0000 (16:02 +0800)]
changing http to https
Florent Kermarrec [Fri, 16 Aug 2019 11:56:56 +0000 (13:56 +0200)]
soc/core: simplify/cleanup HyperRAM core
- rename core to hyperbus.
- change layout (cs_n with variable length instead of cs0_n, cs1_n).
- use DifferentialOutput when differential clock is used.
- add test (python3 -m unittest test.test_hyperbus).
Usage example:
from litex.soc.cores.hyperbus import HyperRAM
self.submodules.hyperram = HyperRAM(platform.request("hyperram"))
self.add_wb_slave(mem_decoder(self.mem_map["hyperram"]), self.hyperram.bus)
self.add_memory_region("hyperram", self.mem_map["hyperram"], 8*1024*1024)
Antti Lukats [Fri, 16 Aug 2019 07:46:15 +0000 (09:46 +0200)]
soc/cores: add initial simple hyperram core
Florent Kermarrec [Thu, 15 Aug 2019 11:44:36 +0000 (13:44 +0200)]
build/altera/quartus: add add_ip method to use Quartus QSYS files
platform.add_ip("my_ip.qsys")
Florent Kermarrec [Thu, 15 Aug 2019 07:26:25 +0000 (09:26 +0200)]
cpu_interface: add json csr map export, simplify csv csr map export using json
Florent Kermarrec [Wed, 14 Aug 2019 17:09:58 +0000 (19:09 +0200)]
bios/sdram: set init done after memtest (for standalone LiteDRAM controllers)
Florent Kermarrec [Wed, 14 Aug 2019 17:03:10 +0000 (19:03 +0200)]
build/xilinx/vivado: use "" for strings
Florent Kermarrec [Wed, 14 Aug 2019 17:02:01 +0000 (19:02 +0200)]
build/xilinx/vivado: remove with_phys_opt
enjoy-digital [Wed, 14 Aug 2019 16:58:15 +0000 (18:58 +0200)]
Merge pull request #243 from sergachev/master
build/xilinx/vivado: improve directive support
enjoy-digital [Wed, 14 Aug 2019 16:55:34 +0000 (18:55 +0200)]
Merge pull request #241 from railnova/zynq
[fix] prevent Vivado from inferring DSP48 in AXIBurst2Beat
Ilia Sergachev [Wed, 14 Aug 2019 15:49:13 +0000 (17:49 +0200)]
build/xilinx/vivado: improve directive support
chmousset [Wed, 14 Aug 2019 09:30:39 +0000 (11:30 +0200)]
[fix] prevent Vivado from inferring DSP48 in AXIBurst2Beat
Florent Kermarrec [Wed, 14 Aug 2019 05:35:45 +0000 (07:35 +0200)]
cores/spi_flash/S7SPIFlash: make cs_n optional in pads (when driven externally)
enjoy-digital [Tue, 13 Aug 2019 08:34:50 +0000 (10:34 +0200)]
Merge pull request #240 from danielkucera/patch-1
more understandable error when missing a memory
Daniel Kucera [Tue, 13 Aug 2019 08:14:16 +0000 (10:14 +0200)]
more understandable error when missing a memory
atommann [Mon, 12 Aug 2019 14:20:34 +0000 (22:20 +0800)]
Update .gitmodules
http to https
enjoy-digital [Sat, 10 Aug 2019 13:33:05 +0000 (15:33 +0200)]
Merge pull request #235 from gsomlo/gls-trellis-yosys-opt
build/lattice/trellis: use additional yosys optimization flags
Gabriel L. Somlo [Fri, 5 Jul 2019 20:28:23 +0000 (16:28 -0400)]
build/lattice/trellis: use abc9 techmapping pass with yosys
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Fri, 9 Aug 2019 11:26:31 +0000 (13:26 +0200)]
software/libbase/mdio: set data before clock, revert two cycle turnaround and test with different phys
Florent Kermarrec [Fri, 9 Aug 2019 10:33:10 +0000 (12:33 +0200)]
cores/cpu: add riscv-none-embed toolchain support to riscv32 cpus
Florent Kermarrec [Fri, 9 Aug 2019 08:31:53 +0000 (10:31 +0200)]
software/libase/mdio: cleanup and reduce raw_turnaround by 1 cycle
Florent Kermarrec [Fri, 9 Aug 2019 07:27:32 +0000 (09:27 +0200)]
cores/clock/S7PLL: fix -1/-3 speedgrade vco max freq swap
Florent Kermarrec [Fri, 9 Aug 2019 07:26:41 +0000 (09:26 +0200)]
software/bios: add Ethernet PHY MDIO read/write/dump commands
Florent Kermarrec [Thu, 8 Aug 2019 14:19:22 +0000 (16:19 +0200)]
altera/common: fix AsyncResetSynchronizer polarity and simplify
Florent Kermarrec [Thu, 8 Aug 2019 14:08:55 +0000 (16:08 +0200)]
build/xilinx/common: improve presentation
Florent Kermarrec [Thu, 8 Aug 2019 14:06:40 +0000 (16:06 +0200)]
microsemi/common: improve presentation
Florent Kermarrec [Thu, 8 Aug 2019 14:02:34 +0000 (16:02 +0200)]
build/altera/common: improve presentation
Florent Kermarrec [Wed, 7 Aug 2019 06:36:04 +0000 (08:36 +0200)]
platforms/default_clk_period: use 1e9/freq
Florent Kermarrec [Wed, 7 Aug 2019 06:29:59 +0000 (08:29 +0200)]
targets/minispartan6/crg: only keep S6PLL code
Florent Kermarrec [Wed, 7 Aug 2019 06:29:20 +0000 (08:29 +0200)]
cores/clock: juse use 1e9/freq instead of period_ns
Florent Kermarrec [Wed, 7 Aug 2019 06:18:54 +0000 (08:18 +0200)]
cores/clock/s6pll: add phase support
Florent Kermarrec [Wed, 7 Aug 2019 06:17:44 +0000 (08:17 +0200)]
cores/clock/xilinx: change clkfbout_mult loop order to select highest vco_freq
Florent Kermarrec [Tue, 6 Aug 2019 06:46:25 +0000 (08:46 +0200)]
litex_term: make sure to unconfigure console when board is unplugged
Florent Kermarrec [Tue, 6 Aug 2019 05:56:45 +0000 (07:56 +0200)]
soc/integration/builder: -x
Florent Kermarrec [Mon, 5 Aug 2019 08:36:38 +0000 (10:36 +0200)]
cores: -x on spi.py
Florent Kermarrec [Mon, 5 Aug 2019 07:08:56 +0000 (09:08 +0200)]
wishbone/SRAM: make read_only emited verilog code compatible with all tools
Quartus was not able to implement ROM correctly, see #228
Florent Kermarrec [Sun, 4 Aug 2019 10:22:35 +0000 (12:22 +0200)]
soc/cores/uart: add FT245 FIFO mode support (sync & async)
Florent Kermarrec [Fri, 2 Aug 2019 08:27:38 +0000 (10:27 +0200)]
build/altera/quartus: use .bat on win32/cygwin
Florent Kermarrec [Thu, 1 Aug 2019 19:03:05 +0000 (21:03 +0200)]
build/xilinx/vivado: change severity of Common 17-55 critical warning to warning
Florent Kermarrec [Mon, 29 Jul 2019 06:37:46 +0000 (08:37 +0200)]
cores/pwm: remove default CSR reset values.
Florent Kermarrec [Sat, 27 Jul 2019 18:27:53 +0000 (20:27 +0200)]
soc: generate git header and show migen/litex git sha1 in bios
enjoy-digital [Thu, 25 Jul 2019 18:24:25 +0000 (20:24 +0200)]
Merge pull request #223 from sergachev/master
support vivado incremental implementation
Ilia Sergachev [Thu, 25 Jul 2019 17:18:11 +0000 (19:18 +0200)]
support vivado incremental implementation
enjoy-digital [Thu, 25 Jul 2019 07:25:26 +0000 (09:25 +0200)]
Merge pull request #222 from antmicro/bump_vexriscv
cpu/vexriscv: bump submodule
Mateusz Holenko [Thu, 25 Jul 2019 06:43:35 +0000 (08:43 +0200)]
cpu/vexriscv: bump submodule
Florent Kermarrec [Thu, 25 Jul 2019 05:46:14 +0000 (07:46 +0200)]
bios/sdram: fix compilation warning
Florent Kermarrec [Tue, 23 Jul 2019 18:56:49 +0000 (20:56 +0200)]
test/test_axi: remove use of rand_wait, rename rand_level to random
Florent Kermarrec [Tue, 23 Jul 2019 18:35:28 +0000 (20:35 +0200)]
soc_core: round memory regions size/length to next power of 2 (if not already a power of 2)
enjoy-digital [Tue, 23 Jul 2019 10:01:13 +0000 (12:01 +0200)]
Merge pull request #221 from antmicro/bump_vexriscv
cpu/vexriscv: bump submodule
Mateusz Holenko [Tue, 23 Jul 2019 09:48:00 +0000 (11:48 +0200)]
cpu/vexriscv: bump submodule
Florent Kermarrec [Tue, 23 Jul 2019 08:28:19 +0000 (10:28 +0200)]
bios/boot: fix default EMULATOR_RAM_BASE
Florent Kermarrec [Tue, 23 Jul 2019 07:53:48 +0000 (09:53 +0200)]
cores/clock: cleanup
Florent Kermarrec [Tue, 23 Jul 2019 07:27:20 +0000 (09:27 +0200)]
cores/clock: add initial iCE40 support
Florent Kermarrec [Mon, 22 Jul 2019 19:55:07 +0000 (21:55 +0200)]
cores/spi_flash/add_clk_primitive: return if clk primitive is not needed
Florent Kermarrec [Mon, 22 Jul 2019 19:32:46 +0000 (21:32 +0200)]
bios/boot: define EMULATOR_RAM_BASE if not defined, add KERNEL_IMAGE_RAM_OFFSET
Florent Kermarrec [Mon, 22 Jul 2019 10:38:16 +0000 (12:38 +0200)]
soc_core: fix cpu_variant definition
Florent Kermarrec [Mon, 22 Jul 2019 09:43:22 +0000 (11:43 +0200)]
bios/boot: fix booting rework
- keep emulator.bin in a specific ram (for now)
- print message when falling back to boot.bin
- print destination on tftp download (to ease debug)
Florent Kermarrec [Mon, 22 Jul 2019 09:41:01 +0000 (11:41 +0200)]
soc_core: fix cpu_variant config (we don't want the extension)
enjoy-digital [Mon, 22 Jul 2019 09:44:20 +0000 (11:44 +0200)]
Merge pull request #216 from antmicro/booting_vexriscv_linux
Rework booting Linux on VexRiscv
Florent Kermarrec [Mon, 22 Jul 2019 08:28:03 +0000 (10:28 +0200)]
cores/spi_flash: add SpiFlashCommon and use it to add clk primitives (7-Series/ECP5 support for now)
Florent Kermarrec [Mon, 22 Jul 2019 08:25:55 +0000 (10:25 +0200)]
platforms/versa_ecp5: add spiflash pads
Florent Kermarrec [Mon, 22 Jul 2019 06:53:18 +0000 (08:53 +0200)]
soc_core: optimize mem_decoder
Non-optimized version was tested on 7-series and was additional resource usage
was not noticeable. This does not seems to be the case on iCE40 (see #220), so
hand optimize it. On 256MB aligned addresses, it should be equivalent to the
old decoder used by previously in LiteX.
The only requirement is that to have address aligned on size, which was already
the case. An assertion will trigger it this condition is not respected.
Florent Kermarrec [Mon, 22 Jul 2019 05:55:47 +0000 (07:55 +0200)]
cores/up5ksram: optimize bus.adr decoding
Florent Kermarrec [Sun, 21 Jul 2019 17:27:43 +0000 (19:27 +0200)]
cores/up5kspram: simplify and add support for all width/depth configurations
Florent Kermarrec [Sat, 20 Jul 2019 10:57:32 +0000 (12:57 +0200)]
cores/pwm: remove clock_domain support (better to use ClockDomainsRenamer), make csr optional
Florent Kermarrec [Sat, 20 Jul 2019 10:54:45 +0000 (12:54 +0200)]
cores/spi: rename add_control paramter to add_csr
Florent Kermarrec [Sat, 20 Jul 2019 10:52:44 +0000 (12:52 +0200)]
soc_core: add SoCMini class (SoCCore with no cpu, sram, uart, timer) for simple designs
enjoy-digital [Tue, 16 Jul 2019 05:48:22 +0000 (07:48 +0200)]
Merge pull request #219 from flammit/fix-ecp5-pll
soc: cores: fix name of EHXPLLL output clock in ECP5PLL
Mateusz Holenko [Thu, 11 Jul 2019 08:14:27 +0000 (10:14 +0200)]
bios/boot: rework netboot/flashboot for VexRiscv in linux variant
Get rid of NETBOOT_LINUX_VEXRISCV/FLASHBOOT_LINUX_VEXRISCV defines
and use information about CPU_TYPE and CPU_VARIANT instead.
Use common kernel/rootfs/device tree/emulator images layout
when booting over network and from flash.
Mateusz Holenko [Thu, 11 Jul 2019 08:13:54 +0000 (10:13 +0200)]
soc_core: generate extra string-based config defines
C preprocessor does not allow to compare strings, so
the current defines are not usable at the compile time.
This adds new defines that can be ifdefed.
Mateusz Holenko [Thu, 11 Jul 2019 08:13:28 +0000 (10:13 +0200)]
soc_core: include information about cpu variant in csv and headers
Francis Lam [Sun, 14 Jul 2019 19:27:28 +0000 (12:27 -0700)]
soc: cores: fix name of EHXPLLL output clock in ECP5PLL
Florent Kermarrec [Sat, 13 Jul 2019 11:10:24 +0000 (13:10 +0200)]
cores/spi: fix/simplify loopback
Florent Kermarrec [Sat, 13 Jul 2019 11:04:00 +0000 (13:04 +0200)]
README: update banner
Florent Kermarrec [Sat, 13 Jul 2019 10:54:24 +0000 (12:54 +0200)]
cores/spi: move CSR control/status to add_control method, add loopback capability and simple xfer loopback test
Moving control/status registers to add_control method allow using SPIMaster directly with exposed signals.
Add loopback capability (mostly for simulation, but can be useful on hardware too).
Florent Kermarrec [Sat, 13 Jul 2019 09:44:29 +0000 (11:44 +0200)]
soc/cores: add ECC (Error Correcting Code)
Hamming codes with additional parity (SECDED):
- Single Error Correction
- Double Error Detection
Florent Kermarrec [Sat, 13 Jul 2019 09:43:16 +0000 (11:43 +0200)]
platforms/tinyfpga_bx: add serial extension
Florent Kermarrec [Fri, 12 Jul 2019 18:11:44 +0000 (20:11 +0200)]
README: add a few links to papers/presentations/tutorials
enjoy-digital [Fri, 12 Jul 2019 16:00:03 +0000 (18:00 +0200)]
Merge pull request #218 from railnova/zynq
[fix] Slave interface HP0 clk name
chmousset [Fri, 12 Jul 2019 14:37:23 +0000 (16:37 +0200)]
[fix] Slave interface HP0 clk name
enjoy-digital [Fri, 12 Jul 2019 12:44:53 +0000 (14:44 +0200)]
Merge pull request #217 from sergachev/master
spi: change CSR to CSRStorage
Ilia Sergachev [Fri, 12 Jul 2019 12:12:51 +0000 (14:12 +0200)]
spi: change CSR to CSRStorage
Florent Kermarrec [Fri, 12 Jul 2019 07:52:40 +0000 (09:52 +0200)]
soc_zynq: use zynq fabric reset as sys reset
Florent Kermarrec [Wed, 10 Jul 2019 14:51:08 +0000 (16:51 +0200)]
soc_zynq: add missing axi hp0 clock
Florent Kermarrec [Wed, 10 Jul 2019 14:50:06 +0000 (16:50 +0200)]
soc_zynq: move axi gp0 clock connection to add_gp0 method
Florent Kermarrec [Wed, 10 Jul 2019 08:37:32 +0000 (10:37 +0200)]
soc_core: use fixed 16MB CSR address space
Using too small CSR address space cause a regression on PCIe SoC, this would
need to be understood if we want to reduce CSR address space under 16MB.
Florent Kermarrec [Tue, 9 Jul 2019 10:14:50 +0000 (12:14 +0200)]
soc_sdram: limit main_ram to 512MB for now
Otherwise breaks linux-on-litex-vexriscv for targets with 1GB of ram, could
be removed when mem_map will be reworked on linux-on-litex-vexriscv.
Florent Kermarrec [Mon, 8 Jul 2019 21:02:43 +0000 (23:02 +0200)]
compiler-rt: update to new location, fixes #209
Florent Kermarrec [Mon, 8 Jul 2019 20:58:07 +0000 (22:58 +0200)]
soc_core: declare csr address size when registering csr, fixes #212
Florent Kermarrec [Mon, 8 Jul 2019 20:56:14 +0000 (22:56 +0200)]
soc_cores: fix typos