• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

电子时钟控制电路设计VHDL代码Quartus仿真

09/29 08:35
117
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2410251U605I5.doc

共1个文件

名称:电子时钟控制电路设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

任务及要求

硬件描述语言VHDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证。设计一个用于电子时钟的控制电路,功能要求如下:

1.用BCD码输出显示当前时间,显示格式时时分分”;

2.可手动校时:分别对时、分进行校时(正、反向)。

3.设置闹铃。当显示的闹铃时间到,输出振铃脉冲,直到输入清除信号后停止。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

计时模块

闹铃模块

显示模块

部分代码展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
ENTITY?Digital_clock?IS
???PORT?(
??????clk_in????:?IN?STD_LOGIC;--50MHz
??????clr????:?IN?STD_LOGIC;--清除
key_hour???:?IN?STD_LOGIC;--修改小时
key_minute?:?IN?STD_LOGIC;--修改分钟
key_bell_hour???:?IN?STD_LOGIC;--修改闹铃小时
key_bell_minute?:?IN?STD_LOGIC;--修改闹铃分钟
bell_out???:?OUT?STD_LOGIC;--闹铃
????minute_time_one?????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;--BCD?分个位
????minute_time_ten?????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;--BCD?分十位
????hour_time_one???????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;--BCD?时个位
????hour_time_ten???????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?--BCD?时十位
???);
END?Digital_clock;
ARCHITECTURE?trans?OF?Digital_clock?IS
--模块声明
COMPONENT?Bell?IS
???PORT?(
??????clk_in????????????:?IN?STD_LOGIC;
clr????:?IN?STD_LOGIC;--清除
key_bell_hour???:?IN?STD_LOGIC;--修改闹铃小时
key_bell_minute?:?IN?STD_LOGIC;--修改闹铃分钟???
??????hour_time??????????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--时
??????minute_time????????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--分
??????
??????bell_out???????????:?OUT?STD_LOGIC--整点铃
???);
END?COMPONENT;
???
--显示模块
COMPONENT?display?IS
???PORT?(
??????clk????????????????:?IN?STD_LOGIC;
??????hour_time??????????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--时
??????minute_time????????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);--分
????minute_time_one?????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;
????minute_time_ten?????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;
????hour_time_one???????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?;
????hour_time_ten???????:out?STD_LOGIC_VECTOR(3?DOWNTO?0)?
???);
END?COMPONENT;
???
???COMPONENT?fenping?IS
??????PORT?(
?????????clk_in????:?IN?STD_LOGIC;
?????????clk_1Hz????:?OUT?STD_LOGIC
??????);
???END?COMPONENT;
???
???COMPONENT?jishi?IS
??????PORT?(
?????????clk_in????:?IN?STD_LOGIC;
???key_hour???:?IN?STD_LOGIC;--修改小时
???key_minute?:?IN?STD_LOGIC;--修改分钟
?????????clk_1Hz????:?IN?STD_LOGIC;
?????????hour_time??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
?????????minute_time?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
?????????second_time?:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)
??????);
???END?COMPONENT;
???
???SIGNAL?hour_time?????????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
???SIGNAL?minute_time???????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
???SIGNAL?second_time???????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
???
???SIGNAL?clk_1Hz???????????:?STD_LOGIC;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1255

  • 2-2410251U605I5.doc
    下载

相关推荐