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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3052|回复: 9

[求助] 麻烦各位大神 看下 这样写的verilog 什么地方有语法错误 谢谢啦

[复制链接]
发表于 2013-5-15 15:50:11 | 显示全部楼层 |阅读模式
1资产
module scan_led(clk_50M,
                clr,
                dis,fee,
                hour,minute,
                second,
               
               sm_db3,sm_db4,
                sm_db5,sm_db6,
                sm_db7,sm_db8);
input clk_50M,clr;
input [11:0]dis;
input [19:0]fee;
input [7:0]hour;
input [7:0]minute;
input [7:0]second;
output [6:0]sm_db3;
output [6:0]sm_db4;
output [6:0]sm_db5;
output [6:0]sm_db6;
output [6:0]sm_db7;
output [6:0]sm_db8;
reg [6:0]sm_d3;
reg [6:0]sm_d4;
reg [6:0]sm_d5;
reg [6:0]sm_d6;
reg [6:0]sm_d7;
reg [6:0]sm_d8;
reg sm_db3;
reg sm_db4;
reg sm_db5;
reg sm_db6;
reg sm_db7;
reg sm_db8;
parameter seg0=7'h40,
          seg1=7'h79,
          seg2=7'h24,
          seg3=7'h30,
          seg4=7'h19,
          seg5=7'h12,
          seg6=7'h02,
          seg7=7'h78,
          seg8=7'h00,
          seg9=7'h10;
