Quartus数字秒表verilog代码青创QC-FPGA开发板

名称:Quartus数字秒表verilog代码青创QC-FPGA开发板

软件:Quartus

语言:Verilog

代码功能:

数字秒表设计

1、支持复位、启动、暂停

2、具有量程切换功能,可以切换显示小时、分钟或者秒、毫秒

3、数码管显示时间,精确到10毫秒

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

本代码已在青创QC-FPGA开发板验证,青创QC-FPGA开发板如下,其他开发板可以修改管脚适配:青创QC-FPGA开发板.png


演示视频:


设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. 仿真图

顶层整体仿真图

分频模块

控制模块

显示模块



部分代码展示:

LIBRARY ieee;
USE ieee.std_logic_1164.all; 
--秒表设计
ENTITY miaobiao IS 
PORT
(
   sysclk_in :  IN  STD_LOGIC;--48MHZ
   S1 :  IN  STD_LOGIC;--复位
S2 :  IN  STD_LOGIC;--启动
S3 :  IN  STD_LOGIC;--停止
sw_in       : IN STD_LOGIC;--量程切换
LEDA :  OUT  STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管段选
SEL :  OUT  STD_LOGIC_VECTOR(3 DOWNTO 0)--数码管位选
);
END miaobiao;
ARCHITECTURE RTL OF miaobiao IS 
--参数化的分频模块--可以支持不同的输入时钟
COMPONENT div IS
 generic (N:integer);
   PORT (
      clk_in    : IN STD_LOGIC;--输入
      S1      : IN STD_LOGIC;--复位
      clk_out  : OUT STD_LOGIC--输出时钟
   );
END COMPONENT;
--秒表控制模块
COMPONENT control
   PORT (
      clk_100Hz              : IN STD_LOGIC;--100Hz
      S2              : IN STD_LOGIC;--启动
      S3               : IN STD_LOGIC;--停止
      S1              : IN STD_LOGIC;--复位
Millisecond  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--10毫秒BCD码
second       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--秒BCD码
minute       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--分BCD码
hour       : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--时BCD码
   );
END COMPONENT;
--数码管显示模块
COMPONENT display
PORT(clk : IN STD_LOGIC;
 S1 : IN STD_LOGIC;
 sw_in       : IN STD_LOGIC;--量程切换
 hour : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
 Millisecond : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
 minute : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
 second : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
 LEDA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
 SEL : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
);
END COMPONENT;
SIGNALhour :  STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNALMillisecond :  STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNALminute :  STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNALsecond :  STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNALclk_100Hz :  STD_LOGIC;
SIGNALclk_in :  STD_LOGIC;
BEGIN 
--分频到1000Hz--参数化的分频模块--可以支持不同的输入时钟
U1K_div : div
generic map(48000)
PORT MAP(
 clk_in => sysclk_in,
 S1 => S1,
 clk_out => clk_in
 );
--分频到100Hz---参数化的分频模块--可以支持不同的输入时钟
U100_div : div
generic map(10)
PORT MAP(
 clk_in => clk_in,
 S1 => S1,
 clk_out => clk_100Hz
 );
 
--秒表计时模块
U_control : control
PORT MAP(
 clk_100Hz => clk_100Hz,
 S2 => S2,
 S3 => S3,
 S1 => S1,
 hour => hour,
 Millisecond => Millisecond,
 minute => minute,
 second => second
 );
--显示模块
U_display : display
PORT MAP(
     clk => clk_in,
 S1 => S1,
 sw_in=> sw_in,--量程切换
 hour => hour,
 Millisecond => Millisecond,
 minute => minute,
 second => second,
 LEDA => LEDA,
 SEL => SEL
 );
END RTL;


代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Quartus数字秒表verilog代码青创QC-FPGA开发板

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

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