一位数码管动态显示 求指出错误之处
板子晶振是20MHz的module DIG
(
clk,data,sel
);
input clk;
output data;
output sel;
reg count;
assign sel = 0;
always @(posedge clk)
begin
count <= count+1;
end
reg rdata;
always @(count)
begin
case (count)
8'h0: rdata=8'b1100_0000;
8'h1: rdata=8'b1111_1001;
8'h2: rdata=8'b1010_0100;
8'h3: rdata=8'b1011_0000;
8'h4: rdata=8'b1001_1001;
8'h5: rdata=8'b1001_0010;
8'h6: rdata=8'b1000_0010;
8'h7: rdata=8'b1111_1000;
8'h8: rdata=8'b1000_0000;
8'h9: rdata=8'b1001_0000;
endcase
end
assign data = rdata;
endmodule 回复 1# luckymao
你的count的取值有16中可能,而你只列出了10中可能,存在一些不定的状态,在最后应加上default语句! 第二个进程的触发信号应该用POSEDGE CLK 第二个进程的触发信号应该用POSEDGE CLK 你的输入频率太高了,无法显示0到9,count用4位就能表示,为什么要选用32位呢,所以可以先分一下输入频率,将count位数调小,估计应该能实现想要的功能
页:
[1]