Commit Graph

7402 Commits

Author SHA1 Message Date
enjoy-digital aad64bbf9b
Merge pull request #943 from JosephBushagour/jbushagour_getargspec_fix
Replace deprecated inspect.getargspec with inspect.getfullargspec.
2021-06-16 14:59:39 +02:00
enjoy-digital deda54a9ba
Merge pull request #945 from tcal-x/symbiflow-make
Force SymbiFlow 'make' to be non-parallel.
2021-06-16 14:57:36 +02:00
Tim Callahan e59530ab50 Force SymbiFlow 'make' to be non-parallel.
Signed-off-by: Tim Callahan <tcal@google.com>
2021-06-15 14:49:28 -07:00
Florent Kermarrec 8a644c9086 soc/add_video_xy: Allow passing phy or phy's Endpoint. 2021-06-15 18:10:24 +02:00
Joey Bushagour 62ea48940a Replace deprecated inspect.getargspec with inspect.getfullargspec. 2021-06-15 08:03:11 -05:00
Vegard Storheil Eriksen 8d527a1f3f soc/software/bios: Allow registering init functions. 2021-06-13 14:04:34 +02:00
Vegard Storheil Eriksen 61636f1248 soc/integration/builder: Allow linking in external software packages. 2021-06-13 14:04:34 +02:00
Dan Callaghan be4c7cfb34 soc/cores/ram: allow populating initial values in Nexus LRAM
On designs which use Nexus parts without any external memory, it can be
difficult to fit an embedded ROM program larger than a few KiB. Radiant
cannot infer LRAM, and refuses to infer EBRAM under many circumstances
too, so large memories tend to just consume a huge number of LUTs.

This patch makes it possible to explicitly wire up an LRAM as a ROM,
populate its initial values with a program, and execute directly from
it. That lets us embed programs up to 64KiB.
2021-06-11 16:41:10 +10:00
bunnie 6b8a35a2f8
Merge pull request #940 from betrusted-io/keyclear_merge
breakout the keyclearb pin for integration elsewhere
2021-06-11 04:46:08 +08:00
bunnie 311b633a11 breakout the keyclearb pin for integration elsewhere 2021-06-11 04:44:39 +08:00
enjoy-digital 0a932be491
Merge pull request #936 from developandplay/patch-4
Sync ROM_BOOT_ADDRESS with main_ram location
2021-06-09 12:11:24 +02:00
enjoy-digital d5cfe09f4c
Merge pull request #931 from madscientist159/add-1920-1200-mode
Add 1920x1200@60 RBv2 to LiteX video modes
2021-06-09 09:03:57 +02:00
enjoy-digital 8cdb0b8db3
Merge pull request #932 from developandplay/patch-3
Fix base_address for LiteDRAMWishbone2Native
2021-06-09 08:58:28 +02:00
Florent Kermarrec 5061a368da cores/video: Regroup VGA/DVI Phy in VideoGenericPHY and support variations (positive/negative hsync/vsync, etc...) 2021-06-09 08:49:29 +02:00
developandplay e0352a1f0f
Sync ROM_BOOT_ADDRESS with main_ram location
Rocket and Blackparrot main_ram starts at 0x80000000
Vexriscv main_ram starts at 0x40000000
2021-06-09 03:36:32 +02:00
Florent Kermarrec 25ead1ad69 interconnect/stream: Add Gate. 2021-06-08 18:58:08 +02:00
Florent Kermarrec bd1463514b litex_setup: Remove Travis specific code (CI no longer run on Travis). 2021-06-08 10:49:28 +02:00
developandplay f2caeaf83a
Fix base_address for LiteDRAMWishbone2Native
Fixes `origin == None` due to https://github.com/litex-hub/litex-boards/commit/ba01776
2021-06-08 00:51:11 +02:00
Raptor Engineering Development Team 47c19933fa Add 1920x1200@60 RBv2 to LiteX video modes Tested on Raptor Sparrowhawk 2021-06-07 14:49:33 -05:00
Florent Kermarrec a064e9d048 soc/interconnect/wishbone: Fix SEL propagation on UpConverter (thanks @Dolu1990). 2021-06-02 10:46:53 +02:00
Florent Kermarrec 0b329c3dce tools/litex_json2dts: Add initial USB OHCI support. 2021-06-01 10:41:35 +02:00
Florent Kermarrec acebc949c6 litex_setup: Add USB OHCI pythondata. 2021-06-01 10:29:49 +02:00
Florent Kermarrec a17ded2ce6 soc/cores: Add initial USB OHCI core wrapper. 2021-06-01 10:28:30 +02:00
Florent Kermarrec 6c8e839cef soc/cores/freqmeter: Minor simplification. 2021-06-01 10:26:27 +02:00
Florent Kermarrec 26db10701a integration/soc/add_video_terminal: Connect UART to TX FIFO instead of Source.
Allow UART to be displayed on terminal with Auto TX flush.
2021-05-28 11:11:49 +02:00
Florent Kermarrec ad1fe143cc cores/uart: Cleanup code and add optional automatic TX Flush.
In some SoCs where UART's PHY is managed externally (ex through a Bridge) we don't
necessarily want the UART TX to wait for the PHY to be ready (and then stall the
CPU) but just want to let the CPU print the UART and will just connect when useful
and handle backpressure when connected.

