帮我检查Verilog HDL程序

[复制链接]
查看11 | 回复1 | 2009-6-8 15:54:08 | 显示全部楼层 |阅读模式
module counter(EN,CLR,F_IN,F_OUT,Q0,Q1,Q2,Q3,Q4,Q5);
/*输入输出端口定义*/
input EN;
input CLR;
input F_IN;
output [3:0] Q0,Q1,Q2,Q3,Q4,Q5;
output F_OUT;
/*数据类型定义*/
reg [3:0] Q0,Q1,Q2,Q3,Q4,Q5;
reg F_OUT;
reg F_out0,F_out1,F_out2,F_out3,F_out4;
/*初始化*/
initial
begin
F_OUT <= 1'b0;
end
always @(posedge F_IN)
begin
F_OUT <= 1'b0;
if((EN==1'b1)&&(CLR==1'b0)&&(Q0<4'b1001)) //复位
begin

Q0<=Q0+4'b0001;

F_OUT<=1'b0;
End
/*六个异步BCD码十进制计数器级联实现0~999999计数*/
else
begin

Q0<=4'b0000;

if((EN==1'b1)&&(CLR==1'b0)&&(Q1<4'b1001))

begin

Q1<=Q1+4'b0001;

F_OUT<=1'b0;

end

else

begin

Q1<=4'b0000;

if((EN==1'b1)&&(CLR==1'b0)&&(Q2<4'b1001))

begin

Q2<=Q2+4'b0001;

F_OUT<=1'b0;

end

else

begin

Q2<=4'b0000;

if((EN==1'b1)&&(CLR==1'b0)&&(Q3<4'b1001))

begin

Q3<=Q3+4'b0001;

F_OUT<=1'b0;

end

else

begin

Q3<=4'b0000;

if((EN==1'b1)&&(CLR==1'b0)&&(Q4<4'b1001))

begin

Q4<=Q4+4'b0001;

F_OUT<=1'b0;

end

else

begin

Q4<=4'b0000;

if((EN==1'b1)&&(CLR==1'b0)&&(Q5<4'b1001))

begin

Q5<=Q5+4'b0001;

F_OUT<=1'b0;

end

else

begin

Q5<=4'b0000;

F_OUT<=1'b1;

end

end

end

end

end

end
end
endmodule

回复

使用道具 举报

千问 | 2009-6-8 15:54:08 | 显示全部楼层
End/*六个异步BCD码十进制计数器级联实现0~999999计数*/ /*此End应为小写end*/...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行