Error (10170):Verilog HDL syntax error at add

moduleadd(clk,start,stop,sum,count_out);inputclk,start,stop;output[3:0]sum;outputcoun... module add(clk,start,stop,sum,count_out);
input clk,start,stop;
output [3:0] sum;
output count_out;
reg [3:0] sum;
reg count_out;

always @(posedge clk)
if(stop)
sum=4'b0000;
else
if(start)
begin
if(sum>=4'b1001)
sum<=4'b0000;
count_out<=1;
else if
sum<=sum+1'b1;
count_out<=0;
end
else sum<=sum;
endmodule

Error (10170):Verilog HDL syntax error at add.v(17) near text "else"';expecting "end"
Error (10112):Ignored design unit "add" at add.v(1) due to previous errors

急求解决办法啊,设计的是一个10进制加法器,count_out是进位信号。谢谢好心人了!
展开
 我来答
匿名用户
推荐于2018-05-11
展开全部
begin ... end缺失吧?

module add(clk,start,stop,sum,count_out);
input clk,start,stop;
output [3:0] sum;
output count_out;
reg [3:0] sum;
reg count_out;

always @(posedge clk)
if(stop)
sum=4'b0000; // 此处只有一个语句,可加可不加begin ... end。
else if(start) //
begin
if(sum>=4'b1001)
begin
sum<=4'b0000;
count_out<=1;
end
else // 此处没有条件 就不要用else if
begin
sum<=sum+1'b1;
count_out<=0;
end
end
else sum<=sum;
endmodule
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yl0409202
2013-05-08 · TA获得超过567个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:297万
展开全部
count_out<=1;在这个语句后面加一个end;就是你程序的第17行,前面有begin后面不加end,这么简单的错误要注意啊!!还有你的程序名称add是不能用的,改一个名字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式