Florent Kermarrec [Thu, 9 May 2019 09:57:19 +0000 (11:57 +0200)]
Merge branch 'master' of github.com/enjoy-digital/litex
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
enjoy-digital [Thu, 9 May 2019 06:57:31 +0000 (08:57 +0200)]
Merge pull request #179 from gsomlo/gls-xtra-addrlen
soc/integration/cpu_interface: more arch-specific address size fixes
Gabriel L. Somlo [Wed, 8 May 2019 19:36:13 +0000 (15:36 -0400)]
soc/integration/cpu_interface: more arch-specific address size fixes
When generating arch-specific include files (generated/[mem|csr].h)
ensure address literal defines are suffixed by 'L', denoting their
'unsigned long' type. This inhibits compiler warnings when values
computed based on these constants are cast to pointers.
Also ensure csr_[read|write][b|w|l]() function declarations have
'unsigned long' address arguments.
Finally, restore the correct (32-bit, (unsigned *)) expected
behavior of the MMPTR() macro, inadvertently converted to an
arch-specific sized access (unsigned long *) by commit
5c2b8685.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
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