RISC-V修改汇编代码重新生成仿真文件

1. 安装相关工具

主要安装risv需要用到的GNU工具链

1.1 工具下载

下载地址:https://pan.baidu.com/s/1eUbBlVc

1.2 工具安装

tar -xzvf gnu-mcu-eclipse-riscv-none-gcc-7.2.0-4-20180606-1631-centos64.tgz 
cd <your_e200_dir>
mkdir -p ./riscv-tools/prebuilt_tools/prefix/bin //在 e200 opensource 目录下创建上述这个 bin 目录
cd ./riscv-tools/prebuilt_tools/prefix/bin  //进入到这个新建的 bin 目录下
ln -s ~/e200_opensource/gnu-mcu-eclipse/riscv-none-gcc/7.2.0-4-20180606-1631/bin .     //将用户根目录下解压压缩包中 bin 目录下的所有可执行文件作为软链接链接到该 . /riscv-tools/prebuilt tools/prefix/bin/目录下


cd e200_opensource/riscv-tools
sudo apt-get install autoconf automake autotools-dev curl device-tree-compiler libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zliblg-dev  //预先将工具包先安装好
./build-e200-spike-rvtests.sh  
//运行该脚本将编译出指令模拟器 Spike 和riscv-tests

2. 修改相关汇编代码

2.1 修改isa/rv64ui/add.S

比如修改e200_opensource/riscv-tools/riscv-tests/isa/rv64ui/add.S

RVTEST_RV64U
RVTEST_CODE_BEGIN

  #-------------------------------------------------------------
  # Arithmetic tests
  #-------------------------------------------------------------
  li x8, 3;
  li x9, 7;
  add x10, x8, x9; 

  li x3, 3;
  li x4, 7;
  add x5, x3, x4; 
  add x5, x3, x5; 
  # TEST_RR_OP( 2,  add, 0x00000000, 0x00000000, 0x00000000 );
  # TEST_RR_OP( 3,  add, 0x00000002, 0x00000001, 0x00000001 );
  # TEST_RR_OP( 4,  add, 0x0000000a, 0x00000003, 0x00000007 );

2.2 修改isa/rv32ui/add.S

加一个空格就好,因为不修改的话Makefile的依赖关系无法追踪间接Include的源代码改动

3 重新生成.verilog dump 和可执行文件

运行source regen.S
那么在generated 目录下的相关rv32ui-p-add*文件将会被重新生成
比如dump文件
image.png

4. 生成fsdb文件

在vsim目录下执行make run_test TESTNAME=rv32ui-p-add,生成对应的fsdb文件,之后执行make wave,打开verdi并找到导入对应的波形,可以看到EXU模块的波形rs1,rs2和dst的寄存器index以及它们对应的值。
image.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值