This is now possible by calling add_auto_tx_flush method, ex in the SoC:
self.uart.add_auto_tx_flush(sys_clk_freq)
2021-05-28 11:03:23 +02:00
Florent Kermarrec f6b2135cc9 test/test_timer: Update. 2021-05-27 19:37:51 +02:00
Florent Kermarrec d11dc0b503 libbase/memtest: Print size with 1 digit after the decimal point. 2021-05-27 19:33:29 +02:00
enjoy-digital 9b85769499
Merge pull request #923 from gsomlo/gls-fix-gcc-warn
software/lib*: address gcc warnings
2021-05-27 18:50:24 +02:00
enjoy-digital d7f4293743
Merge pull request #924 from developandplay/patch-2
Use add_etherbone in simulation
2021-05-27 18:49:45 +02:00
Florent Kermarrec 34df454157 cores/timer/uart: Use edge="rising on Timer/UART's EventSourceProcess.
Make code easier to understand.
2021-05-27 18:47:40 +02:00
Gabriel Somlo 9a24034d1d software/lib*: address gcc warnings
Fix gcc warnings: use 'unsigned long' to represent memory addresses,
and remove 'static' from the definition of 'cdelay()', as it is called
from multiple C files.
2021-05-27 08:47:29 -04:00
developandplay c17421bccb
Use add_etherbone in simulation
Fixes not working analyzer example from wiki
2021-05-26 23:18:22 +02:00
Florent Kermarrec 5fd215fe3a soc/interconnect/stream/Pipeline: Improve comments. 2021-05-26 18:34:22 +02:00
Florent Kermarrec b1d8fe61f8 cores/cpu: Add initial FemtoRV support.
FemtoRV is a minimalist RISC-V CPU with design process documented and
available at https://github.com/BrunoLevy/learn-fpga.

This CPU is a very nice way to discover/learn RISC-V and this LiteX support
can be useful to learn how to integrate a custom CPU with LiteX.

With this support, FemtoRV is now directly usable with LiteX Sim:
$litex_sim --cpu-type=femtorv

This should also enable its use on all boards (> 50) available in LiteX-Boards
repository (but hasn't been tested yet), ex:
$python3 -m litex_boards.targets.digilent_arty --cpu-type=femtorv --build
2021-05-26 09:08:41 +02:00
Florent Kermarrec d3560e5772 liblitedram/sdram.c: Update sdram_write_read_check_test_pattern with SDRAM_PHY_ECP5DDRPHY.
The return value has been changed and also required to be update for SDRAM_PHY_ECP5DDRPHY.
2021-05-25 10:28:56 +02:00
enjoy-digital 8085cc3c97
Merge pull request #915 from zyp/liblitespi_remove_mode
software/liblitespi: Remove manual mode control.
2021-05-25 08:41:13 +02:00
Romain Dolbeau c06bd2c77d Make the [ID]TLB size configurable from Litex ; expand the DTS to include cache/TLB/topology in CPUs & generate the required information for VexRiscv 2021-05-23 03:15:02 -04:00
Florent Kermarrec 5e40709cbc README.md: IRC channel moved to moved to irc.libera.chat (https://libera.chat) #litex due to staff issues. 2021-05-22 12:15:24 +02:00
Florent Kermarrec 55344b4c14 cores/clock/xilinx: Add power down support. 2021-05-19 22:31:35 +02:00
Florent Kermarrec cbb75b852e cores/clock/xilinx: Cosmetic cleanup on Instances. 2021-05-19 22:20:04 +02:00
Florent Kermarrec 12b27f961c software/liblitedram: Fix compilation on designs without SDRAM. 2021-05-19 11:07:03 +02:00
Florent Kermarrec aa2622b1f5 software/liblitedram: Add missing #ifdef SDRAM_DEBUG to fix compilation with large DRAMs.
sdram_dbg seems to have current limitations: "At most 32 databits SDR or 16 databits DDR supported".
2021-05-18 11:36:19 +02:00
enjoy-digital beac24b796
Merge pull request #918 from antmicro/jboc/sdram-leveling
Attempt to improve DRAM leveling robustness
2021-05-18 10:38:25 +02:00
enjoy-digital 4886623df6
Merge pull request #917 from antmicro/jboc/sdram-dbg
Add utilities for debugging DRAM problems
2021-05-18 10:31:33 +02:00
enjoy-digital ccc2550426
Merge pull request #916 from antmicro/jboc/memtest-config
Make memtest_data more configurable
2021-05-18 10:22:15 +02:00
Jędrzej Boczar 93f357d853 soc/software/liblitedram: make leveling scores more robust by counting number of bitslips 2021-05-17 14:53:04 +02:00
Jędrzej Boczar 50805797c6 soc/software/liblitedram: optional write latency calibration debug output 2021-05-17 14:49:30 +02:00
Jędrzej Boczar 1f2b8621fe soc/software/liblitedram: add sdram_debug command 2021-05-17 14:38:35 +02:00
Jędrzej Boczar e5c1482572 soc/software/liblitedram: add sdram debugging utilities 2021-05-17 14:19:16 +02:00