modelsim跑tb_top.v报fatal

2020-06-20 13:08:08
10
191

各位大佬,我用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呢,是我的操作有问题嘛?请各位大佬指正呀!

用户评论 (10)
  • ZhB_

    2020-06-28 15:06:43 ZhB_ 1#

    XQS0927

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

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

  • XQS0927

    2020-06-28 13:43:25 XQS0927 2#

    ZhB_

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

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

  • ZhB_

    2020-06-24 19:30:35 ZhB_ 3#

    XQS0927

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

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

  • XQS0927

    2020-06-24 13:33:46 XQS0927 4#

    ZhB_

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

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

  • ZhB_

    2020-06-23 18:04:57 ZhB_ 5#

    XQS0927

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

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

  • XQS0927

    2020-06-23 18:02:17 XQS0927 6#

    ZhB_

    没有哦,pc都不带变的

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

  • ZhB_

    2020-06-23 17:05:00 ZhB_ 7#

    XQS0927

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

    没有哦,pc都不带变的

  • XQS0927

    2020-06-23 13:33:50 XQS0927 8#

    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_

    2020-06-23 11:35:45 ZhB_ 9#

    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//} 这个地方似乎有问题,但是不知道怎么办哦

  • XQS0927

    2020-06-23 11:27:52 XQS0927 10#

    用最简单粗暴的法子,把这个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信号,向上追溯一下看看吧。

关注我们

微信扫码登录 点击刷新二维码