🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/开源蜂鸟E203/modelsim跑tb_top.v报fatal
modelsim跑tb_top.v报fatal
开源蜂鸟E203 作者 ZhB_ 发布于 2020-06-20 13:08(2302 天前) 13016 浏览

各位大佬,我用modelsim跑蜂鸟提供的tb_top.v,出现如下的错误:


防止图片挂掉,再贴一下文本

    run -all
# ITCM 0x00: 340510730001aa0d
# ITCM 0x01: ff85051300002517
# ITCM 0x02: 01f5222301e52023
# ITCM 0x03: 040f416334202f73
# ITCM 0x04: 4fa507ff02634fa1
# ITCM 0x05: 0c634fad05ff0f63
# ITCM 0x06: 0bff05634f8505ff
# ITCM 0x07: 4f9d0dff00634f95
# ITCM 0x16: 2f03f52505130000
# ITCM 0x20: 2f8300052f03f065
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# ** Fatal:
#  Error: Oops, detected a X value!!! This should never happen.
#    Time: 17410 ns Started: 17410 ns  Scope: tb_top.u_e203_soc_top.u_e203_subsys_top.u_e203_subsys_main.u_e203_cpu_top.u_e203_cpu.u_e203_dtcm_ctrl.u_sram_icb_ctrl.u_sirv_1cyc_sram_ctrl.u_e1_stage.dp_gt_0.vld_dfflr.sirv_gnrl_xchecker.CHECK_THE_X_VALUE File: D:/item/modelsim/e203/sirv_gnrl_xchecker.sv Line: 44
# ** Note: $finish    : D:/item/modelsim/e203/sirv_gnrl_xchecker.sv(44)
#    Time: 17410 ns  Iteration: 1  Instance: /tb_top/u_e203_soc_top/u_e203_subsys_top/u_e203_subsys_main/u_e203_cpu_top/u_e203_cpu/u_e203_dtcm_ctrl/u_sram_icb_ctrl/u_sirv_1cyc_sram_ctrl/u_e1_stage/dp_gt_0/vld_dfflr/sirv_gnrl_xchecker/CHECK_THE_X_VALUE


run之前已经将编译报错的文件类型改为.sv,波形显示测试文件"rv32ui-p-add.verilog"已经完整读入。不明白自带的tb为什么会有x态fatal呢,是我的操作有问题嘛?请各位大佬指正呀!

全部回复 13
n
nn爱学习1039 天前 · 1 楼

请问博主解决了吗

n
nn爱学习1039 天前 · 2 楼
回复 xts:

我最近也碰到了跟题主一样的问题,题主你的问题解决了吗?

我也遇到了,请问解决了吗

xts
xts2127 天前 · 3 楼

我最近也碰到了跟题主一样的问题,题主你的问题解决了吗?

ZhB_
ZhB_2294 天前 · 4 楼
回复 XQS0927:

有点尴尬,这触及我的知识盲区了~我一直都是用的eclipse+riscv toolchain+openocd的开发模式,没整过蜂鸟自带的编译工具。不过我印象中E203应该不支持RV32FD,你这整上rv32imafd可能会有问题。

好吧o(╥﹏╥)o,谢谢您

X
XQS09272294 天前 · 5 楼
回复 ZhB_:

难受呀,老哥~ 还有个问题,请问蜂鸟自带的编译工具能不使用压缩指令嘛?我试着改了下编译选项,将-march=rv32imafdc的c去掉了,但是报 target emulation `elf64-littleriscv' does not match `elf32-littleriscv'的错误~ 我新发个问题,截图上去

有点尴尬,这触及我的知识盲区了~我一直都是用的eclipse+riscv toolchain+openocd的开发模式,没整过蜂鸟自带的编译工具。不过我印象中E203应该不支持RV32FD,你这整上rv32imafd可能会有问题。

ZhB_
ZhB_2298 天前 · 6 楼
回复 XQS0927:

开源的东西嘛,都这样,看上去很美好,实际用起来各种问题防不胜防~

难受呀,老哥~ 还有个问题,请问蜂鸟自带的编译工具能不使用压缩指令嘛?我试着改了下编译选项,将-march=rv32imafdc的c去掉了,但是报 target emulation `elf64-littleriscv' does not match `elf32-littleriscv'的错误~ 我新发个问题,截图上去

X
XQS09272298 天前 · 7 楼
回复 ZhB_:

嗯嗯,谢谢,很纳闷为什么原生的tb会有这么多问题。。^_^

开源的东西嘛,都这样,看上去很美好,实际用起来各种问题防不胜防~

ZhB_
ZhB_2299 天前 · 8 楼
回复 XQS0927:

那就要看一下复位信号给的对不对,时钟有没有跑起来,如果时钟都没跑起来的话,那有可能卡在某个初始化的地方了。 如果时钟也跑起来了,那就看一下有没有取到正确的指令。

嗯嗯,谢谢,很纳闷为什么原生的tb会有这么多问题。。^_^

X
XQS09272299 天前 · 9 楼
回复 ZhB_:

没有哦,pc都不带变的

