60秒循环计时器设计VHDL代码Quartus仿真

名称:60秒循环计时器设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

60秒循环计时器设计

输入时钟频率为8Hz,实现60秒的循环计时。

需要对时钟进行分频,得到1Hz的基准时钟。


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


演示视频:

设计文档:

设计文档.doc

1. 工程文件

Quartus9.0版本


2. 程序文件




3. 程序编译


4. RTL图


5. 仿真图

整体仿真图

计时到59后回到0


分频模块仿真图


计时模块仿真图



部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--计时器
ENTITY timer IS
   PORT (
      clk_1Hz     : IN STD_LOGIC;--1Hz时钟
      second_ten  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--秒钟十位
      second_one  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--秒钟个位
   );
END timer;
ARCHITECTURE behave OF timer IS
   --定义十位和个位
   SIGNAL ten : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";
   SIGNAL one : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";
BEGIN
   --计时进程
   PROCESS (clk_1Hz)
   BEGIN
      IF (clk_1Hz'EVENT AND clk_1Hz = '1') THEN--时钟上升沿
         IF (ten = "0101" AND one = "1001") THEN--若计时到59分
            ten <= "0000";--回0
            one <= "0000";
         ELSIF (one = "1001") THEN--个位计时到9
            ten <= ten + "0001";--十位加1
            one <= "0000";--个位回0
         ELSE
            ten <= ten;
            one <= one + "0001";--个位累加
         END IF;
      END IF;
   END PROCESS;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 60秒循环计时器设计VHDL代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员