Florent Kermarrec [Thu, 9 May 2019 09:54:22 +0000 (11:54 +0200)]
integration/soc_core: rework interrupt assignation/reservation
The CPUs can now reserve specific interrupts with reserved_interrupts property.
User can still define interrupts in SoCCore.interrupt_map (old way) or use
add_interrupt method. Interrupts specific to SoCCore internal modules are
allocated automatically on the remaining free interrupt ids.
Priority for the interrupts allocation:
- 1) CPU reserved interrupts.
- 2) User interrupts.
- 3) SoCCore interrupts.
Florent Kermarrec [Thu, 9 May 2019 09:48:57 +0000 (11:48 +0200)]
test/test_targets: fix test_ulx3s name
Florent Kermarrec [Thu, 9 May 2019 09:48:32 +0000 (11:48 +0200)]
boards/targets: fix ulx3s/versa_ecp5 build
Mateusz Holenko [Mon, 6 May 2019 14:49:21 +0000 (16:49 +0200)]
cpu: add `reserved_interrupts` property
Florent Kermarrec [Tue, 7 May 2019 16:44:03 +0000 (18:44 +0200)]
boards/targets: make sys_clk_freq a parameter
Most of the targets can now generate an abritrary sys_clk_freq from onboard XO.
Florent Kermarrec [Tue, 7 May 2019 11:05:28 +0000 (13:05 +0200)]
boards/targets/minispartan6: for now revert experimental s6pll clocking
Florent Kermarrec [Tue, 7 May 2019 10:48:36 +0000 (12:48 +0200)]
boards/plarforms/minispartan6: default to xc6slx25
Florent Kermarrec [Tue, 7 May 2019 09:59:28 +0000 (11:59 +0200)]
bios/boot/ update linux memory mapping
Florent Kermarrec [Mon, 6 May 2019 21:51:59 +0000 (23:51 +0200)]
tools/litex_term: add json support to load images to memory, allow passing speed as float
example json file (serialboot.json):
{
"binaries/Image": "0xc0000000",
"binaries/rootfs.cpio": "0xc2000000",
"binaries/rv32.dtb": "0xc3000000",
"emulator/emulator.bin": "0x20000000"
}
example command:
lxterm --images=serialboot.json /dev/ttyUSBX
enjoy-digital [Sat, 4 May 2019 18:02:42 +0000 (20:02 +0200)]
Merge pull request #178 from daveshah1/vexriscv_linux_yosys
vexriscv: Fix some floating signals
David Shah [Sat, 4 May 2019 16:27:21 +0000 (17:27 +0100)]
vexriscv: Fix some floating signals
Signed-off-by: David Shah <dave@ds0.me>
Florent Kermarrec [Sat, 4 May 2019 09:27:01 +0000 (11:27 +0200)]
bios/boot: add specific flash_boot for linux with vexriscv
Florent Kermarrec [Fri, 3 May 2019 17:47:36 +0000 (19:47 +0200)]
bios/boot: rename MM_RAM to EMULATOR_RAM
Florent Kermarrec [Fri, 3 May 2019 11:24:06 +0000 (13:24 +0200)]
soc/get_mem_data: add direct support for regions
We now support passing filename (offset=0), json file and regions
Florent Kermarrec [Fri, 3 May 2019 09:59:06 +0000 (11:59 +0200)]
soc/interconnect/axi: add AXI2AXILite converter and use it in AXI2Wishbone
Florent Kermarrec [Fri, 3 May 2019 07:43:05 +0000 (09:43 +0200)]
soc/interconnect/axi: add AXI Lite definition
Florent Kermarrec [Fri, 3 May 2019 07:30:59 +0000 (09:30 +0200)]
soc/interconnect/axi: add comment on axi signas that are present but not used
Florent Kermarrec [Fri, 3 May 2019 07:30:26 +0000 (09:30 +0200)]
cores/cpu/vexriscv: add VexRiscvTimer and use it for the linux variant
Florent Kermarrec [Thu, 2 May 2019 16:26:35 +0000 (18:26 +0200)]
bios/boot: add liftoff banner just before booting
Florent Kermarrec [Thu, 2 May 2019 14:34:41 +0000 (16:34 +0200)]
bios/boot/netboot: only get boot.bin as default, add linux_vexriscv netboot config
Florent Kermarrec [Thu, 2 May 2019 07:58:55 +0000 (09:58 +0200)]
soc/interconnect/axi: connect axi.ar/aw when selecting write or read
Florent Kermarrec [Thu, 2 May 2019 07:27:25 +0000 (09:27 +0200)]
soc/interconnect/axi: wishbone address shift is not always 2, make it generic
Florent Kermarrec [Thu, 2 May 2019 07:26:39 +0000 (09:26 +0200)]
soc/interconnect/wishbone: allow setting adr_width (default to 30)
Florent Kermarrec [Wed, 1 May 2019 10:58:44 +0000 (12:58 +0200)]
soc/interconnect/axi/AXI2Wishbone: add buffer on axi command to be sure command is accepted before response is sent
Florent Kermarrec [Wed, 1 May 2019 10:34:12 +0000 (12:34 +0200)]
build/sim: update tapcfg
enjoy-digital [Wed, 1 May 2019 10:09:18 +0000 (12:09 +0200)]
Merge pull request #176 from gsomlo/gls-ulong-addr
software: use "unsigned long" for address values, also 8-byte alignment
Gabriel L. Somlo [Mon, 29 Apr 2019 18:49:29 +0000 (14:49 -0400)]
software: use "unsigned long" for address values, also 8-byte alignment
Enable future support for 64-bit CPU models.
Florent Kermarrec [Mon, 29 Apr 2019 15:11:42 +0000 (17:11 +0200)]
test/test_targets: comment bad variant tests for now
Florent Kermarrec [Mon, 29 Apr 2019 14:48:42 +0000 (16:48 +0200)]
soc/interconnect/axi: add burst support to AXI2Wishbone
Florent Kermarrec [Mon, 29 Apr 2019 11:11:48 +0000 (13:11 +0200)]
soc/interconnect/axi: add capabilities to AXIBurst2Beat and simplify/optimize
Florent Kermarrec [Mon, 29 Apr 2019 08:14:30 +0000 (10:14 +0200)]
integration/soc_core: use cpu name as cpu-type for all cpus (mor1kx was instanciated with or1k)
Keep or1k retro-compatibility for now but add a warning
Florent Kermarrec [Mon, 29 Apr 2019 08:12:54 +0000 (10:12 +0200)]
build/tools: add deprecated_warning
Florent Kermarrec [Mon, 29 Apr 2019 08:00:04 +0000 (10:00 +0200)]
cpu_interface: default to gcc for all cpus unless told otherwise (mor1kx default was clang)
Florent Kermarrec [Mon, 29 Apr 2019 07:58:51 +0000 (09:58 +0200)]
cpu: use property methods to return name, endianness, gcc triple/flags, linker output format
Florent Kermarrec [Sun, 28 Apr 2019 21:38:31 +0000 (23:38 +0200)]
cpu: integrate nmigen version of Minerva, add submodule
Florent Kermarrec [Sun, 28 Apr 2019 09:41:33 +0000 (11:41 +0200)]
Updating documents from LiteX BuildEnv Wiki
Kurt Kiefer [Sat, 27 Apr 2019 21:57:35 +0000 (14:57 -0700)]
fix vexriscv build
enjoy-digital [Sat, 27 Apr 2019 19:24:06 +0000 (21:24 +0200)]
Merge pull request #175 from mithro/cpu-docs
Standardizing `cpu_variants` and adding lots of documentation
Tim 'mithro' Ansell [Fri, 26 Apr 2019 22:13:28 +0000 (17:13 -0500)]
Adding testing of cpu variants.
Tim 'mithro' Ansell [Fri, 26 Apr 2019 22:08:07 +0000 (17:08 -0500)]
Work with no `cpu_variant` provided.
Tim 'mithro' Ansell [Fri, 26 Apr 2019 22:00:52 +0000 (17:00 -0500)]
Updating documents from LiteX BuildEnv Wiki
Tim 'mithro' Ansell [Fri, 26 Apr 2019 20:29:32 +0000 (15:29 -0500)]
Updating documents from LiteX BuildEnv Wiki
Tim 'mithro' Ansell [Fri, 26 Apr 2019 21:20:21 +0000 (16:20 -0500)]
Standardize the `cpu_variant` strings.
Current valid `cpu_variant` values;
* minimal (alias: min)
* lite (alias: light, zephyr, nuttx)
* standard (alias: std) - Default
* full (alias: everything)
* linux
Fully documented in the [docs/Soft-CPU.md](docs/Soft-CPU.md) file
mirrored from the
[LiteX-BuildEnv Wiki](https://github.com/timvideos/litex-buildenv/wiki).
Also support "extensions" which are added to the `cpu_variant` with a
`+`. Currently only the `debug` extension is supported. In future hope
to add `mmu` and `hmul` extensions.
Florent Kermarrec [Fri, 26 Apr 2019 21:49:06 +0000 (23:49 +0200)]
.gitmodules: use our VexRiscv-verilog
Tim 'mithro' Ansell [Fri, 26 Apr 2019 19:28:20 +0000 (14:28 -0500)]
docs: Adding script to pull useful docs from LiteX BuildEnv's wiki.
Florent Kermarrec [Thu, 25 Apr 2019 21:43:10 +0000 (23:43 +0200)]
soc/integration/soc_core: fix get_mem_data when not file is not multiple of 4 bytes
Florent Kermarrec [Thu, 25 Apr 2019 16:36:47 +0000 (18:36 +0200)]
soc/integration/soc_core: fix get_mem_data for json files
Florent Kermarrec [Thu, 25 Apr 2019 15:30:03 +0000 (17:30 +0200)]
soc/integration/soc_core: add integrated_sram_init
Florent Kermarrec [Wed, 24 Apr 2019 20:44:37 +0000 (22:44 +0200)]
soc/integration/cpu_interface: fix banner in get_mem_header
enjoy-digital [Wed, 24 Apr 2019 20:42:36 +0000 (22:42 +0200)]
Merge pull request #173 from gsomlo/gls-git-revision
build: handle exceptional case when litex/migen not deployed as git repo
Gabriel L. Somlo [Wed, 24 Apr 2019 16:50:47 +0000 (12:50 -0400)]
build: handle exceptional case when litex/migen not deployed as git repo
Florent Kermarrec [Wed, 24 Apr 2019 10:25:49 +0000 (12:25 +0200)]
tools/remote/csr_builder: allow comments in csv file and cleanup
Florent Kermarrec [Wed, 24 Apr 2019 09:32:40 +0000 (11:32 +0200)]
software/libnet/microudp: rearrange send_packet, add comments and remove txlen padding
Florent Kermarrec [Wed, 24 Apr 2019 07:55:41 +0000 (09:55 +0200)]
software/libnet/microudp: speed-up ARP by changing timeout/tries
First ARP request does not seem to be transmitted (the link is probably not
fully established). Reduce the timeout between tries and increase number of
tries.
Florent Kermarrec [Tue, 23 Apr 2019 16:09:12 +0000 (18:09 +0200)]
build/tools: fix typo
Florent Kermarrec [Tue, 23 Apr 2019 15:46:20 +0000 (17:46 +0200)]
setup.py: add short names for tools
Florent Kermarrec [Tue, 23 Apr 2019 15:46:02 +0000 (17:46 +0200)]
tools/litex_term: change TERM prompt to LXTERM
Florent Kermarrec [Tue, 23 Apr 2019 15:40:24 +0000 (17:40 +0200)]
build: add migen and litex git revision to generated file
Florent Kermarrec [Tue, 23 Apr 2019 15:15:43 +0000 (17:15 +0200)]
build/tools: git_revision is not doing what we want, return "--------" for now
Florent Kermarrec [Tue, 23 Apr 2019 12:53:00 +0000 (14:53 +0200)]
litex_setup: revert default install behaviour but add --user support
enjoy-digital [Tue, 23 Apr 2019 12:41:37 +0000 (14:41 +0200)]
Merge pull request #171 from keesj/develop_as_user
Install development packages in the user directory
Florent Kermarrec [Tue, 23 Apr 2019 12:25:27 +0000 (14:25 +0200)]
tools/litex_server: fix comms import
Florent Kermarrec [Tue, 23 Apr 2019 11:17:54 +0000 (13:17 +0200)]
soc/integration: also add sha-1/date to generated software files
Florent Kermarrec [Tue, 23 Apr 2019 10:59:25 +0000 (12:59 +0200)]
build: add sha-1/date to generated verilog, change git_version to git_revision
Kees Jongenburger [Tue, 23 Apr 2019 10:23:09 +0000 (12:23 +0200)]
Install development packages in the user directory
When in development mode install the packages in the user directory using the
--user flag from pip. This allows to install and run without the need for root
access.
Florent Kermarrec [Tue, 23 Apr 2019 09:38:08 +0000 (11:38 +0200)]
test/test_targets: cover all platforms
Florent Kermarrec [Tue, 23 Apr 2019 09:37:29 +0000 (11:37 +0200)]
boards/platforms/ulx3s: fix default clock
Florent Kermarrec [Tue, 23 Apr 2019 09:21:55 +0000 (11:21 +0200)]
boards/platforms/sp605: apply same simplifications than on others platforms
Michael Betz [Tue, 23 Apr 2019 09:15:42 +0000 (11:15 +0200)]
boards/platforms: add SP605
Florent Kermarrec [Tue, 23 Apr 2019 09:13:19 +0000 (11:13 +0200)]
cores/cpu/vexriscv: fix wrong revert
Florent Kermarrec [Tue, 23 Apr 2019 09:10:35 +0000 (11:10 +0200)]
targets/ac701: cleanup and make it similar to others targets.
Still supports EthernetSoC with RGMII and 1000BaseX.
Florent Kermarrec [Tue, 23 Apr 2019 08:51:36 +0000 (10:51 +0200)]
targets/xilinx: remove keep attribute on clock going to idelayctrl
Causes P&R issues with Vivado.
Florent Kermarrec [Tue, 23 Apr 2019 08:02:07 +0000 (10:02 +0200)]
boards/platform/ac701: add proper copyright, cleanup to be similar to others platforms
Florent Kermarrec [Tue, 23 Apr 2019 08:00:52 +0000 (10:00 +0200)]
boards/platforms/kc705: provide only one default programmer as others platforms
Vamsi K Vytla [Tue, 23 Apr 2019 07:48:16 +0000 (09:48 +0200)]
boards: Xilinx ac701 dev board support
Michael Betz [Tue, 23 Apr 2019 07:22:48 +0000 (09:22 +0200)]
build/xilinx/ise.py: write .v file for post synthesis sim
Florent Kermarrec [Tue, 23 Apr 2019 07:20:42 +0000 (09:20 +0200)]
build/xilinx/programmer: cleanup XC3SProg position parameter
Michael Betz [Tue, 23 Apr 2019 07:16:42 +0000 (09:16 +0200)]
build/xilinx/programmer: add position parameter to XC3SProg
Vamsi K Vytla [Tue, 23 Apr 2019 07:10:11 +0000 (09:10 +0200)]
.gitignore: ignore tilde files
Florent Kermarrec [Tue, 23 Apr 2019 04:44:29 +0000 (06:44 +0200)]
targets/minispartan6: use S6PLL in CRG
Florent Kermarrec [Tue, 23 Apr 2019 04:43:48 +0000 (06:43 +0200)]
cores/clock: add divclk_divide_range on S6PLL/S6DCM
Florent Kermarrec [Tue, 23 Apr 2019 04:35:39 +0000 (06:35 +0200)]
cores/clock: use common XilinxClocking class for all Xilinx clocking modules
Michael Betz [Tue, 23 Apr 2019 04:23:00 +0000 (06:23 +0200)]
cores/clock: add initial Spartan6 PLL/DCM support
Florent Kermarrec [Tue, 23 Apr 2019 04:03:12 +0000 (06:03 +0200)]
build: add git version (sha-1) used to create the scripts
Florent Kermarrec [Tue, 23 Apr 2019 03:38:33 +0000 (05:38 +0200)]
build: scripts are generated by LiteX
Florent Kermarrec [Tue, 23 Apr 2019 03:33:56 +0000 (05:33 +0200)]
build/xilinx/vivado: cleanup pull request #170
enjoy-digital [Tue, 23 Apr 2019 03:26:54 +0000 (05:26 +0200)]
Merge pull request #170 from ldoolitt/master
build/xilinx/vivado: only try Xilinx setup if vivado is not already i…
Larry Doolittle [Mon, 22 Apr 2019 22:42:31 +0000 (15:42 -0700)]
build/xilinx/vivado: only try Xilinx setup if vivado is not already in the path
Only affects the non-Windows code path.
Uses python distutils, already used elsewhere.
Florent Kermarrec [Mon, 22 Apr 2019 07:37:00 +0000 (09:37 +0200)]
global: switch to VexRiscv as the default CPU
VexRiscv can now replace LM32 for almost all usecases and we now have better
software support with RISC-V.
Florent Kermarrec [Mon, 22 Apr 2019 06:53:43 +0000 (08:53 +0200)]
ci: fix test_targets/test_simple
Florent Kermarrec [Mon, 22 Apr 2019 06:41:28 +0000 (08:41 +0200)]
test: remove waveforms generation
Florent Kermarrec [Mon, 22 Apr 2019 06:32:00 +0000 (08:32 +0200)]
travis: simplify, enable and add RISC-V toolchain to build targets
Florent Kermarrec [Sat, 20 Apr 2019 22:44:23 +0000 (00:44 +0200)]
boards/platforms: add separators, cleanup imports
Florent Kermarrec [Sat, 20 Apr 2019 22:17:03 +0000 (00:17 +0200)]
boards/platforms: provide only one default programmer per platform.
create_programmer is not really longer used, so try to keep it simple.
Florent Kermarrec [Sat, 20 Apr 2019 22:04:56 +0000 (00:04 +0200)]
boards/platforms/kc705: only keep Vivado support
There is no reason still using ISE on 7-Series.
Florent Kermarrec [Sat, 20 Apr 2019 21:56:27 +0000 (23:56 +0200)]
boards: always define timing constraints the same way (1e9/freq_mhz)
Florent Kermarrec [Sat, 20 Apr 2019 21:47:05 +0000 (23:47 +0200)]
boards/targets/ulx3s: allow running test_targets on it
Florent Kermarrec [Sat, 20 Apr 2019 21:43:44 +0000 (23:43 +0200)]
boards/targets: add keep attribute directly in crg
This makes it systematic and avoid having to add it later.
enjoy-digital [Sat, 20 Apr 2019 10:23:24 +0000 (12:23 +0200)]
Merge pull request #167 from xobs/network-flag-check
litex_server: check socket flags exist before using them
Sean Cross [Sat, 20 Apr 2019 09:28:26 +0000 (17:28 +0800)]
litex_server: check socket flags exist before using them
Some flags are only available on certain platforms. Verify these flags
exist prior to using them when opening a socket.
See
https://stackoverflow.com/questions/
14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t
for more information
Signed-off-by: Sean Cross <sean@xobs.io>