Stack Exchange
xilinx ISE: <vga> is not declared
I am writing code for vga controller and in the top module Xilinx ISE gives this error:  

<vga> is not declared

while I have mapped the ports to the top module
code
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity vga_controller is
port(mclk : in std_logic;
button: in std_logic;
hs: out std_logic;
vs: out std_logic;
red: out std_logic_vector (3 downto 0);
green: out std_logic_vector (3 downto 0);
blue: out std_logic_vector (3 downto 0)
);
end vga_controller;

architecture vga_controller of vga_controller is
signal clk25,clr,video :std_logic;
signal hc,vc:std_logic_vector (9 downto 0);
begin
clr<=button;
M2: vga
port map (clk25,button,hs,vs,hc,vc,video);
M3: vga_plotter
port map(hc,vc,video,red,green,blue);
end vga_controller;


You're missing component declarations for vga and vga_plotter. Alternatively you could instantiate entities, e.g. m2: entity work.vga. Declarations are made visible directly or indirectly by selection (here with an instantiated entity work.vga).

You don't have a component declaration for the VGA component.
