RISC-V MCU中文社区

【分享】 技术分享--利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真

发表于 全国大学生集成电路创新创业大赛 2021-03-26 09:55:39
8
426
13

本文利用NucleiStudio IDE 和 vivado 对 NICE demo协处理器进行软硬件联合仿真。

1. 下载demo_nice例程:https://github.com/Nuclei-Software/nuclei-board-labs/tree/master/e203_hbirdv2/common

2.在NucleiStudio IDE 下新建一个c工程,并添加所需的源文件。注意在project settings的DOWNLOAD选项要选择ILM。


建好的工程如下图所示:


3.选择当前项目的properties->C/C++ Build->Settings->Build Steps->Post-build steps 增加如下命令:

riscv-nuclei-elf-objcopy -O verilog "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.verilog";sed -i 's/@800/@000/g' "${BuildArtifactFileBaseName}.verilog"; sed -i 's/@00002FB8/@00002000/g' "${BuildArtifactFileBaseName}.verilog";

使编译之后能生成.verilog文件。


4.编译工程,在Debug目录下找到tb需要的.verilog文件。

5. 下载蜂鸟E203硬件代码,里面包含了nice demo core的实现。下载地址:https://github.com/riscv-mcu/e203_hbirdv2

协处理器参考示例相关资料请参考:https://www.rvmcu.com/community-topic-id-340.html

6.在vivado下新建一个工程,添加所有的rtl代码以及tb。


7.将e203_defines.v设置为global include ,并将文件类型改为 Verilog Header.


在config.v中增加宏定义: `define FPGA_SOURCE


8.将tb_top.v设置为顶层, 并添加读入.verilog文件的路径,保存文件。

9.点击运行仿真。从 Tcl Console 上可以看到仿真运行正常,打印出了软件定义的相关信息。

仿真波形:


至此,使用NucleiStudio IDE 和 vivado对蜂鸟E203+demo协处理器的软硬件协同仿真实验已经完成。根据以上步骤可以方便地对E203 SoC进行软硬件仿真调试。

喜欢13
用户评论 (8)
  • Scort

    2021-04-10 23:04:17 Scort 1#

    许震宇

    你好,请问编译优化的选项是在哪里呢

    Ctrl+F6 调出SDK configuration tools,Optimization Level 选O2

  • 许震宇

    2021-04-10 22:53:05 许震宇 2#

    Scort

    我也在这卡了半下午,编译优化选O2就可以了

    你好,请问编译优化的选项是在哪里呢

  • Scort

    2021-04-09 19:20:20 Scort 3#

    我也不知道

    请问,build project报错"undefined reference to 'custom_lbuf'"是怎么回事啊?

    我也在这卡了半下午,编译优化选O2就可以了

  • 我也不知道

    2021-04-09 18:33:08 我也不知道 4#

    宇,俊

    要建一个E203的工程?

    C工程,选e203v2的sdk

  • 宇,俊

    2021-04-09 16:45:29 宇,俊 5#

    我也不知道

    建了一个空的C工程,然后把demo_nice中的demo_nice.、insn.c、insn.h都放到application目录中了,这样算包进去了

    要建一个E203的工程?

  • 我也不知道

    2021-04-08 17:31:01 我也不知道 6#

    Jue

    检查一下头文件有没有包进去?

    建了一个空的C工程,然后把demo_nice中的demo_nice.、insn.c、insn.h都放到application目录中了,这样算包进去了

  • Jue

    2021-04-08 17:23:47 Jue 7#

    我也不知道

    请问,build project报错"undefined reference to 'custom_lbuf'"是怎么回事啊?

    检查一下头文件有没有包进去?

  • 我也不知道

    2021-04-08 16:53:00 我也不知道 8#

    请问,build project报错"undefined reference to 'custom_lbuf'"是怎么回事啊?

关于作者
Jue

Jue 未通过人工认证

懒的都不写签名

问答
粉丝
1
关注
0
  • 早春营|RISC-V处理器嵌入式开发
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
早春营|RISC-V处理器嵌入式开发