Commit Graph

6203 Commits

Author SHA1 Message Date
Florent Kermarrec e91ec2ed83 soc/cores/code_8b10b: add StreamEncoder/Decoder (to be used with LiteX's streams).
With improvements to handle backpressure on non-continous streams.
2020-10-21 09:29:21 +02:00
Florent Kermarrec 918a0d95ba platforms/targets: keep up to date with litex-boards. 2020-10-20 12:00:33 +02:00
enjoy-digital 84c358889d
Merge pull request #677 from madscientist159/master
Add initial interrupt support for Microwatt in LiteX
2020-10-20 08:56:39 +02:00
enjoy-digital 72140f6df9
Merge pull request #674 from daveshah1/radiant-yosys-synth
build/radiant: Allow synthesis with Yosys
2020-10-20 08:15:36 +02:00
Raptor Engineering Development Team 90d71ec247 Add initial interrupt support for Microwatt in LiteX
There is a conflict between the LiteX way of doing things and the POWER
way of handling interrupt tables.  LiteX expects to be able to put a ROM
at address 0 and load an application into RAM at a higher address; POWER
is architected to jump to exception handlers at 0x100...0x1000.

As a result of this, we have taken the approach of placing generic exception
handler entry / exit routines into ROM, and reserving a single pointer in
SRAM to determine the C ISR handler location.  If no application is loaded,
this pointer is set to the BIOS ROM ISR.  When an application loads, before
reenabling interrupts, it needs to set __rom_isr_address to the address of
the application's ISR, otherwise the BIOS ROM ISR will continue to be used.

Tested to operate with the built-in UART in IRQ mode, both in BIOS and in
loaded RAM application.
2020-10-16 14:49:05 -05:00
Raptor Engineering Development Team af82abb807 Allow SoCCore instances to set maximum interrupt number 2020-10-16 14:48:04 -05:00
Florent Kermarrec 288306c86a software/liblitedram: add initial Build-In Self-Test software.
To be used with LiteDRAM's BIST Generator/Checker, ex:

from litedram.frontend.bist import  LiteDRAMBISTGenerator, LiteDRAMBISTChecker
self.submodules.sdram_generator = LiteDRAMBISTGenerator(self.sdram.crossbar.get_port())
self.add_csr("sdram_generator")
self.submodules.sdram_checker = LiteDRAMBISTChecker(self.sdram.crossbar.get_port())
self.add_csr("sdram_checker")
2020-10-15 16:20:05 +02:00
bunnie d23b88f739
Merge pull request #675 from enjoy-digital/spi_opi_dq_oe_dq_copi
soc/cores/spi_opi: expose dq/dq_copi to allow constrainting them from…
2020-10-14 18:45:13 +08:00
Florent Kermarrec c6f7f0210a soc/cores/spi_opi: expose dq/dq_copi to allow constrainting them from design. 2020-10-14 10:31:29 +02:00
David Shah 15dc97476c build/radiant: Allow synthesis with Yosys
Signed-off-by: David Shah <dave@ds0.me>
2020-10-13 12:11:48 +01:00
enjoy-digital 4d553a6fc0
Merge pull request #672 from enjoy-digital/litedram_write_latency
Add dynamic write latency calibration to LiteDRAM.
2020-10-12 19:42:31 +02:00
Florent Kermarrec f0abc185e1 targets/sim: update sdram (manual cmd_latency no longer needed). 2020-10-12 18:47:09 +02:00
Florent Kermarrec bc68351475 software/liblitedram: use SDRAM_PHY_WRITE_LATENCY_CALIBRATION_CAPABLE flag. 2020-10-12 16:05:44 +02:00
Florent Kermarrec c596135274 bios/cmd/cmd_litedram: add sdram_test command. 2020-10-12 13:52:15 +02:00
Florent Kermarrec d4d4ca53b0 software/liblitedram/sdram.c: move activate/precharge to sdram_write_read_check_test_pattern, change second seed. 2020-10-12 13:00:44 +02:00
Florent Kermarrec d1f04e67c5 software/liblitedram: use 2 cycles increment on write bitslip (for tCK steps). 2020-10-12 10:58:43 +02:00
Florent Kermarrec 3d5bc29dd1 software/liblitedram: add initial write latency calibration. 2020-10-09 20:04:16 +02:00
Florent Kermarrec 3518223c84 software/liblitedram: add functions to simplify read_leveling and do the test with 2 seeds.
Doing the test with 2 seeds prevents the test to success if previous content in DRAM was
still the expected one (ex after a sdram_cal command that succeded).
2020-10-09 15:50:44 +02:00
Florent Kermarrec 69177c9251 software/liblitesdram: add initial support for write leveling bitslip (configurable via bios commands). 2020-10-08 19:38:57 +02:00
Florent Kermarrec 004924a319 soc/interconnect/csr: expose re on CSRStatus (to allow triggering actions on CSRStatus writes). 2020-10-08 11:34:57 +02:00
Florent Kermarrec b904aa7d18 libbase/memtest: simplify logs and add test size to memtest/memspeed banner. 2020-10-08 09:11:28 +02:00
Florent Kermarrec e4fe0d9ef4 soc/cores/spi_flash: fix with_bitbang=False compilation. 2020-10-07 19:32:10 +02:00
Florent Kermarrec 375b6f2dc7 soc/cores/spi_flash: fix Dual mode compilation. 2020-10-07 19:28:13 +02:00
Florent Kermarrec a2b71fde4a soc: change default CSR bus data-width to 32.
A CSR bus data-width of 32 has been validated on very various design and is
now recommended. It provides better performance without impacting resource
usage (even on iCE40).
2020-10-07 16:38:49 +02:00
Florent Kermarrec 4f30a5b8e5 libbase/memtest: add memtest_data_speed function that prints speed in B/KiB/MiB/GiB/s depending the value. 2020-10-07 13:01:14 +02:00
Florent Kermarrec 0a80e4c3d6 libbase/memtest: revert previous printf (the informations are provided below and this make it too verbose). 2020-10-07 12:42:58 +02:00
enjoy-digital 5e2a4efac6
Merge pull request #665 from fidergo-stephane-gourichon/more_precise_log
More precise memory performance test.
2020-10-07 12:38:44 +02:00
enjoy-digital 83b4447f0e
Merge pull request #662 from fidergo-stephane-gourichon/dfu-util_with_-R
Unconditionally ask dfu-util to "Issue USB Reset"
2020-10-07 12:37:53 +02:00
Florent Kermarrec 305092c7b8 test/test_icap: update. 2020-10-07 12:36:08 +02:00
Florent Kermarrec ad7671f811 soc/cores/icap/ICAP: add with_csr parameter and add_reload method to allow reloading the FPGA from the logic. 2020-10-06 17:38:39 +02:00
enjoy-digital 42025dcbfa
Merge pull request #666 from gsomlo/gls-sdcard-cd
bios: add command returning card-detect pin status
2020-10-06 10:31:25 +02:00
Gabriel Somlo 026d40ffab bios: add command returning card-detect pin status 2020-10-05 14:32:06 -04:00
enjoy-digital 6916674ff6
Merge pull request #664 from antmicro/symbiflow_a100T
build/xilinx/symbiflow: Add xc7a100tscg324-1 to supported devices
2020-10-05 19:25:18 +02:00
enjoy-digital 81257da9b4
Merge pull request #663 from fidergo-stephane-gourichon/fix_crash_on_minimal_cpu
Fix SoC CPU crash on minimal variants on call to flush_cpu_dcache().
2020-10-05 19:24:43 +02:00
enjoy-digital 1a603b3fee
Merge pull request #654 from pepijndevos/gowin
Build support for Gowin
2020-10-05 19:23:47 +02:00
Stephane Gourichon f71275a3f1 Show speeds in bytes per second.
Forcing megabytes per second for everyone does not make sense.
Showing bytes per second allows to distinguish between low performance and a performance measurement bug.
Anyway previous code claims speeds were in MiB/s, they were not, actually MB/s.
2020-10-05 18:46:05 +02:00
Stephane Gourichon cbbbb3f468 Only display write speed if write test actually performed. 2020-10-05 18:43:45 +02:00
Stephane Gourichon 5b0ced00b5 Confirm parameters in log. 2020-10-05 17:58:44 +02:00
Stephane Gourichon 48638f936b Fix SoC CPU crash on minimal variants on call to flush_cpu_dcache().
Generated soc.h says for example

but code tester for CONFIG_CPU_VARIANT_MIN not MINIMAL.
Attempted to run instruction unknown to this CPU, most likely cause of hang.
2020-10-05 17:16:35 +02:00
Stephane Gourichon e47f84ea79 Unconditionally ask dfu-util to "Issue USB Reset signalling once we're finished".
Some host machines need it.
If issuing -R always does not cause any trouble, then do it.
2020-10-05 17:16:10 +02:00
enjoy-digital aebe08d841
Merge pull request #661 from yetifrisstlama/fix_stream2wishbone
Fix stream2wishbone
2020-10-05 17:16:04 +02:00
enjoy-digital 2d6f19a816
Merge pull request #659 from shawnanastasio/toolchain-fixes
Add riscv*-unknown-linux-gnu triples and fix existing riscv-linux-gnu triple
2020-10-05 17:09:59 +02:00
Robert Winkler ff4afda305 build/xilinx/symbiflow: Add xc7a100tscg324-1 to supported devices
Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
2020-10-05 17:02:51 +02:00
Michael Betz acdfae202b Stream2Wishbone: drive sink.ready line 2020-10-04 18:19:39 -07:00
Michael Betz 6e3e979a0b serial2tcp.c json error handling, respect rx.ready 2020-10-04 18:17:28 -07:00
Shawn Anastasio fa82d97aa5 cores/cpu: Add riscv*-unknown-linux-gnu triple, fix riscv-linux-gnu
Add riscv*-unknown-linux-gnu to known triples, and fix the existing
riscv-linux-gnu by removing the incorrect -gcc suffix from the
triple.
2020-10-02 18:31:48 -05:00
Shawn Anastasio 6fd48ca2ce software: Use -fno-stack-protector
This allows riscv*-gnu-linux toolchains to be used to build LiteX
software. Without this, references to undefined stack guard symbols
get generated and linking fails.
2020-10-02 13:42:16 -05:00
Florent Kermarrec b84a858b2c CHANGES: initialize changes since last release. 2020-10-01 11:46:43 +02:00
Florent Kermarrec ba2ff8cf71 tools/litex_sim: update get_sdram_phy_settings (rd/wrcmdphase no longer exposed as PhySettings). 2020-10-01 11:27:33 +02:00
Florent Kermarrec 2b62802961 tools/litex_sim: minor review cleanup. 2020-10-01 10:36:37 +02:00