reg [31:0] cnt_1;
always@(posedge clk_50M)
begin
cnt_1<=cnt_1+1'd1;
if(cnt_1==300000001)
cnt_1<=0;
end
if(cnt_1==100000000)
begin
[url=mailto:always@(fee[19:16]always@(fee[19:16[/url]])
begin
case(fee[19:16])         //use third led to display fee[19:16]
4'd0:sm_d3<=seg0;
4'd1:sm_d3<=seg1;
4'd2:sm_d3<=seg2;
4'd3:sm_d3<=seg3;
4'd4:sm_d3<=seg4;
4'd5:sm_d3<=seg5;
4'd6:sm_d3<=seg6;
4'd7:sm_d3<=seg7;
4'd8:sm_d3<=seg8;
4'd9:sm_d3<=seg9;
default;
endcase
end
[url=mailto:always@(fee[15:12]always@(fee[15:12[/url]])
begin
case( fee[15:12] )           //use fourth led to display fee[15:12]
4'd0:sm_d4<=seg0;
4'd1:sm_d4<=seg1;
4'd2:sm_d4<=seg2;
4'd3:sm_d4<=seg3;
4'd4:sm_d4<=seg4;
4'd5:sm_d4<=seg5;
4'd6:sm_d4<=seg6;
4'd7:sm_d4<=seg7;
4'd8:sm_d4<=seg8;
4'd9:sm_d4<=seg9;
default:;
endcase
end
[url=mailto:always@(fee[11:8]always@(fee[11:8[/url]])
begin
case(fee[11:8])            //use fifth led to display fee[11:8]
4'd0:sm_d5<=seg0;
4'd1:sm_d5<=seg1;
4'd2:sm_d5<=seg2;
4'd3:sm_d5<=seg3;
4'd4:sm_d5<=seg4;
4'd5:sm_d5<=seg5;
4'd6:sm_d5<=seg6;
4'd7:sm_d5<=seg7;
4'd8:sm_d5<=seg8;
4'd9:sm_d5<=seg9;
default;
endcase
end
[url=mailto:always@(fee[7:3]always@(fee[7:3[/url]])
begin
case(fee[7:4])               //use sixth led to display fee[7:4]
4'd0:sm_d6<=seg0;
4'd1:sm_d6<=seg1;
4'd2:sm_d6<=seg2;
4'd3:sm_d6<=seg3;
4'd4:sm_d6<=seg4;
4'd5:sm_d6<=seg5;
4'd6:sm_d6<=seg6;
4'd7:sm_d6<=seg7;
4'd8:sm_d6<=seg8;
4'd9:sm_d6<=seg9;
default;
endcase
end
[url=mailto:always@(fee[3:0]always@(fee[3:0[/url]])
begin
case(fee[3:0])                 //use seventh led to display fee[3:0]
4'd0:sm_d7<=seg0;
4'd1:sm_d7<=seg1;
4'd2:sm_d7<=seg2;
4'd3:sm_d7<=seg3;
4'd4:sm_d7<=seg4;
4'd5:sm_d7<=seg5;
4'd6:sm_d7<=seg6;
4'd7:sm_d7<=seg7;
4'd8:sm_d7<=seg8;
4'd9:sm_d7<=seg9;
default: ;
endcase
end
assign sm_db3=sm_d3;
assign sm_db4=sm_d4;
assign sm_db5=sm_d5;
assign sm_db6=sm_d6;
assign sm_db7=sm_d7;
end

else if(cnt_1==32'd200000000)
begin
[url=mailto:always@(dis[11:8]always@(dis[11:8[/url]])
begin
case(dis[11:8])                  //use third led display dis[11:8]
4'd0:sm_d3<=seg0;
4'd1:sm_d3<=seg1;
4'd2:sm_d3<=seg2;
4'd3:sm_d3<=seg3;
4'd4:sm_d3<=seg4;
4'd5:sm_d3<=seg5;
4'd6:sm_d3<=seg6;
4'd7:sm_d3<=seg7;
4'd8:sm_d3<=seg8;
4'd9:sm_d3<=seg9;
default: ;
endcase
end
[url=mailto:always@(dis[7:4]always@(dis[7:4[/url]])
begin
case(dis[7:4])                     //use fourth LED display dis[7:4]
4'd0:sm_d4<=seg0;
4'd1:sm_d4<=seg1;
4'd2:sm_d4<=seg2;
4'd3:sm_d4<=seg3;
4'd4:sm_d4<=seg4;
4'd5:sm_d4<=seg5;
4'd6:sm_d4<=seg6;
4'd7:sm_d4<=seg7;
4'd8:sm_d4<=seg8;
4'd9:sm_d4<=seg9;
default;
endcase
end
[url=mailto:always@(dis[3:0]always@(dis[3:0[/url]])
begin
case (dis[3:0])               //use fifth led to display dis[3:0]
4'd0:sm_d5<=seg0;
4'd1:sm_d5<=seg1;
4'd2:sm_d5<=seg2;
4'd3:sm_d5<=seg3;
4'd4:sm_d5<=seg4;
4'd5:sm_d5<=seg5;
4'd6:sm_d5<=seg6;
4'd7:sm_d5<=seg7;
4'd8:sm_d5<=seg8;
4'd9:sm_d5<=seg9;
default;
endcase
end
assign sm_db3=sm_d3;
assign sm_db4=sm_d4;
assign sm_db5=sm_d5;
end
else if(cnt_1==32'd300000000)
begin
[url=mailto:always@(hour[7:4]always@(hour[7:4[/url]])
begin
case (hour[7:4])
4'd0:sm_d3<=seg0;
4'd1:sm_d3<=seg1;
4'd2:sm_d3<=seg2;
4'd3:sm_d3<=seg3;
4'd4:sm_d3<=seg4;
4'd5:sm_d3<=seg5;
4'd6:sm_d3<=seg6;
4'd7:sm_d3<=seg7;
4'd8:sm_d3<=seg8;
4'd9:sm_d3<=seg9;
default;
endcase
end
[url=mailto:always@(hour[3:0]always@(hour[3:0[/url]])
begin
case (hour[3:0])
4'd0:sm_d4<=seg0;
4'd1:sm_d4<=seg1;
4'd2:sm_d4<=seg2;
4'd3:sm_d4<=seg3;
4'd4:sm_d4<=seg4;
4'd5:sm_d4<=seg5;
4'd6:sm_d4<=seg6;
4'd7:sm_d4<=seg7;
4'd8:sm_d4<=seg8;
4'd9:sm_d4<=seg9;
default;
endcase
end
[url=mailto:always@(minute[7:4]always@(minute[7:4[/url]])
begin
case (minute[7:4])
4'd0:sm_d5<=seg0;
4'd1:sm_d5<=seg1;
4'd2:sm_d5<=seg2;
4'd3:sm_d5<=seg3;
4'd4:sm_d5<=seg4;
4'd5:sm_d5<=seg5;
4'd6:sm_d5<=seg6;
4'd7:sm_d5<=seg7;
4'd8:sm_d5<=seg8;
4'd9:sm_d5<=seg9;
default;
endcase
end
[url=mailto:always@(minute[3:0]always@(minute[3:0[/url]])
begin
case (minute[3:0])
4'd0:sm_d6<=seg0;
4'd1:sm_d6<=seg1;
4'd2:sm_d6<=seg2;
4'd3:sm_d6<=seg3;
4'd4:sm_d6<=seg4;
4'd5:sm_d6<=seg5;
4'd6:sm_d6<=seg6;
4'd7:sm_d6<=seg7;
4'd8:sm_d6<=seg8;
4'd9:sm_d6<=seg9;
default;
endcase
end
[url=mailto:always@(second[7:4]always@(second[7:4[/url]])
begin
case (second[7:4])
4'd0:sm_d7<=seg0;
4'd1:sm_d7<=seg1;
4'd2:sm_d7<=seg2;
4'd3:sm_d7<=seg3;
4'd4:sm_d7<=seg4;
4'd5:sm_d7<=seg5;
4'd6:sm_d7<=seg6;
4'd7:sm_d7<=seg7;
4'd8:sm_d7<=seg8;
4'd9:sm_d7<=seg9;
default;
endcase
end
[url=mailto:always@(second[3:0]always@(second[3:0[/url]])
begin
case (second[3:0])
4'd0:sm_d8<=seg0;
4'd1:sm_d8<=seg1;
4'd2:sm_d8<=seg2;
4'd3:sm_d8<=seg3;
4'd4:sm_d8<=seg4;
4'd5:sm_d8<=seg5;
4'd6:sm_d8<=seg6;
4'd7:sm_d8<=seg7;
4'd8:sm_d8<=seg8;
4'd9:sm_d8<=seg9;
default;
endcase
end
assign sm_db3=sm_d3;
assign sm_db4=sm_d4;
assign sm_db5=sm_d5;
assign sm_db6=sm_d6;
assign sm_db7=sm_d7;
assign sm_db8=sm_d8;
end
endmodule

发表于 2013-5-15 16:31:25 | 显示全部楼层
1信元?擦
 楼主| 发表于 2013-5-15 16:51:28 | 显示全部楼层
回复 2# poiu_elab 新手 没信元 咳咳,然后就默认的
发表于 2013-5-15 17:44:36 | 显示全部楼层
跟端口定义宽度不匹配
reg sm_db3;
reg sm_db4;
reg sm_db5;
reg sm_db6;
reg sm_db7;
reg sm_db8;
 楼主| 发表于 2013-5-16 13:54:40 | 显示全部楼层
回复 4# duge0413


    ????7位额 怎么会不匹配呢??
发表于 2013-5-16 14:52:10 | 显示全部楼层
你的语法没掌握好, assign语句不能写在always块内
发表于 2013-5-16 23:19:15 | 显示全部楼层
好乱。。。
发表于 2013-5-17 09:07:46 | 显示全部楼层
assign 不能再always块内赋值
发表于 2013-5-17 09:39:53 | 显示全部楼层
其实如果你用编译器编译一边,基本上就知道错误在哪了
发表于 2013-5-17 09:45:16 | 显示全部楼层
自己看 别指望别人看你这种低级错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-28 20:47 , Processed in 0.047065 second(s), 7 queries , Gzip On, Redis On.

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