那就要看一下复位信号给的对不对,时钟有没有跑起来,如果时钟都没跑起来的话,那有可能卡在某个初始化的地方了。 如果时钟也跑起来了,那就看一下有没有取到正确的指令。

ZhB_
ZhB_2299 天前 · 10 楼
回复 XQS0927:

看看仿真输出波形,看看跑起来没有

没有哦,pc都不带变的

X
XQS09272299 天前 · 11 楼
回复 ZhB_:

谢谢,我把报fatal的两个文件中的fatal都注掉了,然后跑的时候就一直不停了,也没有东西打印出来;另外追信号发现是外部的 `ifdef E203_HAS_ITCM_EXTITF //{ .ext2itcm_icb_cmd_valid (1'b0), .ext2itcm_icb_cmd_ready (), .ext2itcm_icb_cmd_addr (`E203_ITCM_ADDR_WIDTH'b0 ), .ext2itcm_icb_cmd_read (1'b0 ), .ext2itcm_icb_cmd_wdata (32'b0), .ext2itcm_icb_cmd_wmask (4'b0), .ext2itcm_icb_rsp_valid (), .ext2itcm_icb_rsp_ready (1'b0), .ext2itcm_icb_rsp_err (), .ext2itcm_icb_rsp_rdata (), `endif//} `ifdef E203_HAS_DTCM_EXTITF //{ .ext2dtcm_icb_cmd_valid (1'b0), .ext2dtcm_icb_cmd_ready (), .ext2dtcm_icb_cmd_addr (`E203_DTCM_ADDR_WIDTH'b0 ), .ext2dtcm_icb_cmd_read (1'b0 ), .ext2dtcm_icb_cmd_wdata (32'b0), .ext2dtcm_icb_cmd_wmask (4'b0), .ext2dtcm_icb_rsp_valid (), .ext2dtcm_icb_rsp_ready (1'b0), .ext2dtcm_icb_rsp_err (), .ext2dtcm_icb_rsp_rdata (), `endif//} 这个地方似乎有问题,但是不知道怎么办哦

看看仿真输出波形,看看跑起来没有

ZhB_
ZhB_2299 天前 · 12 楼
回复 XQS0927:

用最简单粗暴的法子,把这个xchecker去掉不就行咯~

不过本着科学严谨的态度,可以看一下这个X态是从哪儿来的。报告的消息里面已经明确指出了出X态的信号是哪个,就是/tb_top/u_e203_soc_top/u_e203_subsys_top/u_e203_subsys_main/u_e203_cpu_top/u_e203_cpu/u_e203_dtcm_ctrl/u_sram_icb_ctrl/u_sirv_1cyc_sram_ctrl/u_e1_stage/dp_gt_0/vld_dfflr/sirv_gnrl_xchecker,看了一下是这个模块里面的lden信号,向上追溯一下看看吧。

谢谢,我把报fatal的两个文件中的fatal都注掉了,然后跑的时候就一直不停了,也没有东西打印出来;另外追信号发现是外部的 `ifdef E203_HAS_ITCM_EXTITF //{ .ext2itcm_icb_cmd_valid (1'b0), .ext2itcm_icb_cmd_ready (), .ext2itcm_icb_cmd_addr (`E203_ITCM_ADDR_WIDTH'b0 ), .ext2itcm_icb_cmd_read (1'b0 ), .ext2itcm_icb_cmd_wdata (32'b0), .ext2itcm_icb_cmd_wmask (4'b0), .ext2itcm_icb_rsp_valid (), .ext2itcm_icb_rsp_ready (1'b0), .ext2itcm_icb_rsp_err (), .ext2itcm_icb_rsp_rdata (), `endif//} `ifdef E203_HAS_DTCM_EXTITF //{ .ext2dtcm_icb_cmd_valid (1'b0), .ext2dtcm_icb_cmd_ready (), .ext2dtcm_icb_cmd_addr (`E203_DTCM_ADDR_WIDTH'b0 ), .ext2dtcm_icb_cmd_read (1'b0 ), .ext2dtcm_icb_cmd_wdata (32'b0), .ext2dtcm_icb_cmd_wmask (4'b0), .ext2dtcm_icb_rsp_valid (), .ext2dtcm_icb_rsp_ready (1'b0), .ext2dtcm_icb_rsp_err (), .ext2dtcm_icb_rsp_rdata (), `endif//} 这个地方似乎有问题,但是不知道怎么办哦

X
XQS09272299 天前 · 13 楼

用最简单粗暴的法子,把这个xchecker去掉不就行咯~

不过本着科学严谨的态度,可以看一下这个X态是从哪儿来的。报告的消息里面已经明确指出了出X态的信号是哪个,就是/tb_top/u_e203_soc_top/u_e203_subsys_top/u_e203_subsys_main/u_e203_cpu_top/u_e203_cpu/u_e203_dtcm_ctrl/u_sram_icb_ctrl/u_sirv_1cyc_sram_ctrl/u_e1_stage/dp_gt_0/vld_dfflr/sirv_gnrl_xchecker,看了一下是这个模块里面的lden信号,向上追溯一下看看吧。

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