我正在尝试使用Terasic的一些书籍和Altera DE1开发套件来学习VHDL编程.
这里的问题是我正在尝试编程一个VGA控制器,分辨率为640x480(虽然我的屏幕是一台1280x1024的TFT LCD).
我在使用代码时遇到了一些问题.
我使用FSM来制作垂直和水平信号,另一个块用于驱动RGB输入,还有一个来自DE1的27 MHz时钟.
我认为代码有问题,因为我在屏幕上打印的图像尺寸不正确(640x480)但更大(约1174x980).
到现在为止,我试图在屏幕上放一个唯一的颜色来简化它,直到我发现错误.
我的项目有3个文件,1个用于块RGB,1个用于FSM,另一个用于实例化它们.
我会很感激某种帮助来解决这个问题,因为我已经努力想出来,但我看不出错误在哪里.
非常感谢!
奥马尔
VGA控制器文件
library ieee;
use ieee.std_logic_1164.all;
entity VGA_controller is
port(clk, reset : in std_logic;
Hsync,Vsync : out std_logic;
R,G,B : out std_logic_vector(3 downto 0));
end entity;
architecture arch of VGA_controller is
component FSM_sync is
port(clk,reset : in std_logic;
Hsync,Vsync,VIDON : out std_logic;
Vcount,Hcount : out integer range 0 to 799);
end component;
component VGA_display is
port(hcount,vcount : in integer range 0 to 799;
r,g,b : out std_logic_vector(3 downto …Run Code Online (Sandbox Code Playgroud)