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

本文利用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
再
再胖十斤1979 天前 · 16 楼
回复 晓星:

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

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

晓星
晓星1979 天前 · 17 楼
回复 再胖十斤:

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

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

再
再胖十斤1979 天前 · 18 楼
回复 晓星:

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



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

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

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

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

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

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


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

晓星
晓星1979 天前 · 21 楼

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



再
再胖十斤1980 天前 · 22 楼
回复 ~~~:

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

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


~~~
~~~1984 天前 · 23 楼

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

卓鑫
卓鑫1988 天前 · 24 楼

你好,请问我的项目提示string is not a constant是怎么回事,是这一句

感谢!

Scort
Scort2008 天前 · 25 楼
回复 wxz:

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

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

wxz
wxz2008 天前 · 26 楼
回复 Scort:

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

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

Scort
Scort2009 天前 · 27 楼
回复 我也不知道:

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

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

我也不知道
我也不知道2009 天前 · 28 楼
回复 宇,俊:

要建一个E203的工程?

C工程,选e203v2的sdk

宇,俊
宇,俊2009 天前 · 29 楼
回复 我也不知道:

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

要建一个E203的工程?

我也不知道
我也不知道2010 天前 · 30 楼
回复 Jue:

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

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

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