欢迎来到天天文库
浏览记录
ID:9942868
大小:510.50 KB
页数:24页
时间:2018-05-16
《计时器的vhdl设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本报告共包含5个VHDL程序的设计:VHDL程序1:计时器.VHDL程序2:序列计数器.VHDL程序3:脉冲宽度处理电路设计.VHDL程序4:01011序列检测器.VHDL程序5:赛跑计时秒表.-24-一计时器1.设计任务和原理介绍:假定输入时钟周期为1秒,我们根据这个时钟周期进行计数,设立了3个计数器,分别是秒计数器,分钟计数器,小时计数器。每次输入的时钟上升沿来临,直接驱动秒计数器。如果秒计数器值为59(二进制为111011),则秒计数器恢复为0,否则则秒计数器加1;在此情况下接着查看分钟计数器的值,如果此时分钟计数器值也为59(二进制为
2、111011),则分钟计数器值恢复为0,否则分钟计数器加1;在秒计数器与分钟计数器都为59的情况下,还需查看小时计数器的值,如果此时小时计数器的值为23(二进制10111),则小时计数器的值恢复为0,否则小时计数器的值加1.2.VHDL源程序:Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounterisport(reset:instd_logic;clk_sec:instd_logic;seconds:outstd_logic_vec
3、tor(5downto0);minutes:outstd_logic_vector(5downto0);hours:outstd_logic_vector(4downto0)-24-);endcounter;architecturebehaviorofcounterissignalcount_sec:std_logic_vector(5downto0);signalcount_min:std_logic_vector(5downto0);signalcount_hour:std_logic_vector(4downto0);beginproc
4、ess(reset,clk_sec)beginifreset='0'thencount_sec(5downto0)<="000000";count_min(5downto0)<="000000";count_hour(4downto0)<="00000";elseifclk_sec'eventandclk_sec='1'thenifcount_sec="111011"thencount_sec<="000000";ifcount_min="111011"thencount_min<="000000";ifcount_hour="10111"t
5、hencount_hour<="00000";elsecount_hour<=count_hour+1;endif;elsecount_min<=count_min+1;endif;elsecount_sec<=count_sec+1;endif;elsenull;endif;endif;endprocess;seconds(5downto0)<=count_sec(5downto0);minutes(5downto0)<=count_min(5downto0);hours(4downto0)<=count_hour(4downto0);en
6、dbehavior;-24-3.程序主要部分介绍及流程图:port(reset:instd_logic;clk_sec:instd_logic;seconds:outstd_logic_vector(5downto0);minutes:outstd_logic_vector(5downto0);hours:outstd_logic_vector(4downto0));定义端口,从上往下分别为复位键,时钟信号输入端,秒输出端(0—59),分钟输出端(0—59),小时输出端(0—24).signalcount_sec:std_logic_vect
7、or(5downto0);signalcount_min:std_logic_vector(5downto0);signalcount_hour:std_logic_vector(4downto0);定义内部信号变量,分别对应秒,分钟,小时信号。其流程图如下:-24-4.系统模块图:5.仿真图:本图是系统在特殊的时间:0小时59分59秒时的仿真图。观察可以发现,下一个时钟沿到达后,秒信号由3B(十进制59)变为00并产生进位,分钟信号由3B变为00并产生进位,小时信号由00变为01,从而使此时的时间为1小时0分0秒。从而验证了本程序的正确性。
8、-24-二序列计数器.1.设计任务和原理介绍:序列计数器是经常出现在通信协议编译码器中的器件。其基本功能是对一个8bit位宽的二进制数中的连续为0的个数进行统计。具
此文档下载收益归作者所有