小编Sum*_*nth的帖子

VHDL:如何在进程中使用CLK和RESET

我为斯巴达3E板编写了VGA控制器的VHDL代码.代码模拟并且在没有下面代码中的重置和clk过程的情况下运行良好.但是在插入进程(reset,clk)之后,h_count和v_count计数器停止计数并在模拟中被驱动为未定义的XXXXX.我哪里错了.代码工作完美,没有clk,重置过程(粗体注释),我也测试了harware上的代码.

VGA控制器的代码

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity vga_controller is
    port(clk          : inout std_logic;
         clk_50       : in    std_logic;
         hsync, vsync : out   std_logic;
         video_on     : out   std_logic;
         x_pos, y_pos : out   std_logic_vector(9 downto 0);
         sw           : in    std_logic_vector(2 downto 0) := "100";
         rgb          : out   std_logic_vector(2 downto 0)
    );

end vga_controller;

architecture Behavioral of vga_controller is
    signal h_count, v_count : unsigned(9 downto 0) := (others => '0');

begin
    -- Frequency divider to get 25 MHz clk from 50 MHz …
Run Code Online (Sandbox Code Playgroud)

vhdl

5
推荐指数
1
解决办法
4万
查看次数

标签 统计

vhdl ×1