Commit Graph

9499 Commits

Author SHA1 Message Date
Florent Kermarrec 99a034268d cpu/naxriscv: Remove Wishbone import/comments (Now fully AXI/AXI-Lite). 2022-04-22 16:16:45 +02:00
Florent Kermarrec 31cfe137d1 cpu/cortex_m1/core: Review/Cleanup.
- Increase similarities with other CPUs.
- Classify instance signals.
- Use Open instead of Signal on open ports.
- Switch pbus to AXILite instead of Wishbone.
- Directly connect AXI ports.
- Rename connect_jtag to add_jtag.
2022-04-22 16:15:39 +02:00
Ilia Sergachev 51eb310b0e cpu: Add initial Cortex-M1 support.
Can be tested with targets from LiteX-Boards and Cortex-M1 sources in execution path:

python3 -m litex_boards.targets.digilent_arty --cpu-type=cortex_m1 --build --load

        __   _ __      _  __
       / /  (_) /____ | |/_/
      / /__/ / __/ -_)>  <
     /____/_/\__/\__/_/|_|
   Build your hardware, easily!

 (c) Copyright 2012-2022 Enjoy-Digital
 (c) Copyright 2007-2015 M-Labs

 BIOS built on Apr 22 2022 15:04:52
 BIOS CRC passed (5773c241)

 LiteX git sha1: 6b3a5412

--=============== SoC ==================--
CPU:		ARM Cortex-M1 @ 100MHz
BUS:		WISHBONE 32-bit @ 4GiB
CSR:		32-bit data
ROM:		128KiB
SRAM:		8KiB
L2:		8KiB
SDRAM:		262144KiB 16-bit @ 800MT/s (CL-7 CWL-5)

--========== Initialization ============--
Initializing SDRAM @0x10000000...
Switching SDRAM to software control.
Read leveling:
  m0, b00: |00000000000000000000000000000000| delays: -
  m0, b01: |00000000000000000000000000000000| delays: -
  m0, b02: |11111111110000000000000000000000| delays: 05+-05
  m0, b03: |00000000000011111111111111000000| delays: 19+-07
  m0, b04: |00000000000000000000000000011111| delays: 30+-02
  m0, b05: |00000000000000000000000000000000| delays: -
  m0, b06: |00000000000000000000000000000000| delays: -
  m0, b07: |00000000000000000000000000000000| delays: -
  best: m0, b03 delays: 19+-07
  m1, b00: |00000000000000000000000000000000| delays: -
  m1, b01: |00000000000000000000000000000000| delays: -
  m1, b02: |11111111110000000000000000000000| delays: 05+-05
  m1, b03: |00000000000011111111111111000000| delays: 19+-07
  m1, b04: |00000000000000000000000000001111| delays: 30+-02
  m1, b05: |00000000000000000000000000000000| delays: -
  m1, b06: |00000000000000000000000000000000| delays: -
  m1, b07: |00000000000000000000000000000000| delays: -
  best: m1, b03 delays: 19+-07
Switching SDRAM to hardware control.
Memtest at 0x10000000 (2.0MiB)...
  Write: 0x10000000-0x10200000 2.0MiB
   Read: 0x10000000-0x10200000 2.0MiB
Memtest OK
Memspeed at 0x10000000 (Sequential, 2.0MiB)...
  Write speed: 16.5MiB/s
   Read speed: 19.3MiB/s

--============== Boot ==================--
Booting from serial...
Press Q or ESC to abort boot completely.
sL5DdSMmkekro
Timeout
No boot medium found

--============= Console ================--

