22373195 张敏尔 2023-10-15 22:30 采纳率: 63.6%
浏览 24
已结题

Verilog 编译出错

img


报错为“expecting'endmodule',found 'end'
但最下面的那个end 对应的是always 的begin

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-16 09:43
    关注

    【以下回答由 GPT 生成】

    问题分析:

    从代码片段中可以看出,问题出现在always块的begin处。错误提示为"expecting 'endmodule', found 'end'",意思是在always块结束之前,出现了一条end语句。根据代码片段来看,最后一句endmodule找不到相对应的begin

    解决方案:

    根据代码片段问题分析,可以确定以下几点需要修改:

    1. always块的begin处应该采用小写字母begin
    2. 确保遵循Verilog语法规则,always块中的beginend需要成对出现。
    3. 调整代码格式,确保缩进的正确性。

    下面是修改后的代码:

    always @(posedge clk or posedge rst) begin
      if (rst) begin
        cnt <= 0;
        out <= 0;
      end
      else if (en) begin
        cnt <= cnt + 1;
        case (cnt)
          0: out <= 0;
          1: out <= 1;
          2: out <= 3;
          3: out <= 2;
          4: out <= 7;
          5: out <= 6;
          6: out <= 5;
          17: begin
            out <= 4;
            cnt <= 0;
          end
          default: out <= 1;
        endcase
      end
    end
    

    请注意代码格式的调整和缩进的正确性。再次进行编译时,应该不会再出现"expecting 'endmodule', found 'end'"的编译错误了。

    我希望以上解决方案对您有所帮助。如果您有任何其他问题,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 浏览器输入ftp网站没有反应
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf