在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6779|回复: 9

[原创] 使用irun编译蜂鸟e203环境

[复制链接]
发表于 2019-10-20 23:36:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 lizechen 于 2019-10-20 23:46 编辑

最近在学习胡振波大佬的《手把手教你设计CPU——RISC-V处理器》这本书。来这里分享一波,寻找同道。
书中使用的工具是开源工具iverilog,由于本人的工作环境是使用的irun,所以使用irun进行了一波操作,特分享出来。

本文的主题是《使用irun编译蜂鸟e203环境》,那么接下来进入正题

第一步:下载源码
从github:https://github.com/SI-RISCV/e200_opensource.git 下载图书所带源码
由于从github上下载太慢,可以下载我上传的附件。
如果需要提高下载速度可以参考这篇帖子:http://bbs.eetop.cn/thread-867621-1-1.html

第二步:准备环境
本人是在windows上下载的代码然后上传到虚拟机当中。如果各位的下载环境就是linux并且带有irun最好不过。如果没有条件的话。还是用iverilog比较好。
准备lis,在e200_opensource下新建lis目录,在lis目录下存在lis文件,生成lis文件的方法是在e200_opensource下使用ls,如
ls e203/core/*.v > lis/core.lis 名字自己取,自己认得就好。最好是把所有目录的文件都准备一遍。包括tb在内。
然后cat lis/*.lis > top.lis 这样就做出了包含所有文件信息的lis文件。
初步irun编译 :irun -f top.lis,会报一些基本的语法错。
注:本人在编译环境的时候发现tb中的关键字为e200,rtl中的关键字为e203,请各位读者自行修正吧。
修改tb文件,这步是为了dump波形,在tb/tb_top.v中添加如下代码:
`ifdef IUS
initial
begin
   $shm_open("risc-v.shm");
   $shm_probe("AC");
end
`endif


第三步:准备命令行脚本cmdline
内容如下:
irun -f lis/top.lis           \
  +TESTCASE="./riscv-tools/riscv-tests/isa/generated/rv32ui-p-add"\
  -access +rwc                 \
        -incdir ./rtl/e203/core/    \
        -incdir ./rtl/e203/debug/   \
        -incdir ./rtl/e203/fab/     \
        -incdir ./rtl/e203/general/ \
        -incdir ./rtl/e203/mems/    \
        -incdir ./rtl/e203/perips/  \
        -incdir ./rtl/e203/soc/     \
        -incdir ./rtl/e203/subsys/  \
        -incdir ./tb/               \
        -define DISABLE_SV_ASSERTION\
        -define IUS


Cadence提供的EDA工具编译环境一般是Incisive的三步走,即ncvlog,ncelab,ncsim,而irun是三者的集合加强版。

  +TESTCASE="./riscv-tools/riscv-tests/isa/generated/rv32ui-p-add"  # 指定测试激励
  -incdir path  # 为使`include 可以检索到要包含的文件
  -define DISABLE_SV_ASSERTION # 应打开该宏定义
  -define IUS # 参照第二步
  -access +rwc # 为使dump出来的波形包含所有信号。

  然后sh cmdline即可。


发表于 2020-1-7 19:08:56 | 显示全部楼层
我用iverilog去跑,但是仿真時間一直無法往前走,打印出 ITCM 的內容之後就停住了,過了約一小時,按Ctrl-C之後發現 simulation ticks 一直停在 0, 但是用VCS 跑是正常的。
我的 iverilog 是 10.3版,有沒有人遇到一樣的情形呢?
胡大老真的用 iverilog 可以跑嗎 ?
 楼主| 发表于 2020-1-18 11:48:01 | 显示全部楼层


jasonlhb 发表于 2020-1-7 19:08
我用iverilog去跑,但是仿真時間一直無法往前走,打印出 ITCM 的內容之後就停住了,過了約一小時,按Ctrl-C ...


没试过,但是胡老大的书上这么说那就是可以咯,不过有点条件或者资源也不会用iverilog
发表于 2021-2-7 11:38:15 | 显示全部楼层


jasonlhb 发表于 2020-1-7 19:08
我用iverilog去跑,但是仿真時間一直無法往前走,打印出 ITCM 的內容之後就停住了,過了約一小時,按Ctrl-C ...


我跟你遇到一样的情况,我用的vcs跑的。打印出ICTM就没了,pc_write_to_host_cnt计数器一直是0。想问一下您是怎么解决呢
发表于 2021-2-8 15:51:03 | 显示全部楼层
看一下
发表于 2021-2-10 17:43:04 | 显示全部楼层


lizechen 发表于 2020-1-18 11:48
没试过,但是胡老大的书上这么说那就是可以咯,不过有点条件或者资源也不会用iverilog
...


哥, 就是沒條件才會用 iverilog 啊 !
发表于 2021-2-10 18:54:09 | 显示全部楼层


羽无芯 发表于 2021-2-7 11:38
我跟你遇到一样的情况,我用的vcs跑的。打印出ICTM就没了,pc_write_to_host_cnt计数器一直是0。想问一下 ...


有 +define+DISABLE_SV_ASSERTION  嗎 ?
发表于 2021-6-21 10:36:34 | 显示全部楼层
学习学习
发表于 2021-8-7 02:14:59 | 显示全部楼层
THIS IS GREAT
发表于 2023-9-26 11:17:15 | 显示全部楼层
KANKAN
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 14:57 , Processed in 0.032409 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表