Florent Kermarrec [Tue, 5 May 2020 14:58:33 +0000 (16:58 +0200)]
gen/fhdl/verilog: explicitly define input/output/inout wires.
When integrating designs which set `default_nettype none, the top also needs
to explicitly define the type of the signals.
Florent Kermarrec [Tue, 5 May 2020 14:33:14 +0000 (16:33 +0200)]
targets/genesys2: set cmd_latency to 1.
Florent Kermarrec [Tue, 5 May 2020 14:27:21 +0000 (16:27 +0200)]
bios: remove usddrphy debug (we'll use a specific debug firmware to fix the usddrphy corner cases).
Florent Kermarrec [Tue, 5 May 2020 13:55:09 +0000 (15:55 +0200)]
platforms/targets: fix CI.
Florent Kermarrec [Tue, 5 May 2020 13:27:56 +0000 (15:27 +0200)]
boards: keep in sync with LiteX-Boards, integrate improvements.
- create_programmer on all platforms.
- input clocks automatically constrainted.
- build/load parameters.
Florent Kermarrec [Tue, 5 May 2020 11:31:58 +0000 (13:31 +0200)]
build/lattice/programmer: add UJProg (for ULX3S).
Florent Kermarrec [Tue, 5 May 2020 10:17:12 +0000 (12:17 +0200)]
build/lattice/programmer: make OpenOCDJTAGProgrammer closer to OpenOCD programmer.
Florent Kermarrec [Tue, 5 May 2020 10:16:29 +0000 (12:16 +0200)]
build/generic_programmer: catch 404 not found when downloading config/proxy.
Florent Kermarrec [Tue, 5 May 2020 09:23:46 +0000 (11:23 +0200)]
build/platform: allow doing a loose lookup_request (return None instead of ConstraintError) and allow subname in lookup_request.
In the platforms, insead of doing:
self.lookup_request("eth_clocks").rx
we can now do:
self.lookup_request("eth_clocks:rx")
This allows some try/except simplifications on constraints.
Florent Kermarrec [Tue, 5 May 2020 07:56:13 +0000 (09:56 +0200)]
build/openocd: add find_config method to allow using local config file or download it if not available locally.
Florent Kermarrec [Mon, 4 May 2020 15:30:12 +0000 (17:30 +0200)]
cpu/microwatt: fix integration/crt0.S (thanks Benjamin Herrenschmidt).
Tested on Arty A7:
__ _ __ _ __
/ / (_) /____ | |/_/
/ /__/ / __/ -_)> <
/____/_/\__/\__/_/|_|
Build your hardware, easily!
(c) Copyright 2012-2020 Enjoy-Digital
(c) Copyright 2007-2015 M-Labs
BIOS built on May 4 2020 17:15:13
BIOS CRC passed (
0adc4193)
Migen git sha1:
5b5e4fd
LiteX git sha1:
6f24d46d
--=============== SoC ==================--
CPU: Microwatt @ 100MHz
ROM: 32KB
SRAM: 4KB
L2: 8KB
MAIN-RAM: 262144KB
--========== Initialization ============--
Initializing SDRAM...
SDRAM now under software control
Read leveling:
m0, b0: |
00000000000000000000000000000000| delays: -
m0, b1: |
00000000000000000000000000000000| delays: -
m0, b2: |
00000000000000000000000000000000| delays: -
m0, b3: |
00000000000000000000000000000000| delays: -
m0, b4: |
00000000000000000000000000000000| delays: -
m0, b5: |
00000000000000000000000000000000| delays: -
m0, b6: |
00000111111111111100000000000000| delays: 11+-06
m0, b7: |
00000000000000000000000000000000| delays: -
best: m0, b6 delays: 11+-06
m1, b0: |
00000000000000000000000000000000| delays: -
m1, b1: |
00000000000000000000000000000000| delays: -
m1, b2: |
00000000000000000000000000000000| delays: -
m1, b3: |
00000000000000000000000000000000| delays: -
m1, b4: |
00000000000000000000000000000000| delays: -
m1, b5: |
10000000000000000000000000000000| delays: 00+-00
m1, b6: |
00000011111111111100000000000000| delays: 12+-06
m1, b7: |
00000000000000000000000000000000| delays: -
best: m1, b6 delays: 12+-06
SDRAM now under hardware control
Memtest OK
Memspeed Writes: 129Mbps Reads: 215Mbps
--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
Timeout
No boot medium found
--============= Console ================--
litex>
enjoy-digital [Mon, 4 May 2020 13:29:05 +0000 (15:29 +0200)]
Merge pull request #496 from gsomlo/gls-fix-makefiles
software/*/Makefile: no need to copy .S files from CPU directory
Gabriel Somlo [Mon, 4 May 2020 13:13:32 +0000 (09:13 -0400)]
software/*/Makefile: no need to copy .S files from CPU directory
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
enjoy-digital [Mon, 4 May 2020 09:53:10 +0000 (11:53 +0200)]
Merge pull request #494 from shuffle2/patch-2
diamond: quiet warning about missing clkin freq for EHXPLLL
shuffle2 [Mon, 4 May 2020 08:10:09 +0000 (01:10 -0700)]
diamond: quiet warning about missing clkin freq for EHXPLLL
FREQUENCY_PIN_CLKI should be given in mhz
Florent Kermarrec [Mon, 4 May 2020 07:59:01 +0000 (09:59 +0200)]
CHANGES: update.
Florent Kermarrec [Mon, 4 May 2020 06:51:38 +0000 (08:51 +0200)]
cpu/microwatt: add powerpc64le-linux-gnu to gcc_triple.
It seems to be what most distros cross-comiplers are using.
Florent Kermarrec [Mon, 4 May 2020 06:46:25 +0000 (08:46 +0200)]
cpu/microwatt: add pythondata and fix build with it.
Florent Kermarrec [Sun, 3 May 2020 19:29:54 +0000 (21:29 +0200)]
cpus: use a common definition of gcc_triple for the RISC-V CPUs, reorganize CPU by ISA/Data-Width.
Florent Kermarrec [Sun, 3 May 2020 08:54:35 +0000 (10:54 +0200)]
bios/cmd_mdio.c: fix missing <base/mdio.h> import.
Florent Kermarrec [Sat, 2 May 2020 18:07:52 +0000 (20:07 +0200)]
cpu/vexriscv: fix flush_cpu_icache, remove workaround on boot.c.
Florent Kermarrec [Sat, 2 May 2020 10:04:46 +0000 (12:04 +0200)]
cpus: add nop instruction and use it to simplify the BIOS.
Florent Kermarrec [Sat, 2 May 2020 09:52:58 +0000 (11:52 +0200)]
cpus: add human_name attribute and use it to simplify the BIOS.
Florent Kermarrec [Sat, 2 May 2020 09:02:51 +0000 (11:02 +0200)]
software/libbase/system.c: remove unused includes.
enjoy-digital [Sat, 2 May 2020 09:25:34 +0000 (11:25 +0200)]
Merge pull request #492 from scanakci/blackparrot_litex
BP -> Linux simulation, Comply with pythondata, and README update
enjoy-digital [Sat, 2 May 2020 09:16:33 +0000 (11:16 +0200)]
Merge branch 'master' into blackparrot_litex
enjoy-digital [Sat, 2 May 2020 08:45:12 +0000 (10:45 +0200)]
Merge pull request #474 from fjullien/term_hist_auto_compl
Terminal: add history and auto completion
Sadullah Canakci [Sat, 2 May 2020 04:10:06 +0000 (00:10 -0400)]
Update README.md
sadullah [Sat, 2 May 2020 03:44:20 +0000 (23:44 -0400)]
update to comply with python-data layout
sadullah [Fri, 1 May 2020 03:02:32 +0000 (23:02 -0400)]
BP fpga recent version
sadullah [Fri, 1 May 2020 02:39:05 +0000 (22:39 -0400)]
Fix memory transducer bug, --with-sdram for BIOS works, memspeed works
sadullah [Tue, 28 Apr 2020 03:56:51 +0000 (23:56 -0400)]
rebased, minor changes in core.py
sadullah [Tue, 28 Apr 2020 03:03:36 +0000 (23:03 -0400)]
Linux works, LiteDRAM works (need cleaning, temporary push)
Sadullah Canakci [Tue, 10 Mar 2020 20:47:26 +0000 (16:47 -0400)]
Create GETTING STARTED
Rename GETTING STARTED to GETTING STARTED.md
Update GETTING STARTED.md
Update GETTING STARTED.md
Update GETTING STARTED.md
enjoy-digital [Fri, 1 May 2020 19:18:09 +0000 (21:18 +0200)]
Merge pull request #483 from ilya-epifanov/lattice-openocd-jtag-programmer-erase-flag-and-quiet-output
Lattice OpenOCD JTAG programmer: removed erase flag and made progress output less noisy
enjoy-digital [Fri, 1 May 2020 19:17:38 +0000 (21:17 +0200)]
Merge pull request #491 from gsomlo/gls-spisd-clusters
software: spisdcard: cosmetic: avoid filling screen with cluster numbers
Florent Kermarrec [Fri, 1 May 2020 19:13:12 +0000 (21:13 +0200)]
.travis.yml: disable python3.5 test (nMigen requires 3.6+).
As discussed in #479.
Florent Kermarrec [Fri, 1 May 2020 18:13:05 +0000 (20:13 +0200)]
CHANGES: update.
Florent Kermarrec [Fri, 1 May 2020 18:12:02 +0000 (20:12 +0200)]
cpu/minerva: add pythondata and use it to compile the sources.
Florent Kermarrec [Fri, 1 May 2020 17:09:32 +0000 (19:09 +0200)]
litex_setup: add nmigen dependency (used to generate Minerva CPU).
This also requires Yosys, but Yosys is already expected to be installed separately.
Florent Kermarrec [Fri, 1 May 2020 17:07:43 +0000 (19:07 +0200)]
CHANGES: start listing changes for next release.
Gabriel Somlo [Fri, 1 May 2020 13:45:42 +0000 (09:45 -0400)]
software: spisdcard: cosmetic: avoid filling screen with cluster numbers
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Fri, 1 May 2020 10:35:12 +0000 (12:35 +0200)]
cpu/software: move flush_cpu_icache/flush_cpu_dcache functions to CPUs.
Franck Jullien [Wed, 29 Apr 2020 19:57:13 +0000 (21:57 +0200)]
bios: add auto completion for commands
Franck Jullien [Wed, 29 Apr 2020 19:33:51 +0000 (21:33 +0200)]
bios: switch command handler to a modular format
Command are now described with a structure. A pointer to this
structure is placed in a dedicated linker section.
Franck Jullien [Tue, 28 Apr 2020 21:15:04 +0000 (23:15 +0200)]
bios: move helper functions to their own file
Franck Jullien [Tue, 28 Apr 2020 21:03:18 +0000 (23:03 +0200)]
bios: add terminal history
Terminal history and characters parsing is done in readline.c.
Passing TERM_NO_HIST disable terminal history.
Passing TERM_MINI use a simple terminal implementation in order to save
more space.
Franck Jullien [Mon, 27 Apr 2020 19:52:36 +0000 (21:52 +0200)]
builder: add a parameter to pass options to BIOS Makefile
Florent Kermarrec [Fri, 1 May 2020 06:15:17 +0000 (08:15 +0200)]
cpu/software: move CPU specific software from the BIOS to the CPU directories.
This simplifies the integration of the CPUs' software, avoid complex switches in the code,
and is a first step to make CPUs fully pluggable.
The CPU name is no longer present in the crt0 files (for example crt0-vexriscv-ctr.o
becomes crt0-ctr.o) so users building firmwares externally will have to update their
Makefiles to remove the $(CPU) from crt0-$(CPU)-ctr.o.
Florent Kermarrec [Fri, 1 May 2020 09:01:50 +0000 (11:01 +0200)]
cpu/Minerva: Clone the repository locally for now, we need to create a pythondata repository.
Florent Kermarrec [Thu, 30 Apr 2020 19:45:53 +0000 (21:45 +0200)]
integration/soc: rename usb_cdc to usb_acm.
As discussed on Discord recently.
Florent Kermarrec [Thu, 30 Apr 2020 19:31:58 +0000 (21:31 +0200)]
litex/__init__.py: remove retro-compat > 6 months old.
Florent Kermarrec [Wed, 29 Apr 2020 18:11:47 +0000 (20:11 +0200)]
soc: allow passing custom CPU class to SoC.
Useful to experiment with custom CPU wrappers and a first step to make CPUs plugable.
enjoy-digital [Wed, 29 Apr 2020 06:48:06 +0000 (08:48 +0200)]
Merge pull request #488 from enjoy-digital/python3.5
travis: add back test on python3.5 (python3.6 is recommended but we c…
Florent Kermarrec [Wed, 29 Apr 2020 06:00:55 +0000 (08:00 +0200)]
travis: add back test on python3.5 (python3.6 is recommended but we can try to keep 3.5 compatibility until we have good reason to no longer support it).
Ilya Epifanov [Tue, 28 Apr 2020 20:04:44 +0000 (22:04 +0200)]
Removed erase flag and made progress output less noisy
enjoy-digital [Tue, 28 Apr 2020 17:05:08 +0000 (19:05 +0200)]
Merge pull request #481 from betrusted-io/unfstringify
propose patch to not break litex for python 3.5
bunnie [Tue, 28 Apr 2020 16:34:19 +0000 (00:34 +0800)]
propose patch to not break litex for python 3.5
Florent Kermarrec [Tue, 28 Apr 2020 09:36:44 +0000 (11:36 +0200)]
create first release, add CHANGES and note about Python modules in README.
Florent Kermarrec [Tue, 28 Apr 2020 08:32:13 +0000 (10:32 +0200)]
cpu/serv: switch to pythondata package instead of local git clone.
Florent Kermarrec [Tue, 28 Apr 2020 07:02:59 +0000 (09:02 +0200)]
README: update Python minimal version to 3.6.
Florent Kermarrec [Tue, 28 Apr 2020 06:58:26 +0000 (08:58 +0200)]
litex_setup: disable automatic clone of BlackParrot/Microwatt CPUs, reorder LiteX data.
The support is not fully finished, so let the user install the pythondata for these CPUs manually with pip.
enjoy-digital [Tue, 28 Apr 2020 06:34:19 +0000 (08:34 +0200)]
Merge pull request #399 from mithro/litex-sm2py
Converting LiteX to use Python modules.
Florent Kermarrec [Mon, 27 Apr 2020 21:51:17 +0000 (23:51 +0200)]
soc/cpu: add memory_buses to cpus and use them in add_sdram.
This allows the CPU to have direct buses to the memory and replace the Rocket specific code.
Florent Kermarrec [Mon, 27 Apr 2020 21:08:15 +0000 (23:08 +0200)]
soc/cpu: rename cpu.buses to cpu.periph_buses.
enjoy-digital [Mon, 27 Apr 2020 20:24:10 +0000 (22:24 +0200)]
Merge branch 'master' into litex-sm2py
enjoy-digital [Mon, 27 Apr 2020 19:07:27 +0000 (21:07 +0200)]
Merge pull request #477 from shuffle2/patch-1
diamond: fix include paths
shuffle2 [Mon, 27 Apr 2020 18:14:18 +0000 (11:14 -0700)]
diamond: fix include paths
include paths given via tcl script need semicolon separators and forward slash as directory separator (even on windows)
Florent Kermarrec [Mon, 27 Apr 2020 17:06:16 +0000 (19:06 +0200)]
soc/cpu: simplify integration of CPU without interrupts (and automatically use UART_POLLING mode in this case).
enjoy-digital [Mon, 27 Apr 2020 16:24:43 +0000 (18:24 +0200)]
Merge pull request #473 from fjullien/memusage
bios: print memory usage
Franck Jullien [Sat, 25 Apr 2020 21:22:38 +0000 (23:22 +0200)]
bios: print memory usage
Print memory usage during the compilation of bios.elf.
Florent Kermarrec [Mon, 27 Apr 2020 13:08:48 +0000 (15:08 +0200)]
tools/litex_sim: use similar analyzer configuration than wiki.
enjoy-digital [Mon, 27 Apr 2020 11:59:28 +0000 (13:59 +0200)]
Merge pull request #476 from enjoy-digital/serv
Add SERV support (The SErial RISC-V CPU)
Florent Kermarrec [Mon, 27 Apr 2020 11:46:12 +0000 (13:46 +0200)]
software/irq: cleanup and make explicit that irqs are not supported with Microwatt and SERV, fix compilation warning.
Florent Kermarrec [Mon, 27 Apr 2020 11:26:45 +0000 (13:26 +0200)]
serv: connect reset.
Florent Kermarrec [Mon, 27 Apr 2020 11:17:53 +0000 (13:17 +0200)]
build/icestorm: add verilog_read -defer option to yosys script (changes similar the ones applied to trellis).
enjoy-digital [Mon, 27 Apr 2020 11:13:37 +0000 (13:13 +0200)]
Merge pull request #475 from gregdavill/read_verilog_defer
build/trellis: add verilog_read -defer option to yosys script
Greg Davill [Mon, 27 Apr 2020 10:40:25 +0000 (20:10 +0930)]
build/trellis: add verilog_read -defer option to yosys script
Florent Kermarrec [Mon, 27 Apr 2020 08:27:44 +0000 (10:27 +0200)]
serv: update copyrights (Greg Davill found the typos/issues).
Florent Kermarrec [Sun, 26 Apr 2020 19:05:47 +0000 (21:05 +0200)]
serv/cores: fix verilog top level (use serv_rf_top instead of serv_top), working :).
Florent Kermarrec [Sun, 26 Apr 2020 14:26:15 +0000 (16:26 +0200)]
serv: fix ibus/dbus byte/word addressing inconsistency, add missing ibus.sel (thanks @GregDavill).
Florent Kermarrec [Sat, 25 Apr 2020 10:51:33 +0000 (12:51 +0200)]
bios/sdram: reduce number of scan loops during cdly scan to speed it up.
Florent Kermarrec [Sat, 25 Apr 2020 10:12:27 +0000 (12:12 +0200)]
targets/kcu105: use cmd_latency=1.
Florent Kermarrec [Sat, 25 Apr 2020 10:11:10 +0000 (12:11 +0200)]
bios/sdram: add some margin on cdly ideal_delay, do the read_leveling even if write_leveling is not optimal.
We need to provide enough information to ease support and understand the issue. The write leveling/read leveling
are doing there best to calibrate the DRAM correctly and memtest gives the final result.
Florent Kermarrec [Sat, 25 Apr 2020 09:03:04 +0000 (11:03 +0200)]
targets/kc705: manual DDRPHY_CMD_DELAY no longer needed.
Florent Kermarrec [Sat, 25 Apr 2020 09:00:21 +0000 (11:00 +0200)]
bios/sdram: review/cleanup Command/Clock calibration, set window at the start instead of middle.
Working on KC705 that previously required manual adjustment.
enjoy-digital [Sat, 25 Apr 2020 07:59:08 +0000 (09:59 +0200)]
Merge pull request #472 from antmicro/jboc/sdram-calibration
bios/sdram: add automatic cdly calibration during write leveling
enjoy-digital [Sat, 25 Apr 2020 06:27:00 +0000 (08:27 +0200)]
Merge pull request #470 from antmicro/jboc/sdram-eeprom-timings
litex_sim: add option to create SDRAM module from SPD data
Jędrzej Boczar [Thu, 23 Apr 2020 11:52:28 +0000 (13:52 +0200)]
bios/sdram: add automatic cdly calibration during write leveling
Florent Kermarrec [Thu, 23 Apr 2020 06:04:04 +0000 (08:04 +0200)]
initial SERV integration.
Florent Kermarrec [Wed, 22 Apr 2020 11:15:07 +0000 (13:15 +0200)]
soc/cores/spi: add optional aligned mode.
In aligned mode, MOSI and MISO bits are located on the LSBs and first transmitted MOSI bit is length - 1 bit.
Florent Kermarrec [Wed, 22 Apr 2020 10:20:23 +0000 (12:20 +0200)]
cores/spi: simplify.
Florent Kermarrec [Wed, 22 Apr 2020 09:50:55 +0000 (11:50 +0200)]
build/lattice/common: add specific LatticeiCE40SDROutputImpl/LatticeiCE40SDRTristateImpl (thanks @tnt).
Florent Kermarrec [Wed, 22 Apr 2020 08:41:50 +0000 (10:41 +0200)]
xilinx/common: use a common SDRTristate implementation for Spartan6, 7-Series and Ultrascale.
Florent Kermarrec [Wed, 22 Apr 2020 08:33:22 +0000 (10:33 +0200)]
build/xilinx/common: add 7-Series/Ultrascale SDROutput/Input.
Florent Kermarrec [Wed, 22 Apr 2020 08:13:28 +0000 (10:13 +0200)]
lattice/common: add LatticeECP5DDRInput.
Florent Kermarrec [Wed, 22 Apr 2020 06:45:32 +0000 (08:45 +0200)]
lattice/common: cleanup instances, simplify tritates.
Florent Kermarrec [Wed, 22 Apr 2020 06:41:17 +0000 (08:41 +0200)]
lattice/common: add LatticeiCE40DDRInput, LatticeiCE40SDROutput and LatticeiCE40SDRInput.
Florent Kermarrec [Sat, 18 Apr 2020 09:38:24 +0000 (11:38 +0200)]
platforms/de0nano: swap serial tx/rx to ease use of cheap FT232 based cables.
Florent Kermarrec [Fri, 17 Apr 2020 19:30:33 +0000 (21:30 +0200)]
tools/remote/etherbone: update import.