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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2456|回复: 5

[求助] 大家帮我看看这个verilog代码哪里错了???

[复制链接]
发表于 2012-11-6 11:29:15 | 显示全部楼层 |阅读模式

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

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

x
module count(clk, rst, ld);
   input clk, rst;
   output ld;

   reg ld;
   reg [25:0] cnt;
always @(posedge clk)
begin
      if(rst)
        cnt <= 26'b0000_0000_0000_0000_0000_0000_00;
         ld<=0;
      else if(cnt == 26'b1110_0100_1110_0001_1100_0000_00)
         cnt <= 26'b0000_0000_0000_0000_0000_0000_00;
         ld <= ~ld;
      else
         cnt <= cnt+1;
end
endmodule

错误:expecting statement

之前用的是VHDL,现在开始学习verilog。
发表于 2012-11-6 12:12:30 | 显示全部楼层




  1. if(...)
  2. begin
  3. .....
  4. end
  5. else begin
  6. .....
  7. end



复制代码
发表于 2012-11-6 12:21:16 | 显示全部楼层
if(rst)
        begin
           cnt <= 26'b0000_0000_0000_0000_0000_0000_00;
          ld<=0;
       end
       else if(cnt == 26'b1110_0100_1110_0001_1100_0000_00)
         begin
            cnt <= 26'b0000_0000_0000_0000_0000_0000_00;
            ld <= ~ld;
          end
       else
          cnt <= cnt+1;
 楼主| 发表于 2012-11-6 13:18:27 | 显示全部楼层
回复 3# 寻宝人


    这样写貌似也是错的,楼上那样写的语法才是正确的,同样感谢!!

之前我之所以那样写是参考书上的一个if else 用法,搞半天是书错了,郁闷。。。。。。
发表于 2012-11-6 17:45:03 | 显示全部楼层
3楼没错,就是少两个begin end而已
发表于 2012-11-6 18:00:39 | 显示全部楼层
寻宝人  has got the point
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 22:39 , Processed in 0.017685 second(s), 6 queries , Gzip On, Redis On.

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