Other RISC-V cores, and requirements to fit your project? #65
-
My interest is in running smaller RISC-V cores such as Ibex which are 3 to 4 times smaller than 32-bit Rocket, whilst still using your work for debugging etc. I am currently running the Ibex on a ZCU102 but using OpenOCD. This approach does not allow concurrent logic ILA debugging as well as RISC-V software debugging. What are the requirements for the RISC-V core to be supported by your work allowing easy debugging with Xilinx Vivado / Eclipse TCF/RISC-V? The Ibex has a RISC-V compliant debug module. |
Beta Was this translation helpful? Give feedback.
Replies: 10 comments 2 replies
-
This repo provides 2 options to connect RISC-V compliant debug module:
Both allow concurrent logic ILA debugging as well as RISC-V software debugging. |
Beta Was this translation helpful? Give feedback.
-
Thank you Eugene. Currently I have the Ibex RISC-V (6k LUT, 5k FF) running on my ZCU102 board. It claims the debug module is according to the RISC-V debug specification v0.13.1. I can debug using vanilla OpenOCD 0.11.0. https://github.com/pulp-platform/riscv-dbg This module uses two BSCANE2s: https://github.com/pulp-platform/riscv-dbg/blob/master/src/dmi_bscane_tap.sv Can I then also use XSCT 2020.2 to debug this core? xsct% targets |
Beta Was this translation helpful? Give feedback.
-
No, two BSCANE2s dmi_bscane_tap.sv is not supported by Xilinx tools. XSCT needs one of 2 adapters I mentioned, or external (second) JTAG. You have to change you design to allow XSCT access to RISC-V cores. XSCT version 2020.2 should work OK to debug the core, but it is better to use latest version 2021.2 - there were a lot of improvements in RISC-V support. |
Beta Was this translation helpful? Give feedback.
-
Thank you Eugene. Your project goals might be out-of-scope for me, but I was mostly intrigued by this:
Together with the fact that concurrent access to FPGA logic and RISC-V debug module would be possible.
If you could provide a bit of help here, that is much appreciated, thank you. |
Beta Was this translation helpful? Give feedback.
-
RISC-V is supported by Xilinx Hardware Server. Since Hardware Server is a customized TCF agent, it includes TCF implementation of GDB Server protocol: gdb-rsp.c.
I guess you mean "GDB to Hardware Server". XSCT is just a Tcl script, which can talk to the Hardware Server or any other TCF agent. Connecting GDB to XSCT does not make sense. Also, see https://wiki.eclipse.org/TCF/RISC-V |
Beta Was this translation helpful? Give feedback.
-
Thank you Eugene. |
Beta Was this translation helpful? Give feedback.
-
I have added the Debug Module Interface adapter you referred to, to the Ibex RISC-V. That part seamed easy. However, xsct does not recognize the RISC-V target with Vivado 2020.2. How could I further proceed debugging this?
|
Beta Was this translation helpful? Give feedback.
-
What does |
Beta Was this translation helpful? Give feedback.
-
Thanks, XSDB/XSCT is a bit new to me (again). Indeed
|
Beta Was this translation helpful? Give feedback.
-
If you exit xsct and manually start hw_server with additional arguments |
Beta Was this translation helpful? Give feedback.
This repo provides 2 options to connect RISC-V compliant debug module:
Debug Module Interface adapter - faster and smaller, connects directly to RISC-V compliant Debug Module, replaces JTAG Debug Transport Module.
Debug Bridge (in BSCAN Primitive mode) to JTAG adapter - implements standard JTAG, connects to RISC-V JTAG Debug Transport Module, can be used to connect any IP with JTAG slave port.
Both allow concurrent logic ILA debugging as well as RISC-V software debugging.