enjoy-digital [Tue, 18 Jun 2019 11:15:30 +0000 (13:15 +0200)]
Merge pull request #200 from gsomlo/gls-rocket-variants
cpu/rocket: add "linux" (MMU) and "full" (MMU & FPU) variants
Gabriel L. Somlo [Tue, 18 Jun 2019 10:42:40 +0000 (06:42 -0400)]
cpu/rocket: add "linux" (MMU) and "full" (MMU & FPU) variants
Florent Kermarrec [Tue, 18 Jun 2019 07:44:09 +0000 (09:44 +0200)]
cpu/rocket: update submodule
Florent Kermarrec [Mon, 17 Jun 2019 07:55:27 +0000 (09:55 +0200)]
integration/soc_core: move cpu_variant checks/formating to cpu
Florent Kermarrec [Mon, 17 Jun 2019 07:54:17 +0000 (09:54 +0200)]
cpu/vexriscv: add "linux+no-dsp" variant
Florent Kermarrec [Mon, 17 Jun 2019 07:24:57 +0000 (09:24 +0200)]
cpu/vexriscv: update
Florent Kermarrec [Mon, 17 Jun 2019 07:20:21 +0000 (09:20 +0200)]
targets/ulx3s: use CAS latency of 3 to be compatible with production boards
enjoy-digital [Thu, 13 Jun 2019 05:14:03 +0000 (07:14 +0200)]
Merge pull request #199 from ambrop72/no-ethmac-fix
bios: Fix build when ethphy is present but ethmac is not.
Ambroz Bizjak [Wed, 12 Jun 2019 23:02:22 +0000 (01:02 +0200)]
bios: Fix build when ethphy is present but ethmac is not.
While testing my Ethernet DMA, I renamed the `ethmac` module to `ethmac_dma` so that it wouldn't be used from the BIOS, but I got an undefined reference to `eth_init` because `bios.c` checks different CSR defines than the code that defines `eth_init`.
Florent Kermarrec [Wed, 12 Jun 2019 09:28:06 +0000 (11:28 +0200)]
test/test_axi: remove litex.gen.sim import (was only useful for debug)
Florent Kermarrec [Wed, 12 Jun 2019 09:26:57 +0000 (11:26 +0200)]
setup.py: add migen to install_requires
enjoy-digital [Tue, 11 Jun 2019 13:50:02 +0000 (15:50 +0200)]
Merge pull request #198 from TomKeddie/tomk_20190610_artyspi
boards/arty : Add directly connected spi clk pin
Florent Kermarrec [Mon, 10 Jun 2019 16:53:30 +0000 (18:53 +0200)]
test/test_code8b10b: add test_coding
Tom Keddie [Mon, 10 Jun 2019 15:33:02 +0000 (08:33 -0700)]
boards/arty : Add directly connected spi clk pin to avoid need for STARTUPE2
Florent Kermarrec [Mon, 10 Jun 2019 14:05:53 +0000 (16:05 +0200)]
test/test_prbs: add PRBSGenerator/Checker tests
Florent Kermarrec [Mon, 10 Jun 2019 14:05:36 +0000 (16:05 +0200)]
soc/cores: add PRBS (Pseudo Random Binary Sequence) Generator/Checker
Imported from LiteICLink. PRBS can be useful for different purposes, so is
better integrated in LiteX.
Florent Kermarrec [Mon, 10 Jun 2019 13:06:57 +0000 (15:06 +0200)]
tools/litex_term: exit on 2 consecutive CTRL-C
When running OS with LiteX and when LiteXTerm is use, we want to be able to
send CTRl-C to the OS. Ensure a specific sequence is sent to close the terminal.
Florent Kermarrec [Mon, 10 Jun 2019 10:57:10 +0000 (12:57 +0200)]
cpu/vexriscv: update submodule
Florent Kermarrec [Sun, 9 Jun 2019 17:36:09 +0000 (19:36 +0200)]
doc: add litex-hub logo
Florent Kermarrec [Sat, 8 Jun 2019 22:36:46 +0000 (00:36 +0200)]
doc: redesign new logo
Florent Kermarrec [Fri, 7 Jun 2019 22:45:30 +0000 (00:45 +0200)]
doc: add new logo
Florent Kermarrec [Fri, 7 Jun 2019 16:36:46 +0000 (18:36 +0200)]
cpu/vexriscv: update submodule
Florent Kermarrec [Fri, 7 Jun 2019 10:28:20 +0000 (12:28 +0200)]
build/sim: allow configuring verilator optimization level
Florent Kermarrec [Fri, 7 Jun 2019 09:50:57 +0000 (11:50 +0200)]
build/sim: allow defining start/end cycles for tracing
Florent Kermarrec [Fri, 7 Jun 2019 09:16:39 +0000 (11:16 +0200)]
build/sim: use -O0 for verilator compilation
In most of the case, execution speed is already fast enough with -O0 and
with complex design -O0 is a lost faster to compile than -O3. In the future
we could add a switch to choose which optimization we want.
Florent Kermarrec [Fri, 7 Jun 2019 09:14:36 +0000 (11:14 +0200)]
soc/integration/soc_core: list rocket as supported CPU
Florent Kermarrec [Fri, 7 Jun 2019 09:10:04 +0000 (11:10 +0200)]
software/bios: change prompt to "litex" in green.
Florent Kermarrec [Wed, 5 Jun 2019 21:43:16 +0000 (23:43 +0200)]
integration/soc_core: improve readibility (add separators/comments)
Florent Kermarrec [Wed, 5 Jun 2019 18:03:19 +0000 (20:03 +0200)]
test/test_targets: add de10lite
enjoy-digital [Wed, 5 Jun 2019 17:44:54 +0000 (19:44 +0200)]
Merge pull request #196 from msloniewski/de10lite_support
De10lite support
enjoy-digital [Wed, 5 Jun 2019 17:20:15 +0000 (19:20 +0200)]
Merge pull request #195 from antmicro/extend_generated_headers
Extend generated headers & csv
msloniewski [Wed, 5 Jun 2019 16:53:49 +0000 (18:53 +0200)]
boards/targets: add target for de10lite platform
msloniewski [Wed, 5 Jun 2019 16:53:30 +0000 (18:53 +0200)]
boards/platforms: add de10lite Terasic platform support
msloniewski [Wed, 5 Jun 2019 16:52:40 +0000 (18:52 +0200)]
build/altera: Add possibility to turn off generation of .rbf file
For some FPGAs (e.g. MAX10) .rbf file cannot be generated.
Add possibility to turn off that feature for those chips.
Mateusz Holenko [Wed, 5 Jun 2019 15:27:27 +0000 (17:27 +0200)]
integration/builder: generate flash_boot address to csv
Mateusz Holenko [Wed, 5 Jun 2019 15:35:47 +0000 (17:35 +0200)]
integration/builder: generate shadow_base address to mem.h and csv
enjoy-digital [Tue, 4 Jun 2019 19:49:18 +0000 (21:49 +0200)]
Merge pull request #193 from gsomlo/gls-memcpy-fix
software/libbase: memcpy: simple, arch-width agnostic implementation
Gabriel L. Somlo [Tue, 4 Jun 2019 18:42:54 +0000 (14:42 -0400)]
software/libbase: memcpy: simple, arch-width agnostic implementation
Remove optimizations targeted specifically at rv32 architecture,
allowing memcpy to work on all word sizes.
Since this is "only" the BIOS, it is also arguably better to
optimize for size rather than performance, given that control
will be quickly handed over to some other program being loaded.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Tim Ansell [Sun, 2 Jun 2019 23:54:20 +0000 (16:54 -0700)]
Merge pull request #192 from sutajiokousagi/pr_c99_types
fix signed char type to be explicitly signed
bunnie [Mon, 3 Jun 2019 06:00:27 +0000 (06:00 +0000)]
fix signed char type to be explicitly signed
bunnie [Sun, 2 Jun 2019 22:26:18 +0000 (22:26 +0000)]
update stdint.h to include c99 types
needed for some third party libraries to compile
Tim Ansell [Sun, 2 Jun 2019 20:00:20 +0000 (13:00 -0700)]
Merge pull request #191 from sergachev/master
Fix interrupt_name in soc_core/add_interrupt
Ilia Sergachev [Sun, 2 Jun 2019 18:56:02 +0000 (20:56 +0200)]
fix csr_name in add_csr()
Ilia Sergachev [Sun, 2 Jun 2019 18:48:08 +0000 (20:48 +0200)]
fix interrupt_name
Florent Kermarrec [Sun, 2 Jun 2019 17:22:09 +0000 (19:22 +0200)]
test/test_targets: add de2_115, de1soc
Florent Kermarrec [Sun, 2 Jun 2019 17:10:44 +0000 (19:10 +0200)]
boards/platform/arty: add Arty A7-100 variant
enjoy-digital [Sun, 2 Jun 2019 16:40:57 +0000 (18:40 +0200)]
Merge pull request #189 from open-design/terasic-boards
Add support for Terasic DE2-115 and Terasic DE1-SoC boards
Tim Ansell [Sun, 2 Jun 2019 15:15:52 +0000 (08:15 -0700)]
Merge pull request #190 from sutajiokousagi/pr_c99_types
update stdint.h to include c99 types
Antony Pavlov [Mon, 27 May 2019 08:17:51 +0000 (11:17 +0300)]
boards: add Terasic DE2-115 initial support
See https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=502&PartNo=1
for board details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Antony Pavlov [Wed, 29 May 2019 06:12:48 +0000 (09:12 +0300)]
boards: add Terasic DE1-SoC Board support
See https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=836
for board details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
enjoy-digital [Thu, 30 May 2019 20:40:39 +0000 (22:40 +0200)]
Merge pull request #188 from gsomlo/gls-csr-cleanup
Miscellaneous cleanup patches
Gabriel L. Somlo [Wed, 29 May 2019 14:07:43 +0000 (10:07 -0400)]
soc/integration/cpu_interface: improve code legibility
Factor out code appearing in both branches of an if/else.
Florent Kermarrec [Wed, 29 May 2019 08:25:25 +0000 (10:25 +0200)]
soc/interconnect/gearbox: add msb_first/lsb_first order
Florent Kermarrec [Tue, 28 May 2019 07:55:06 +0000 (09:55 +0200)]
boards/targets/arty: generate 25MHz ethernet clock with S7PLL
Allow ethernet to work when sys_clk_freq != 100MHz
Tim Ansell [Sun, 26 May 2019 10:01:31 +0000 (03:01 -0700)]
Merge pull request #187 from open-design/indent
litex/boards/targets: don't use tab for indentation
Antony Pavlov [Sun, 26 May 2019 08:59:13 +0000 (11:59 +0300)]
litex/boards/targets: don't use tab for indentation
Fix pep8 E101 "indentation contains mixed spaces and tab" error.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Florent Kermarrec [Sat, 25 May 2019 08:02:31 +0000 (10:02 +0200)]
soc/interconnect/axi: add round/robin arbitration between writes/reads
Florent Kermarrec [Sat, 25 May 2019 07:30:54 +0000 (09:30 +0200)]
travis: update RISC-V toolchain
Florent Kermarrec [Sat, 25 May 2019 07:24:48 +0000 (09:24 +0200)]
bios/irc: remove compilation workaround
Florent Kermarrec [Sat, 25 May 2019 07:24:25 +0000 (09:24 +0200)]
README: update RISC-V toolchain
Florent Kermarrec [Fri, 24 May 2019 08:39:48 +0000 (10:39 +0200)]
.gitmodules/rocket: switch to https://github.com/enjoy-digital/rocket-litex-verilog
Florent Kermarrec [Fri, 24 May 2019 08:13:24 +0000 (10:13 +0200)]
software/bios/isr.c: workaround compilation issue (need to be fixed)
Florent Kermarrec [Fri, 24 May 2019 08:08:16 +0000 (10:08 +0200)]
soc/integration/soc_core: revert default mem_map (do specific RocketChip remapping for now)
Florent Kermarrec [Fri, 24 May 2019 07:37:33 +0000 (09:37 +0200)]
boards/targets: revert default sys_clk_freq on nexys4ddr/versa_ecp5 (but add parameter to configure it)
enjoy-digital [Fri, 24 May 2019 08:15:02 +0000 (10:15 +0200)]
Merge pull request #186 from gsomlo/gls-rocket
Experimental Support for 64-bit RocketChip
Gabriel L. Somlo [Thu, 23 May 2019 20:27:17 +0000 (16:27 -0400)]
fixup: generated-verilog submodule for experimental Rocket support
FIXME: This patch uses https://github.com/gsomlo/rocket-litex-verilog,
however in the long term it would perhaps be better if enjoy-digital
hosted the generated-verilog repository.
Once that's in place, I'd be happy to re-spin (and squash) this patch
on top of its parent -- GLS
Gabriel L. Somlo [Thu, 9 May 2019 12:47:06 +0000 (08:47 -0400)]
soc/cores/cpu/rocket: Support for 64-bit RocketChip (experimental)
Simulate a Rocket-based 64-bit LiteX SoC with the following command:
litex/tools/litex_sim.py [--with-sdram] --cpu-type=rocket
NOTE: Synthesizes to FPGA and passes timing at 50MHz on nexys4ddr
(with vivado) and ecp5versa (with yosys/trellis/nextpnr), but at
this time does not yet properly initialize physical on-board DRAM.
On ecp5versa, using '--with-ethernet', up to 97% of the available
TRELLIS_SLICE capacity is utilized.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
enjoy-digital [Thu, 23 May 2019 13:52:33 +0000 (15:52 +0200)]
Merge pull request #185 from gsomlo/gls-sim-sdram
tools/litex_sim: restore functionality of '--with-sdram' option
Gabriel L. Somlo [Thu, 23 May 2019 12:53:26 +0000 (08:53 -0400)]
tools/litex_sim: restore functionality of '--with-sdram' option
After LiteDRAM commit #
50e1d478, an additional positional argument
('databits') is required by the PhySettings() constructor.
The value used here (32) will generate a 64MByte simulated SDRAM.
enjoy-digital [Tue, 21 May 2019 05:19:15 +0000 (07:19 +0200)]
Merge pull request #183 from xobs/usb-to-0x43
Use 0x43/0xc3 for USB bridge magic packet
Sean Cross [Tue, 21 May 2019 01:35:09 +0000 (02:35 +0100)]
remote: usb: print "access denied" error
When we get an error with errno 13, it means that the user doesn't
have access to the USB device. Rather than silently eating this
error and returning -1, print out a message to aid in debugging.
Signed-off-by: Sean Cross <sean@xobs.io>
Sean Cross [Tue, 21 May 2019 01:14:18 +0000 (09:14 +0800)]
remote: usb: use 0x43/0xc3 for packet header
The previous value -- 0xc0 -- is used by Windows all the time to query
special descriptors. This was causing a conflict when using the USB
bridge on a Windows device.
Change the magic packet from "Vendor: Device" queries to "Vendor:
Other" by setting the bottom two bits.
Signed-off-by: Sean Cross <sean@xobs.io>
Florent Kermarrec [Fri, 17 May 2019 20:21:57 +0000 (22:21 +0200)]
soc/cores/minerva: update to latest
enjoy-digital [Fri, 17 May 2019 14:33:34 +0000 (16:33 +0200)]
Merge pull request #182 from gsomlo/gls-nexys4-eth-fixup
boards/nexys4ddr: ethernet support fix-up
Gabriel L. Somlo [Fri, 17 May 2019 14:06:12 +0000 (10:06 -0400)]
boards/nexys4ddr: ethernet support fix-up
Commit
5f6e7874 added ethernet support, let's now also expose it via
the "--with-ethernet" command line argument.
Florent Kermarrec [Thu, 16 May 2019 13:15:30 +0000 (15:15 +0200)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Thu, 16 May 2019 13:14:55 +0000 (15:14 +0200)]
soc_core: remove csr_expose and add add_csr_master method
This could be useful in specific case were we don't have a wishbone master
but just want to have a csr bus and allow the user to define it.
/!\ Since there is no arbitration on between the CSR masters, use this with
precaution /!\
Florent Kermarrec [Wed, 15 May 2019 20:40:32 +0000 (22:40 +0200)]
software/include/base/csr-defs.h: add specific CSR_IRQ_MASK/PENDING for Minerva
Florent Kermarrec [Tue, 14 May 2019 09:44:15 +0000 (11:44 +0200)]
software/bios/boot: remove specific linux commands (not needed with device tree)
Florent Kermarrec [Tue, 14 May 2019 09:02:09 +0000 (11:02 +0200)]
boards/targets/de0nano: reduce to 50MHz sys_clk, simplify CRG
Florent Kermarrec [Tue, 14 May 2019 08:31:40 +0000 (10:31 +0200)]
platforms/de0nano: change serial pins (put then next to the GND pin)
Florent Kermarrec [Mon, 13 May 2019 08:59:26 +0000 (10:59 +0200)]
cpu/vexriscv/core: update
Florent Kermarrec [Mon, 13 May 2019 08:59:03 +0000 (10:59 +0200)]
cpu/vexriscv: update submodule (new linux variant)
Florent Kermarrec [Mon, 13 May 2019 08:18:23 +0000 (10:18 +0200)]
boards/nexys4ddr: add ethernet support (RMII 100Mbps)
Florent Kermarrec [Sat, 11 May 2019 10:39:02 +0000 (12:39 +0200)]
boards/targets/netv2: +x
Florent Kermarrec [Sat, 11 May 2019 07:36:53 +0000 (09:36 +0200)]
soc/cores: remove cordic
Cordic is useful for DSP cores but not as a Soc building block.
Florent Kermarrec [Sat, 11 May 2019 07:26:51 +0000 (09:26 +0200)]
LICENSE: clarify
Florent Kermarrec [Sat, 11 May 2019 07:12:20 +0000 (09:12 +0200)]
soc/interconnect: remove axi_lite
axi_lite code was defining AXI4Lite signals and doing a AXI4Lite bridge to the
CSR bus when LiteX was not having proper AXI support. LiteX now has proper AXI
support and it also cover what axi_lite was doing: To create a AXILite to CSR
bus, user can create an AXILite2Wishbone bridge and then connect the CSR bus
directly to the wishbone bus as done in the others non-AXI SoC.
Florent Kermarrec [Fri, 10 May 2019 16:55:40 +0000 (18:55 +0200)]
boards: add initial NeTV2 support (clocks, leds, dram, ethernet)
Florent Kermarrec [Fri, 10 May 2019 13:46:22 +0000 (15:46 +0200)]
soc/integration/soc_sdram: simplify/fix main_ram_size computation using new databits value of the phy
Florent Kermarrec [Fri, 10 May 2019 09:05:34 +0000 (11:05 +0200)]
soc/integration/soc_core: allow user to defined internal csr/interrupts
For some designs with different capabilities, we want to run the same software
and then have the CSRs/Interrupts defined to a specific location.
Florent Kermarrec [Thu, 9 May 2019 21:50:43 +0000 (23:50 +0200)]
boards/targets: use new add_csr method
Florent Kermarrec [Thu, 9 May 2019 21:33:08 +0000 (23:33 +0200)]
tools/litex_sim: add uart csr (required when with_uart=False with new add_csr method)
Florent Kermarrec [Thu, 9 May 2019 21:32:22 +0000 (23:32 +0200)]
soc/integration/soc_core: rework csr assignation/reservation
Similar refactor than on interrupts. Adds a add_csr method but still
retro-compatible with old way to declare CSRs.
Florent Kermarrec [Thu, 9 May 2019 10:13:15 +0000 (12:13 +0200)]
boards/targets: declare ethmac interrupt with new add_interrupt method
The previous way to define interrupt is still valid, but using add_interrupt
method will ease maintenance
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