vga/ps/2: ip-core hinzugefuegt
[hwmod.git] / src / textmode_vga / textmode_vga.vhd
diff --git a/src/textmode_vga/textmode_vga.vhd b/src/textmode_vga/textmode_vga.vhd
new file mode 100644 (file)
index 0000000..26cf04c
--- /dev/null
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------------\r
+--\r
+-- Filename: textmode_vga.vhd\r
+-- =========\r
+--\r
+-- Short Description:\r
+-- ==================\r
+--   Toplevel entity of the textmode VGA controller.\r
+--\r
+-------------------------------------------------------------------------\r
+\r
+library ieee;
+use ieee.std_logic_1164.all;
+use work.textmode_vga_pkg.all;
+use work.textmode_vga_platform_dependent_pkg.all;
+
+entity textmode_vga is
+  generic
+  (\r
+    -- Clock frequency used as basis for the VGA timing
+    VGA_CLK_FREQ : integer;\r
+    -- Blink interval of the cursor give in miliseconds
+    BLINK_INTERVAL_MS : integer;\r
+    -- Number of stages used in synchronizers
+    SYNC_STAGES : integer
+  );
+  port
+  (\r
+    -- Interface to user logic
+    sys_clk, sys_res_n : in std_logic;  
+    command : in std_logic_vector(COMMAND_SIZE - 1 downto 0);
+    command_data : in std_logic_vector(3 * COLOR_SIZE + CHAR_SIZE - 1 downto 0);
+    free : out std_logic;
+\r
+    -- External VGA interface
+    vga_clk, vga_res_n : in std_logic;    
+    vsync_n : out std_logic;
+    hsync_n : out std_logic;
+    r : out std_logic_vector(RED_BITS - 1 downto 0);
+    g : out std_logic_vector(GREEN_BITS - 1 downto 0);
+    b : out std_logic_vector(BLUE_BITS - 1 downto 0)
+  );
+end entity textmode_vga;