Florent Kermarrec [Tue, 14 Apr 2020 10:38:02 +0000 (12:38 +0200)]
build/sim/core/Makefile: add -p to mkdir modules.
enjoy-digital [Tue, 14 Apr 2020 10:16:21 +0000 (12:16 +0200)]
Merge pull request #464 from mithro/litex-sim-fixes
Improve the litex_sim Makefiles
Florent Kermarrec [Sun, 12 Apr 2020 17:46:56 +0000 (19:46 +0200)]
litex_setup: raise exception on update if repository has been been initialized.
Tim 'mithro' Ansell [Sun, 12 Apr 2020 17:29:13 +0000 (10:29 -0700)]
Remove trailing whitespace.
Florent Kermarrec [Sun, 12 Apr 2020 14:34:33 +0000 (16:34 +0200)]
cores: add External Memory Interface (EMIF) Wishbone bridge.
Useful to interface Processors/DSPs with LiteX. EMIF is generally used on Texas Instrument DSPs.
enjoy-digital [Sun, 12 Apr 2020 13:49:49 +0000 (15:49 +0200)]
Merge pull request #462 from ironsteel/trellis-12k
Add support for ecp5 12k device in trellis.py
Rangel Ivanov [Sun, 12 Apr 2020 08:51:08 +0000 (11:51 +0300)]
boards/targets/ulx3s.py: Update --device option help message
Signed-off-by: Rangel Ivanov <rangelivanov88@gmail.com>
Rangel Ivanov [Sun, 12 Apr 2020 08:46:44 +0000 (11:46 +0300)]
build/lattice/trellis.py: Add 12k device
nextpnr adds the --12k option which is the same like
the --25k but with the correct idcode for the 12k devices
Signed-off-by: Rangel Ivanov <rangelivanov88@gmail.com>
Tim 'mithro' Ansell [Sun, 12 Apr 2020 01:26:15 +0000 (18:26 -0700)]
litex_sim: Rework Makefiles to put output files in gateware directory.
Tim 'mithro' Ansell [Sun, 12 Apr 2020 01:23:40 +0000 (18:23 -0700)]
litex_sim: Better error messages on failure to load module.
Florent Kermarrec [Fri, 10 Apr 2020 17:11:21 +0000 (19:11 +0200)]
README: LiteDRAM moved to travis-ci.com as others repositories.
Florent Kermarrec [Fri, 10 Apr 2020 13:50:35 +0000 (15:50 +0200)]
altera/common: add DDROutput, DDRInput, SDROutput, SDRInput.
Florent Kermarrec [Fri, 10 Apr 2020 12:41:01 +0000 (14:41 +0200)]
targets: use DDROutput on sdram_clock and similar configuration for all SDRAM targets.
Florent Kermarrec [Fri, 10 Apr 2020 12:38:22 +0000 (14:38 +0200)]
build/xilinx/common: add Spartan6 specialized DDRInput, SDROutput, SDRInput and SDRTristate.
Florent Kermarrec [Fri, 10 Apr 2020 12:37:29 +0000 (14:37 +0200)]
build/io: add SDR Tristate (with infered version) and remove multi-bits support on SDRIO.
Florent Kermarrec [Fri, 10 Apr 2020 12:36:13 +0000 (14:36 +0200)]
build/lattice/common: remove multi-bits support on SDRInput/Output.
Florent Kermarrec [Fri, 10 Apr 2020 08:25:21 +0000 (10:25 +0200)]
litex/build/io: also import CRG (since using DifferentialInput).
Florent Kermarrec [Fri, 10 Apr 2020 07:18:39 +0000 (09:18 +0200)]
litex.build: update from migen.genlib.io litex.build.io.
Florent Kermarrec [Fri, 10 Apr 2020 06:47:07 +0000 (08:47 +0200)]
litex/build: move io.py from litex/gen and re-import DifferentialInput/Output, DDRInput/Output contributed to Migen.
This will make things easier and more consistent, all special IO primitives are now in LiteX.
Florent Kermarrec [Thu, 9 Apr 2020 21:08:59 +0000 (23:08 +0200)]
platforms/versa_ecp5: remove Lattice Programmer (no longer used since we can now use OpenOCD).
Florent Kermarrec [Thu, 9 Apr 2020 21:04:29 +0000 (23:04 +0200)]
boards/platforms: cosmetic cleanups.
Florent Kermarrec [Thu, 9 Apr 2020 16:55:01 +0000 (18:55 +0200)]
boards/plarforms/ulx3s: cleanup, fix user_leds, add spisdcard, add PULLMODE/DRIVE on SDRAM pins.
Florent Kermarrec [Thu, 9 Apr 2020 14:24:05 +0000 (16:24 +0200)]
build/lattice: add ECP5 implementation for SDRInput/SDROutput.
Florent Kermarrec [Thu, 9 Apr 2020 14:23:27 +0000 (16:23 +0200)]
litex/gen: add io with SDRInput/SDROutput (if not overrided, register is supposed to be infered).
Florent Kermarrec [Thu, 9 Apr 2020 09:14:19 +0000 (11:14 +0200)]
tools/litex_sim: remove LiteSPI support for now since breaking Travis-CI of others sub-projects.
LiteSPI is not mature enough to be integrated in LiteX sim directly. (will case trouble is things are refactored).
This could be re-introduced later when more mature. For now simulation with LiteX Sim
could be tested directly in LiteSPI with a custom simulation.
Florent Kermarrec [Thu, 9 Apr 2020 08:52:15 +0000 (10:52 +0200)]
tools/litex_term: increase workaround delay for usb_fifo. (validated on Minispartan6 and MimasA7).
Still needs to be fixed properly.
enjoy-digital [Thu, 9 Apr 2020 07:01:59 +0000 (09:01 +0200)]
Merge pull request #459 from mithro/travis-fix
Two small Travis-CI related patches
Tim 'mithro' Ansell [Thu, 9 Apr 2020 06:14:26 +0000 (23:14 -0700)]
travis: Run Windows build but allow it to fail.
Tim 'mithro' Ansell [Thu, 9 Apr 2020 06:12:41 +0000 (23:12 -0700)]
travis: Use litex_setup.py from the checked out code.
Tim Ansell [Thu, 9 Apr 2020 04:39:29 +0000 (21:39 -0700)]
Merge pull request #458 from david-sawatzke/add_triple
Add riscv64-none-elf triple
David Sawatzke [Thu, 9 Apr 2020 03:36:10 +0000 (05:36 +0200)]
Add riscv64-none-elf triple
Florent Kermarrec [Wed, 8 Apr 2020 06:54:12 +0000 (08:54 +0200)]
soc/cores/clock: add Max10PLL.
Florent Kermarrec [Wed, 8 Apr 2020 06:33:57 +0000 (08:33 +0200)]
soc/cores/clock: add Cyclone10LPPLL.
Florent Kermarrec [Wed, 8 Apr 2020 06:25:46 +0000 (08:25 +0200)]
soc/cores/clock/CycloneVPLL: fix typos.
Florent Kermarrec [Wed, 8 Apr 2020 06:16:37 +0000 (08:16 +0200)]
soc/cores/clock: rename Altera to Intel.
Florent Kermarrec [Tue, 7 Apr 2020 15:24:12 +0000 (17:24 +0200)]
soc/cores/clock: add CycloneVPLL.
Florent Kermarrec [Tue, 7 Apr 2020 15:00:40 +0000 (17:00 +0200)]
targets/de0nano: use CycloneIVPLL, remove 50MHz limitation.
Florent Kermarrec [Tue, 7 Apr 2020 14:59:53 +0000 (16:59 +0200)]
soc/cores/clock: add initial AlteraClocking/CycloneIV support.
Florent Kermarrec [Tue, 7 Apr 2020 10:43:29 +0000 (12:43 +0200)]
.travis.yml: disable windows test (failing for now).
Florent Kermarrec [Tue, 7 Apr 2020 10:39:52 +0000 (12:39 +0200)]
README.md: update RISCV toolchain installation.
Florent Kermarrec [Tue, 7 Apr 2020 10:33:56 +0000 (12:33 +0200)]
.travis.yml: remove Python3.5 test.
enjoy-digital [Tue, 7 Apr 2020 10:29:04 +0000 (12:29 +0200)]
Merge pull request #451 from mithro/multi-os
Add multiple Python versions, Windows and Mac to Travis CI testing
Florent Kermarrec [Tue, 7 Apr 2020 09:48:16 +0000 (11:48 +0200)]
setup.py: simplify, switch to Python3.6+ (using python_requires), remove version.
- Deprecate Python 3.5, switch to Python 3.6+.
- Remove which was not used or updated. We'll see to get this back when working on releases.
Florent Kermarrec [Tue, 7 Apr 2020 09:05:14 +0000 (11:05 +0200)]
litex_setup: reorganize a bit, add separators/comments.
Florent Kermarrec [Tue, 7 Apr 2020 08:55:58 +0000 (10:55 +0200)]
.travis.yml: revert full url for litex_setup.py.
We want to have an almost identical .travis.yml between LiteX and the Cores.
Using $TRAVIS_BUILD_DIR works for LiteX but will not work for the cores.
enjoy-digital [Tue, 7 Apr 2020 08:51:27 +0000 (10:51 +0200)]
Merge pull request #452 from mithro/riscv-download
Add GCC downloading via litex_setup.py
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:52:07 +0000 (17:52 -0700)]
Enable testing on multiple Python versions.
Makes sure LiteX tests pass on all supported Python versions.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:47:12 +0000 (11:47 -0700)]
Enable CI for Windows and Mac.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:57:32 +0000 (17:57 -0700)]
Remove symlinking step.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:45:55 +0000 (17:45 -0700)]
Use shutil.unpack_archive.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:36:09 +0000 (17:36 -0700)]
Ignore SSL errors on CI.
Tim 'mithro' Ansell [Tue, 7 Apr 2020 00:27:24 +0000 (17:27 -0700)]
Improve the path messages a little.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:54:25 +0000 (16:54 -0700)]
Make travis use litex_setup.py for GCC download.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:39:49 +0000 (16:39 -0700)]
Adding SiFive RISC-V toolchain downloading to litex_setup.py
Tim 'mithro' Ansell [Mon, 6 Apr 2020 23:49:52 +0000 (16:49 -0700)]
Fix alignments.
enjoy-digital [Mon, 6 Apr 2020 21:04:47 +0000 (23:04 +0200)]
Merge pull request #450 from mithro/litex-setup-fix
litex_setup: Use subprocess so failures are noticed.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:38:23 +0000 (11:38 -0700)]
Run `litex_setup.py` outside the git clone directory.
Otherwise it tries to overwrite the litex directory by cloning LiteX
into it.
Tim 'mithro' Ansell [Mon, 6 Apr 2020 18:25:11 +0000 (11:25 -0700)]
litex_setup: Use subprocess so failures are noticed.
os.system doesn't report if any of the commands fail. This means that if
something goes wrong it happily reports success making it hard to debug
issues.
Florent Kermarrec [Mon, 6 Apr 2020 11:16:13 +0000 (13:16 +0200)]
soc/cores: use reset_less on datapath/configuration CSRStorages.
Florent Kermarrec [Mon, 6 Apr 2020 11:14:21 +0000 (13:14 +0200)]
interconnect/csr: add reset_less parameter.
In cases CSRStorage can be considered as a datapath/configuration register and does not need to be reseted.
Florent Kermarrec [Mon, 6 Apr 2020 11:11:50 +0000 (13:11 +0200)]
interconnect/csr, wishbone: use reset_less on datapath signals.
Florent Kermarrec [Mon, 6 Apr 2020 09:35:18 +0000 (11:35 +0200)]
cores/code_8b10b: set reset_less to True on datapath signals.
Reset is only required on control signals.
Florent Kermarrec [Mon, 6 Apr 2020 09:33:49 +0000 (11:33 +0200)]
stream: set reset_less to True on datapath signals.
Reset is only required on control signals.
enjoy-digital [Mon, 6 Apr 2020 09:12:12 +0000 (11:12 +0200)]
Merge pull request #448 from kessam/patch-1
Fix timing constraints
kessam [Sun, 5 Apr 2020 15:56:29 +0000 (17:56 +0200)]
Fix timing constraints
Florent Kermarrec [Fri, 3 Apr 2020 09:14:57 +0000 (11:14 +0200)]
soc/cores/clock/ECP5PLL: add CLKI_DIV support.
enjoy-digital [Wed, 1 Apr 2020 14:51:29 +0000 (16:51 +0200)]
Merge pull request #447 from antmicro/spi-xip
Add initial support for the new LiteSPI core
Piotr Binkowski [Mon, 30 Mar 2020 11:43:34 +0000 (13:43 +0200)]
targets: netv2: add LiteSPI
Piotr Binkowski [Mon, 30 Mar 2020 10:42:15 +0000 (12:42 +0200)]
platform: netv2: update SPI flash pinout
Piotr Binkowski [Mon, 30 Mar 2020 11:42:56 +0000 (13:42 +0200)]
litex_sim: add LiteSPI
Florent Kermarrec [Tue, 31 Mar 2020 14:54:38 +0000 (16:54 +0200)]
soc/cores/uart: use reset_less on accumulator, reg, bitcount to reduce.
This reduces logic a bit. It does not make large difference on usual design with
only 1 UART, but is interesting on designs with hundreds of UARTs used to "document"
FPGA boards :) (similar to https://github.com/enjoy-digital/camlink_4k/blob/master/ios_stream.py)
Florent Kermarrec [Tue, 31 Mar 2020 14:17:12 +0000 (16:17 +0200)]
soc/cores/spi_flash: add ECP5SPIFlash (non-memory-mapped).
Piotr Binkowski [Mon, 30 Mar 2020 11:37:34 +0000 (13:37 +0200)]
litex_setup: add litespi core
enjoy-digital [Sat, 28 Mar 2020 11:58:08 +0000 (12:58 +0100)]
Merge pull request #444 from ilya-epifanov/openocd-jtag-programmer
Added openocd jtagspi programmer, to be used with ECP5-EVN board
enjoy-digital [Sat, 28 Mar 2020 11:50:17 +0000 (12:50 +0100)]
Merge pull request #441 from gsomlo/gls-spisdcard-fixes
SPI SDCard fixes and features
Ilya Epifanov [Sat, 28 Mar 2020 10:20:30 +0000 (11:20 +0100)]
Added openocd jtagspi programmer, to be used with ECP5-EVN board
Gabriel Somlo [Fri, 27 Mar 2020 11:02:00 +0000 (07:02 -0400)]
software/bios: add spisdcardboot() to boot_sequence()
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 11:01:02 +0000 (07:01 -0400)]
software/libbase/spisdcard: add delay to goidle loop
In `spi_sdcard_goidle()`, insert a `busy_wait()` into the CMD55+ACMD41
loop to avoid exhausting the retry counter before the card has a chance
to be ready (required on the trellisboard, also tested OK on nexys4ddr).
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 10:58:06 +0000 (06:58 -0400)]
software/bios: factor out busy_wait() function
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Gabriel Somlo [Fri, 27 Mar 2020 11:07:30 +0000 (07:07 -0400)]
software/libbase/spisdcard: fix width of address parameter
Host address parameter types should match CPU word width, so
use `unsigned long` to be correct on both 32 and 64 bit CPUs.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Fri, 27 Mar 2020 17:44:48 +0000 (18:44 +0100)]
soc/cores/spi: make dynamic clk divider optional (can be enabled with add_clk_divider method) and only use it in add_spi_sdcard.
enjoy-digital [Thu, 26 Mar 2020 14:36:39 +0000 (15:36 +0100)]
Merge pull request #439 from antmicro/fix-compiler-rt
Update removed llvm compiler-rt repo
Kamil Rakoczy [Thu, 26 Mar 2020 09:56:28 +0000 (10:56 +0100)]
Update removed llvm compiler-rt repo
Florent Kermarrec [Thu, 26 Mar 2020 08:45:19 +0000 (09:45 +0100)]
targets/add_constant: avoid specifying value when value is None (=default).
Florent Kermarrec [Thu, 26 Mar 2020 06:46:32 +0000 (07:46 +0100)]
software/libbase/spisdcard: add USE_SPISDCARD_RECLOCKING define to easily disable reclocking.
Florent Kermarrec [Wed, 25 Mar 2020 18:07:06 +0000 (19:07 +0100)]
integration/soc/add_uart: add USB CDC support (with ValentyUSB core).
Florent Kermarrec [Wed, 25 Mar 2020 17:57:26 +0000 (18:57 +0100)]
tools/litex_sim: simplify using uart_name=sim.
Florent Kermarrec [Wed, 25 Mar 2020 17:56:58 +0000 (18:56 +0100)]
integration/soc/add_uart: add Model/Sim.
Florent Kermarrec [Wed, 25 Mar 2020 17:53:00 +0000 (18:53 +0100)]
integration/soc/add_uart: cleanup.
Florent Kermarrec [Wed, 25 Mar 2020 15:36:53 +0000 (16:36 +0100)]
build/tools: add replace_in_file function.
Florent Kermarrec [Wed, 25 Mar 2020 08:31:51 +0000 (09:31 +0100)]
tools/litex_term: use 64 bytes as default payload_lengh (work for all confniguration) and add small delay between frames for FT245 FIFO.
The delay still need to be investigated.
Florent Kermarrec [Wed, 25 Mar 2020 08:21:28 +0000 (09:21 +0100)]
bios/boot: update comments.
enjoy-digital [Wed, 25 Mar 2020 08:18:31 +0000 (09:18 +0100)]
Merge pull request #437 from feliks-montez/bugfix/fix-serialboot-frames
flush rx buffer when bad crc and fix frame payload length
Florent Kermarrec [Wed, 25 Mar 2020 07:47:43 +0000 (08:47 +0100)]
test/test_targets: remove versa_ecp3.
Florent Kermarrec [Tue, 24 Mar 2020 19:04:18 +0000 (20:04 +0100)]
boards/targets: update SDRAM to use new GENSDRPHY and new ECP5PLL phase support.
Florent Kermarrec [Tue, 24 Mar 2020 19:02:57 +0000 (20:02 +0100)]
boards/platforms: remove versa_ecp3 (ECP3 no longer supported).
Florent Kermarrec [Tue, 24 Mar 2020 18:36:57 +0000 (19:36 +0100)]
build/lattice/diamond: remove ECP3 support. (ECP3 is not used and no longer interesting now that ECP5 has an open-source toolchain).
Florent Kermarrec [Tue, 24 Mar 2020 18:09:05 +0000 (19:09 +0100)]
cores/clock/ECP5PLL: add phase support.
Florent Kermarrec [Tue, 24 Mar 2020 18:08:38 +0000 (19:08 +0100)]
build/lattice/common: change LatticeECPXDDROutputImpl from ECP3 to ECP5.
bunnie [Tue, 24 Mar 2020 06:11:23 +0000 (14:11 +0800)]
Fix off-by-one error on almost full condition for prefetch
This causes a DRC error on the Xilinx tools when the prefetch
lines setting is 1. Don't know why this wasn't caught earlier,
but it just popped up in CI.