🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/全国大学生集成电路创新创业大赛/技术分享--利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真
技术分享--利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真
全国大学生集成电路创新创业大赛 作者 Jue 发布于 2021-03-26 09:55(2023 天前) 31943 浏览

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

全部回复 32
烈
烈烈风中1302 天前 · 1 楼
回复 梦游者:

我也没生成.verilog文件,不知道哪里出了问题

清理工程,重新编译就好了

梦
梦游者1309 天前 · 2 楼
回复 匿名用户:

添加了神秘代码,没有生成.verilog文件

我也没生成.verilog文件,不知道哪里出了问题

匿
1638 天前 · 3 楼
回复 巴啦啦:

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

请问解决了吗?我也碰到了这个问题

匿
1654 天前 · 4 楼

添加了神秘代码,没有生成.verilog文件

匿
1654 天前 · 5 楼
回复 Jue:

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

请问_DEBUG_INFO_是要自己手动添加吗

匿
1655 天前 · 6 楼
回复 匿名用户:

大佬们,我这个仿真的波形好像是CPU都没有运行吧,,这咋回事啊

你continue run一下


匿
1664 天前 · 7 楼

大佬们,我这个仿真的波形好像是CPU都没有运行吧,,这咋回事啊

匿
1901 天前 · 8 楼
回复 再胖十斤:

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


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

巴啦啦
巴啦啦1949 天前 · 9 楼

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

v
ved.1975 天前 · 10 楼

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

Jue
Jue1979 天前 · 11 楼
回复 再胖十斤:

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

在c程序里面。

再
再胖十斤1979 天前 · 12 楼
回复 Jue:

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

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

Jue
Jue1979 天前 · 13 楼
回复 再胖十斤:

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


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

再
再胖十斤1979 天前 · 14 楼
回复 再胖十斤:

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


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

再
再胖十斤1979 天前 · 15 楼

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


💡 请 登录 后参与讨论(微信扫码即登录/注册)