RISC-V MCU中文社区

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

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

本文利用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进行软硬件仿真调试。

喜欢21
用户评论 (25)
  • Perhaps

    2021-07-26 10:11:40 Perhaps 1#

    再胖十斤

    大佬,为什么我跑出来和你不一样啊,我感觉我们tb文件不一样啊,我这也是官方的啊


    请问您这个问题解决掉了吗?我也遇到了相同的问题

  • 巴啦啦

    2021-06-08 18:21:23 巴啦啦 2#

    为啥编译出来的.verilog楼主不一样呢,而且nice_req_valid一直没拉高

  • 天大的小秘密

    2021-05-13 23:15:44 天大的小秘密 3#

    我想请问一下,你们把rtl都添加进vivado都没有报错吗?我的有几个文件里面有sv语言,报错了。把这几个文件改成.sv后缀的话。不修改config.v的话没有错误,但是波形不对。修改的话还是一大堆错误。

  • Jue

    2021-05-09 21:48:12 Jue 4#

    再胖十斤

    大佬,可以说的具体一点吗,是在config.v里面添加吗,我是按照您上面说的添加了FPGA_SOURCE宏定义,其他的就没添加了。这个_DEBUG_INFO_是什么呀

    在c程序里面。

  • 再胖十斤

    2021-05-09 21:40:02 再胖十斤 5#

    Jue

    看样子程序是可以正常跑通的,是否没有在程序中添加宏定义_DEBUG_INFO_呢?

    大佬,可以说的具体一点吗,是在config.v里面添加吗,我是按照您上面说的添加了FPGA_SOURCE宏定义,其他的就没添加了。这个_DEBUG_INFO_是什么呀

  • Jue

    2021-05-09 21:26:46 Jue 6#

    再胖十斤

    大佬,为什么我跑出来和你不一样啊,我感觉我们tb文件不一样啊,我这也是官方的啊


    看样子程序是可以正常跑通的,是否没有在程序中添加宏定义_DEBUG_INFO_呢?

  • 再胖十斤

    2021-05-09 21:14:42 再胖十斤 7#

    再胖十斤

    大佬,为什么我跑出来和你不一样啊,我感觉我们tb文件不一样啊,我这也是官方的啊


    是不是有什么细节漏了,求大佬指导一下

  • 再胖十斤

    2021-05-09 21:12:54 再胖十斤 8#

    大佬,为什么我跑出来和你不一样啊,我感觉我们tb文件不一样啊,我这也是官方的啊


  • 再胖十斤

    2021-05-09 20:47:57 再胖十斤 9#

    叫我成善霖

    你们的那个问题,控制台得不到帖子的结果,我也有,可以加个好友交流一下么

    加个qq呢,我也想请教请教问题,1598761529

  • 叫我成善霖

    2021-05-09 20:40:45 叫我成善霖 10#

    再胖十斤

    可能是你的路劲“/”写成了“、”,就是反了,你看看呢,我之前是这样

    你们的那个问题,控制台得不到帖子的结果,我也有,可以加个好友交流一下么

  • 再胖十斤

    2021-05-09 20:33:10 再胖十斤 11#

    叫我成善霖

    你好,请问一下,读入.verilog文件路径是对的但是提示打不开文件,该如何解决。



    可能是你的路劲“/”写成了“、”,就是反了,你看看呢,我之前是这样

  • 再胖十斤

    2021-05-09 19:12:05 再胖十斤 12#

    ~~~

    还没有欸,如果您有解决可以分享以下吗?

    我也没有呢,但可以加个好友吗,遇到好多其他问题,想请教一下

  • ~~~

    2021-05-09 18:27:19 ~~~ 13#

    再胖十斤

    想问一下,这个问题解决了吗


    还没有欸,如果您有解决可以分享以下吗?

  • 叫我成善霖

    2021-05-09 13:09:03 叫我成善霖 14#

    你好,请问一下,读入.verilog文件路径是对的但是提示打不开文件,该如何解决。



  • 再胖十斤

    2021-05-08 11:07:14 再胖十斤 15#

    ~~~

    您好,请问自己使用NucleiStudio IDE生成.verilog文件,然后加入到vivado中进行仿真,但是输出结果在vivado的tcl控制台上没有输出您图片中的那些元素(包括fall,pass等),是哪里出错了吗??

    想问一下,这个问题解决了吗


关于作者
Jue

Jue 通过人工认证

懒的都不写签名

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