名称:VGA显示的数字钟设计Verilog代码Quartus  开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

VGA显示的数字钟

1、设计数字时钟,可以通过按键修改时分秒

2、使用VGA显示器显示时间

本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:

开发板.jpg

1、工程文件

2、程序文件

3、程序编译

4、RTL图

5、管脚分配

6、仿真图

整体仿真图

分频模块

计时模块

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--字符显示
ENTITY vga_char_display IS
   PORT (
      clk          : IN STD_LOGIC;
      rst          : IN STD_LOGIC;
      r            : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
      g            : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
      b            : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
      hs           : OUT STD_LOGIC;
      vs           : OUT STD_LOGIC
   );
END vga_char_display;
ARCHITECTURE RTL OF vga_char_display IS
   COMPONENT RAM_set IS
      PORT (
         clk          : IN STD_LOGIC;
         rst          : IN STD_LOGIC;
         data         : IN STD_LOGIC_VECTOR(5 DOWNTO 0);
         col0         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col1         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col2         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col3         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col4         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col5         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
         col6         : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
   
   TYPE type_array IS ARRAY (69 DOWNTO 0) OF STD_LOGIC_VECTOR(7 DOWNTO 0);
   
    constant  UP_BOUND     : integer := 31  ;--31;    "0000011111"
    constant  DOWN_BOUND   : integer := 510;--510;   "0111111110"
    constant  LEFT_BOUND   : integer := 144;--144;   "0010010000"
    constant  RIGHT_BOUND  : integer := 783;--783;   "1100001111"     
    constant  year_up_pos       : integer := 267;--267;   "0100001011"
    constant  year_down_pos     : integer := 274;--274;   "0100010010"
    constant  year_left_pos     : integer := 288;--457;   "0111001001"
    constant  year_right_pos    : integer := 357 ;--470    "0111010110"
    constant  time_up_pos       : integer := 287;--267;   "0100001011"
    constant  time_down_pos     : integer := 294;--274;   "0100010010"
    constant  time_left_pos     : integer := 288;--457;   "0111001001"
    constant  time_right_pos    : integer := 357 ;--470    "0111010110"
  
   SIGNAL pclk   : STD_LOGIC;
   SIGNAL count  : STD_LOGIC_VECTOR(1 DOWNTO 0);
   SIGNAL hcount : integer ;--STD_LOGIC_VECTOR(9 DOWNTO 0);
   SIGNAL vcount : integer ;--STD_LOGIC_VECTOR(9 DOWNTO 0);
   SIGNAL year_num      : type_array;
   SIGNAL time_num      : type_array;
BEGIN
源代码

点击下方的公众号卡片获取

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