abstract
本文主要介绍如何通过Iverillog工具读取riscv-GNU工具链编译好的二进制文件,对基于e203搭建的加速器进行仿真调试的过程。
method
目前已经将操作流程中 ”1.基于C文件编译转换为二进制文件“ 准备好, 每次更改RTL中的加速器verilog文件之后,只需要执行”2.RTL仿真“中的步骤即可
操作流程
- 基于C文件编译转换为二进制文件
在application的样例中执行make dasm的过程中,最后会执行以下几个命令,生成可以用于RTL仿真的机器码。
以demo_nice_cam为例,初始文件夹中的文件有:
----> (base) host@host:~/riscv/nuclei_tools/hbird-sdk/application/baremetal/demo_nice_cam$ ls -al
total 80
drwxr-xr-x 2 wangpeng wangpeng 4096 7月 13 16:53 .
drwxr-xr-x 13 wangpeng wangpeng 4096 6月 5 20:36 ..
-rw-rw-r-- 1 wangpeng wangpeng 16172 6月 5 20:42 camellia.c
-rw-rw-r-- 1 wangpeng wangpeng 4523 6月 5 20:41 cam.h
-rw-r--r-- 1 wangpeng wangpeng 2443 6月 5 20:41 demo_nice.c
-rwx------ 1 wangpeng wangpeng 2211 6月 10 22:42 insn2.c
-rwx------ 1 wangpeng wangpeng 2434 6月 10 15:00 insn2.h
-rwxr-xr-x 1 wangpeng wangpeng 1993 6月 5 20:41 insn.c
-rwxr-xr-x 1 wangpeng wangpeng 1572 6月 5 20:36 insn.h
-rw-rw-r-- 1 wangpeng wangpeng 7302 6月 10 22:46 main.c
-rw-r--r-- 1 wangpeng wangpeng 144 6月 9 21:52 Makefile
-rw-r--r-- 1 wangpeng wangpeng 8633 6月 10 22:45 openocd.log
-rw-rw-r-- 1 wangpeng wangpeng 4032 6月 5 20:41 tool_func.c
执行make dasm:
----> (base) host@host:~/riscv/nuclei_tools/hbird-sdk/application/baremetal/demo_nice_cam$ make dasm
Assembling : ../../../SoC/hbirdv2/Common/Source/GCC/intexc_hbirdv2.S
Assembling : ../../../SoC/hbirdv2/Common/Source/GCC/startup_hbirdv2.S
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/hbirdv2_gpio.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/hbirdv2_i2c.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/hbirdv2_pwm.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/hbirdv2_spi.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/hbirdv2_uart.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Drivers/htif.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Stubs/clock_getres.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Stubs/clock_gettime.c
Compiling : ../../../SoC/hbirdv2/Common/Source/Stubs/clock_settime.c
Compiling : ../../../SoC/hbirdv2/Common/Source/S