求一个十进制计数器的设计 verilog语言

要求异步清零,按键每按一下,记一个数,用七段译码器设计
4'b0000: data_out = 7'b1000000; // 0
4'b0001: data_out = 7'b1111001; // 1
4'b0010: data_out = 7'b0100100; // 2
4'b0011: data_out = 7'b0110000; // 3
4'b0100: data_out = 7'b0011001; // 4
4'b0101: data_out = 7'b0010010; // 5
4'b0110: data_out = 7'b0000011; // 6
4'b0111: data_out = 7'b1111000; // 7
4'b1000: data_out = 7'b0000000; // 8
4'b1001: data_out = 7'b0011000; // 9

第1个回答  2009-09-02
// led7_1.v

module led7_1(in,reset,data_out); //模块定义

input in,reset; //输入输出角定义

output [7:1] data_out;

reg [7:1] data_out;

reg [3:0]count ;

always @ (posedge in or negedge reset)

begin

if (!reset) //异步清零

begin

data_out <= 8'b1111111;

count <= 0;

end

else

begin

count <=count + 1; //计数

case (count) //七段译码器

4'b0000: data_out = 7'b1000000; // 0
4'b0001: data_out = 7'b1111001; // 1
4'b0010: data_out = 7'b0100100; // 2
4'b0011: data_out = 7'b0110000; // 3
4'b0100: data_out = 7'b0011001; // 4
4'b0101: data_out = 7'b0010010; // 5
4'b0110: data_out = 7'b0000011; // 6
4'b0111: data_out = 7'b1111000; // 7
4'b1000: data_out = 7'b0000000; // 8
4'b1001: data_out = 7'b0011000; // 9

default:data_out <= 8'b1000000;

endcase

end

end

endmodule

这是我写的程序,通过了仿真,但我用FJS5101AH做了一下,不行。应该是我不懂FJS5101AH的使用把,但仿真是没问题的,综合也是完全通过的。祝你好运!本回答被提问者采纳