集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3730|回复: 5

求助:verilog错误在哪?

[复制链接]
FFT 发表于 2010-6-27 22:56:18 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-16 14:12 编辑

一个数字跑表程序,clk:时钟信号;clr:异步复位信号;pause:暂停信号;msh,msl:百分秒高位和低位:sh,sl:秒高位和低位;mh,ml:分高位和低位


module paobiao(msh,msl,sh,sl,mh,ml,clk,clr,pause);
output [3:0]msh,msl,sh,sl,mh,ml;
inputclk,clr,pause;
reg  [3:0]msh,msl,sh,sl,mh,ml;
reg  cn1,cn2;  //cn1为百分秒位向秒位进位,cn2为秒位向分位进位
//*********百分秒计数进程,每计满100,cn1产生一个进位**********
always @(posedge clk or posedge clr)
begin
  if(clr)    //异步复位
  begin
  {msh,msl}<=8'h00;
  cn1<=0;
  end
  else
  if(!pause)   //pause为0正常计数,为1暂停计数
  begin
    if(msl==9)
    begin msl<=0;
    if(msh==9)
    begin msh<=0;cn1<=1; end
    else msh=msh+1;
  end
  else
  begin msl=msl+1; cn1<=0; end
end
//*********秒计数进程,每计满60,cn2产生一个进位**********
always @(posedge cn1 or posedge clr)
begin
  if(clr) begin
    {sh,sl}<=8'h00; cn2<=0;
    end
  else  if(sl==9)
    begin sl<=0;
    if(sh==5)
     begin sh<=0; cn2<=1; end
    else sh=sh+1;
    end
    else
    begin sl<=sl+1; cn2<=0; end
end
//*********分位计数进程,每计满100,cn1产生一个进位**********
always @(posedge cn2 or posedge clr)
begin
  if(clr)
  begin {mh,ml}<=8'h00; end
  else
  if(ml==9)
   begin ml<=0;
   if(mh==5) mh<=0;
   else mh<=mh+1;
   end
  else ml<=ml+1;
end
endmodule

错位信息:
Error (10170): Verilog HDL syntax error at paobiao.v(27) near text "always";expecting "@", or "end", or an identifier ("always" is a reserved keyword ), or a system task, or "{", or a sequential statement,
Error (10170): Verilog HDL syntax error at paobiao.v(42) near text "always";expecting "@", or "end", or an identifier ("always" is a reserved keyword ), or a system task, or "{", or a sequential statement,
Error (10170): Verilog HDL syntax error at paobiao.v(54) near text "endmodule";expecting "@", or "end", or an identifier ("endmodule" is a reserved keyword ), or a system task, or "{", or a sequential statement,
encounter 发表于 2010-6-27 23:06:21 | 显示全部楼层
少了一个end<br>
<br>
第一个always后面少了一个end<br>
另外进位为的信号似乎应该在8时,似乎不是9,这个没验证,自己加激励跑跑吧
CCIE 发表于 2010-6-27 23:22:03 | 显示全部楼层
到底是在8处进位,还是9处进位<br>
<br>
最好跟个贴<br>
<br>
谢谢哦
interi 发表于 2010-6-27 23:59:47 | 显示全部楼层
谢了,兄弟。后来我也发现了一个块语句少了个end,不过还是谢了。另外应该是9进位吧。加激励验证了。看来程序格式得写的好看些,以后写程序缩进对应起来,好查错误啊。就少了一个end这么不好查错
       
CHA 发表于 2010-6-28 00:07:18 | 显示全部楼层
是9,不是8!
Sunlife 发表于 2015-7-4 10:07:55 | 显示全部楼层
少了一个end<br>
<br>
第一个always后面少了一个end<br>
另外进位为的信号似乎应该在8时,似乎不是9,这个没验证,自己加激励跑跑吧
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 16:32 , Processed in 0.074679 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表