实验十七数字时钟实验目的设计一个可以计时的数字时钟,其显示时间范围是00:00:00~23:59:59,且该时钟具有暂停计时、清零等功能。实验器材1、SOPC实验箱2、计算机()实验预****1、了解时钟设计原理和各主要模块的设计方法。2、提前预****编写好主模块的VHDL程序。,一个完整的时钟应由4部分组成:秒脉冲发生电路、计数部分、译码显示部分和时钟调整部分。1、秒脉冲发生:一个时钟的准确与否主要取决秒脉冲的精确度。可以设计分频电路对系统时钟50MHz进行50000000分频从而得到稳定的1Hz基准信号。定义一个50000000进制的计数器,将系统时钟作为时钟输入引脚clk,进位输出即为分频后的1Hz信号。2、计数部分:应设计1个60进制秒计数器、1个60进制分计数器、1个24进制时计数器用于计时。秒计数器应定义clk(时钟输入)、rst(复位)两个输入引脚,Q3~Q0(秒位)、Q7~Q4(十秒位)、Co(进位位)9个输出引脚。分、时计数器类似。如需要设置时间可再增加置数控制引脚Set和置数输入引脚d0~d7。3、译码显示部分:此模块应定义控制时钟输入、时分秒计数数据输入共25个输入引脚;8位显示码输出(XQ7~XQ0)、6位数码管选通信号(DIG0~DIG5)共14个输出引脚。在时钟信号的控制下轮流选择对十时、时、十分、分、十秒、秒输入信号进行译码输出至XQ7~XQ0,并通过DIG0~DIG5输出相应的选通信号选择数码管。每位显示时间控制在1ms左右。时钟信号可由分频电路引出。4、。;;;Entityclk_1HzISPORT(sys_clk:instd_logic;clk_1Hz:outstd_logic);ENDentityclk_1Hz;Architecturebhvofclk_1HzISsignalclk_1Hz_r:std_logic;signalcount:std_logic_vector(9downto0);BeginProcess(sys_clk)BeginIFsys_clk'EVENTANDsys_clk='1'THENIFcount="1000000000"THENcount<=(others=>'0');clk_1Hz_r<=NOTclk_1Hz_r;ELSEcount<=count+1;ENDIF;ENDIF;ENDProcess;clk_1Hz<=clk_1Hz_r;ENDbhv;24进制模块LibraryIEEE;;;Entitycounter24ISPORT(clk,rst:instd_logic;bcd:outstd_logic_vector(7do
数字时钟设计vhdl 来自淘豆网www.taodocs.com转载请标明出处.