目录
背景:
- Server :tcl+telnet
- SW :openocd+JTAG_DPI+VCS仿真(riscv base+1core+multi_harts)
用tcl,通过telnet连接openocd,与JTAG_DPI连接,JTAG_DPI的verilog model 例化在testbench中,DUT是riscv的core,具有JTAG的调试接口,遵循riscv-debug-spec
这个文章的介绍只是我操作过程中的一些理解和整理,也有很多不涉及的或者有偏差的地方,如果大家又发现问题,可以随时私信沟通交流,多谢。
需要了解的基础知识,此处不做介绍:
- Riscv-spec
- Riscv-spec-privileged
- Riscv-debug-stable
- JTAG spec
- Openocd user guide
- Openocd如何通过JTAG_DPI和VCS 仿真连接,网络有教程
我是用的下边的JTAG_DPI
GitHub - yaozhaosh/e200_opensource: The Ultra-Low Power RISC Core
如何连结和调试
配置target.cfg 文件
##配置interface,bitbang和jtag_dpi相连,telnet_port是telnet和openocd相连
interface remote_bitbang
##注意,bitbang的host和port要和jtag_dpi设置为相同的配置
remote_bitbang_port 44853
remote_bitbang_host t01n70
tcl_port 6667 #自行更改
telnet_port 44441 #自行更改,如果是window界面,可以在windows打开telnet服务
##以下是配置chipname和tap_ID
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME riscv