litex>
2022-04-22 15:22:23 +02:00
Ilia Sergachev 016e1abcff software/libcompiler_rt: Fix compilation for ARM/Cortex-M1. 2022-04-22 15:16:55 +02:00
Florent Kermarrec e2bf77b0e3 integration/soc: Fix comment typo. 2022-04-22 15:12:49 +02:00
Florent Kermarrec 6b3a541241 xilinx/vivado: Differentiate IOs and internal nets when applying timing constraints.
Use get_nets on internal nets, get_ports on IOs.
2022-04-21 18:15:05 +02:00
Florent Kermarrec 08e9cfcd86 soc/usb_acm: Move clone of ValentyUSB to LiteX instead of doing it in each LiteX-Boards target. 2022-04-21 15:43:00 +02:00
Dolu1990 ca6378a207 cpu/NaxRiscv: Improve place and route timings robustness 2022-04-20 15:13:09 +02:00
Florent Kermarrec ff6e7bd6ad cores/uart/Stream2Wishbone: Add asserts on data_width/address_width. 2022-04-20 11:01:21 +02:00
enjoy-digital 5e451d68f7
Merge pull request #1277 from trabucayre/uart_fix_Stream2Wishbone_v2
Uart fix stream2 wishbone v2
2022-04-20 10:56:38 +02:00
Florent Kermarrec 4e5d1848cc integration/soc/cpu: Improve cpu-type/cpu-variant listing. 2022-04-20 10:37:03 +02:00
xhe e80720fd2c fix version extraction
Signed-off-by: xhe <xw897002528@gmail.com>
2022-04-19 14:27:19 +08:00
xhe 89fdb49884 patches for custom toolchain
Signed-off-by: xhe <xw897002528@gmail.com>
2022-04-19 14:07:37 +08:00
Florent Kermarrec 3dbe349dd9 liblitesata/sata_init: Add SATA Read check (Seems to be required with some disks). 2022-04-15 18:01:26 +02:00
Gwenhael Goavec-Merou a988712974 soc/cores/uart:Stream2Wishbone: remove no more needed data_width/address_width equality test 2022-04-15 17:43:50 +02:00
Gwenhael Goavec-Merou 3cb34e7951 soc/cores/uart:Stream2Wishbone: supress data/address egality assert 2022-04-15 17:41:34 +02:00
Florent Kermarrec 557ebcedfb liblitesata/sata_init: Always reinitialize core on call (Even when already ready). 2022-04-15 13:53:18 +02:00
Florent Kermarrec ceb25445d2 wishbone/sram/burst: First review/Minor cleanups. 2022-04-15 09:03:12 +02:00
enjoy-digital 9c4778b2c1
Merge pull request #1267 from antmicro/wb-sram-inc-burst
soc/interconnect/wishbone: Add incrementing address burst mode to SRAM
2022-04-15 08:47:42 +02:00
Florent Kermarrec 8b2fc201cf soc/cores/uart: Add assert data_width == address_width to prevent building broken logic and pass data_width/address_width to Wishbone. 2022-04-15 08:39:45 +02:00
enjoy-digital fac39c8210
Merge pull request #1275 from fjullien/efinix_ifacewriter_add_gpio_options
Efinix ifacewriter add gpio options
2022-04-15 08:19:57 +02:00
enjoy-digital 08cd4803f3
Merge pull request #1274 from fjullien/fix_efinix_pll
Fix efinix pll
2022-04-15 08:19:18 +02:00
Franck Jullien e86c06c9ff efinix:clock: improve logging informations 2022-04-14 10:48:51 +02:00
Franck Jullien 25b4eb7b0b efinix: dont print info in get_pll_resource 2022-04-14 10:48:51 +02:00
Franck Jullien 5f9d943d36 efinix: get_free_pll_resource needs to call get_pll_resource 2022-04-14 10:48:51 +02:00
Franck Jullien 66e49249cc efinix:ifacewriter: add out_clk_inv and in_clk_inv to gpio block 2022-04-14 10:42:55 +02:00
Franck Jullien 78c35365e8 efinix:ifacewriter: add in_reg and out_reg to gpio block 2022-04-14 10:42:48 +02:00
Florent Kermarrec 63356b8187 cpu/naxriscv: Minor cleanups. 2022-04-14 10:12:45 +02:00
Florent Kermarrec 0a738002e0 openocd/jtag: Add JTAG-UART/JTABBone support to Zynq7000/ZynqMPSoC and define all Xilinx IRs for USERX.
Thanks @smunaut for the initial investigation/implementation. The changes have been minimized to:
- Adding an optional delay in TDI: On Zynq devices, TDI is delayed by 1 TCK to bypass the PS tap.
- Avoiding OpenOCD's -endstate DRPAUSE on Xilinx that does not seem required.
2022-04-14 09:51:03 +02:00
Dolu1990 be43ef6424 cpu/NaxRiscv: Now support reset from the jtag 2022-04-12 19:38:36 +02:00
Rafal Kolucki 8c1bc139ab soc/interconnect/wishbone: Cleanup in burst cycles support logic 2022-04-12 15:32:29 +02:00
Rafal Kolucki ad46a57403 test/test_wishbone: Add test for Wishbone SRAM constant address burst cycle 2022-04-12 14:06:22 +02:00
Rafal Kolucki cdd216f692 test/test_wishbone: Add basic test for SRAM with burst cycles support
Tests incrementing address burst cycle with linear and wrapped increments.
Only 4-beat wrap burst is tested in `test_sram_burst_wrap` test.
2022-04-12 14:06:22 +02:00
Rafal Kolucki c00ca99ea9 soc/interconnect/wishbone: Add burst params to Interface test functions
This commit also replaces hardcoded CTI signal values with constants.
2022-04-12 14:06:22 +02:00
Rafal Kolucki 83ea56aeee soc/interconnect/wishbone: Move burst cycles support option to SoCBusHandler/SoC classes 2022-04-12 14:06:22 +02:00
Rafal Kolucki ca78f799e1 soc/integration/soc_core: Add SRAM/ROM burst cycles support switch 2022-04-12 14:06:22 +02:00
Rafal Kolucki 54f897f446 soc/interconnect/wishbone: Make burst cycles support in SRAM optional 2022-04-12 14:06:22 +02:00
Rafal Kolucki 8ef51a00ee soc/interconnect/wishbone: Add incrementing burst cycles support to SRAM
This commit adds support for incrementing burst cycles in SRAM peripheral.
By default it's enabled, but can be disabled by passing `burst=False`
to the class while initializing, if it won't be useful for created design
(e.g. no Wishbone bus masters with burst support).
2022-04-12 14:06:22 +02:00
Florent Kermarrec 7416943f9c cores/usb_fifo: Re-implement FT245PHYSynchronous, passing simple tests on FT601/LimeSDRMini-V2.0. 2022-04-11 19:23:58 +02:00
Florent Kermarrec 7187ac22e4 interconnect/axi: Add AXSIZE dict definition. 2022-04-11 19:20:22 +02:00
Florent Kermarrec 1989d85b91 software/libbase/i2c/i2c_poll: Also test for write when polling since some I2C devices do not respond to read or require a specific protocol. 2022-04-11 09:52:00 +02:00
Florent Kermarrec 9806f76619 soc/build: Remove Migen Git SHA1 from auto-generated headers/bios (Hasn't been useful). 2022-04-11 09:50:00 +02:00
Florent Kermarrec c834600a5a naxriscv/core: Cleanup ident. 2022-04-08 18:53:46 +02:00
Dolu1990 c4dba614a6 cpu/naxriscv Got soft jtag tap and hard jtag tap with tunneling to work on hardware 2022-04-08 17:12:39 +02:00
Florent Kermarrec fa611ba809 software/demo: Update README.md. 2022-04-07 11:47:14 +02:00
Florent Kermarrec 5222e7fc1a software/demo: Add --mem parameter to allow specifying Memory region where code will be loaded/executed. 2022-04-07 11:22:12 +02:00
Florent Kermarrec 20c9bba8da software/demo: Fix some warnings. 2022-04-07 10:50:07 +02:00
Florent Kermarrec 8e1265113b software/demo/Makefile: Make it as much as possible similar to BIOS's Makefile. 2022-04-07 10:49:46 +02:00
Florent Kermarrec b9fce9e1b2 soc/integration/builder: Add --no-compile argument to disable software and gateware compilation.
Short equivalent of --no-compile-software --no-compile-gateware.
2022-04-07 09:42:52 +02:00
Florent Kermarrec f224036138 stream/ClockDomainCrossing: Revert with_common_rst to False by default (Previous behavior).
This seems to cause issues in simulation on some cores, this will first have to be fixed before
using it as default. Cores requiring it will set it to True explicitly for now.
2022-04-05 19:53:00 +02:00