您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页用Verilog HDL设计2位16进制计数器

用Verilog HDL设计2位16进制计数器

来源:爱go旅游网


基于FPGA的系统设计与应用

实验二

计数器设计实验

一、实验目的:

学习计数器的设计、仿真和硬件测试方法。

二、实验内容及步骤:

1.用Verilog HDL设计2位16进制计数器,由DE2的KEY0输入计数值,在HEX1,HEX0上显示计数值。

2.使用嵌入式逻辑分析仪进行仿真;

3.将实验程序下载到DE2运行。

实验注意事项:去抖动

三、程序代码

module lib22(out1,out2,clk,rst,key);

output [6:0] out1,out2;

input clk,rst;

input key;

reg [19:0]count;

reg [7:0]in;

reg [6:0]out1,out2;

reg C,K;

reg [9:0] r1;

always@(posedge clk)

if(count==20'd5000)

begin

C=~C;

count<=1'b0;

end

else

count=count+1'b1;

always @ (posedge C)

begin

if(r1<10'd1000)

begin

K<=1'b0;

r1<=r1+1'b1;

end

else

begin

K<=1'b1;

r1<=1'b0;

end

end

always @ (posedge C,negedge rst)

if(!rst)

in<=1'b0;

else if(!K)

begin

in=in+8'b1;

end

always @ (in[3:0])

case(in[3:0])

4'b0000:out1=7'b1000000;

4'b0001:out1=7'b1111001;

4'b0010:out1=7'b0100100;

4'b0011:out1=7'b0110000;

4'b0100:out1=7'b0011001;

4'b0101:out1=7'b0010010;

4'b0110:out1=7'b0000010;

4'b0111:out1=7'b1011000;

4'b1000:out1=7'b0000000;

4'b1001:out1=7'b0010000;

4'b1010:out1=7'b0001000;

4'b1011:out1=7'b0000011;

4'b1100:out1=7'b1000110;

4'b1101:out1=7'b1100001;

4'b1110:out1=7'b0000110;

4'b1111:out1=7'b0001110;

default:out1=7'b1111111;

endcase

always @ (in[7:4])

case(in[7:4])

4'b0000:out2=7'b1000000;

4'b0001:out2=7'b1111001;

4'b0010:out2=7'b0100100;

4'b0011:out2=7'b0110000;

4'b0100:out2=7'b0011001;

4'b0101:out2=7'b0010010;

4'b0110:out2=7'b0000010;

4'b0111:out2=7'b1011000;

4'b1000:out2=7'b0000000;

4'b1001:out2=7'b0010000;

4'b1010:out2=7'b0001000;

4'b1011:out2=7'b0000011;

4'b1100:out2=7'b1000110;

4'b1101:out2=7'b1100001;

4'b1110:out2=7'b0000110;

4'b1111:out2=7'b0001110;

default:out2=7'b1111111;

endcase

endmodule

四、实验原理图:

DE2按键电路图

五、实验总结与分析:

1.不加去斗时,出现的结果不稳定,不同的DE2板子结果不一样,在加上去斗时,实验结果很稳定;

2.去斗可以是检测抖动阶段也可以是不抖动阶段;

3.实验二包含了实验一的一些内容,例如数码管的显示,但是加了去抖动程序,使结果更加的稳定。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务