vga_module.vhd

来自「many application on kit SP-3: VGA, digit」· VHDL 代码 · 共 575 行 · 第 1/2 页

VHD
575
字号
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity VGA_Module is    Port ( clk50_in : in std_logic;			sc : in std_logic_vector(7 downto 0);			cntchar :in std_logic_vector(4 downto 0);            Red_out : out std_logic;           Green_out : out std_logic;           Blue_out : out std_logic;           hs_out : out std_logic;           vs_out : out std_logic);end VGA_Module;architecture Behavioral of VGA_Module is		signal Clk25					: std_logic;		signal Horizontal_Counter	: std_logic_vector (9 downto 0);		signal Vertical_Counter		: std_logic_vector (9 downto 0);begin--Generate 25Mhz ClockC1:process (clk50_in)begin	if clk50_in'event and clk50_in='1' then	  		if (Clk25 = '0')then	    Clk25 <= '1' after 2 ns;		else	    Clk25 <= '0' after 2 ns;		end if;			end if;	end process;		  C2: process (Clk25)--TYPE Screen_Line1 is ARRAY(0 to 7, 0 to 81) OF std_logic;TYPE Screen_Line1 is ARRAY(0 to 7, 0 to 7) OF std_logic;CONSTANT A : Screen_Line1 := (('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','1','0','0'),										('0','0','1','0','1','1','0','0'),										('0','0','1','1','1','1','0','0'),										('0','1','0','0','0','1','1','0'),										('0','1','0','0','0','1','1','0'),										('1','1','1','0','1','1','1','1'));CONSTANT B : Screen_Line1 := (('1','1','1','1','1','1','0','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','1','1','1','0','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('1','1','1','1','1','1','0','0'));CONSTANT C : Screen_Line1 := (('0','0','1','1','1','0','0','0'),										('0','1','1','0','0','1','0','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','0','0'),										('0','1','1','0','0','0','0','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','1','0','0'),										('0','0','1','1','1','0','0','0')); 										CONSTANT D : Screen_Line1 := (('0','1','1','1','1','1','1','0'),										('0','0','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','1'),										('0','1','1','1','1','1','1','0')); 										CONSTANT E : Screen_Line1 := (('0','1','1','1','1','1','1','0'),										('0','0','1','1','0','0','1','0'),										('0','0','1','1','0','1','0','0'),										('0','0','1','1','1','1','0','0'),										('0','0','1','1','1','1','0','0'),										('0','0','1','1','0','1','0','0'),										('0','0','1','1','0','0','1','0'),										('0','1','1','1','1','1','1','0')); 														CONSTANT F : Screen_Line1 := (( '0','1','1','1','1','1','1','0'),										( '0','0','1','1','0','0','1','0'),										( '0','0','1','1','0','1','0','0'),										( '0','0','1','1','1','1','0','0'),										( '0','0','1','1','0','1','0','0'),										( '0','0','1','1','0','0','0','0'),										( '0','0','1','1','0','0','0','0'),										( '0','1','1','1','1','0','0','0'));															CONSTANT G : Screen_Line1 := (('0','0','1','1','1','0','1','0'),										('0','1','1','0','0','1','1','0'),										('1','1','0','0','0','0','1','0'),										('1','1','0','0','0','0','0','0'),										('1','0','0','1','1','1','1','0'),										('1','1','0','0','1','1','1','1'),										('0','1','1','0','0','1','1','0'),										('0','0','1','1','1','1','0','0'));CONSTANT H : Screen_Line1 := (('0','1','1','1','0','0','1','1'),										('0','0','1','1','0','0','1','0'),										('0','0','1','1','0','0','1','0'),										('0','0','1','1','1','1','1','0'),										('0','0','1','1','1','1','1','0'),										('0','0','1','1','0','0','1','0'),										('0','0','1','1','0','0','1','0'),										('0','1','1','1','0','0','1','1')); 			CONSTANT I : Screen_Line1 := (('0','0','1','1','1','1','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','1','1','1','1','0','0')); 												CONSTANT J : Screen_Line1 := (('0','0','1','1','1','1','1','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('1','1','1','0','1','1','0','0'),										('0','0','1','1','1','0','0','0')); 												CONSTANT K : Screen_Line1 := (('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','0','1','1','0','0'),										('0','1','1','1','1','0','0','0'),										('0','1','1','1','0','0','0','0'),										('0','1','1','0','1','0','0','0'),										('0','1','1','0','0','1','0','0'),										('0','1','1','0','0','0','1','0')); 											CONSTANT L : Screen_Line1 := (('0','1','1','1','0','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','0','1','1','0','0','1','0'),										('0','1','1','1','1','1','1','0'));										CONSTANT M : Screen_Line1 := (('0','1','0','0','0','0','0','1'),										('0','1','0','0','0','0','1','1'),										('0','1','1','0','0','1','1','1'),										('0','1','1','1','1','0','1','1'),										('0','1','0','1','0','0','1','1'),										('0','1','0','0','0','0','1','1'),										('0','1','0','0','0','0','1','1'),										('0','1','0','0','0','0','1','1')); 												CONSTANT N : Screen_Line1 := (('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','1','0','0','1','0'),										('0','1','1','1','1','0','1','0'),										('0','1','1','0','1','1','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0')); 											CONSTANT O : Screen_Line1 := (('0','0','1','1','1','1','0','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','0','1','0'),										('0','0','1','1','1','1','0','0')); 												CONSTANT P : Screen_Line1 := (('1','1','1','1','1','1','0','0'),										('0','1','1','0','0','1','1','0'),											('0','1','1','0','0','1','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','1','1','1','0','0'),										('0','1','1','0','0','0','0','0'),										('0','1','1','0','0','0','0','0'),										('1','1','1','1','0','0','0','0'));										CONSTANT Q : Screen_Line1 := (('0','0','1','1','1','1','1','0'),										('0','1','1','0','0','0','0','1'),										('0','1','1','0','0','0','0','1'),										('0','1','1','0','0','0','0','1'),										('0','1','1','0','0','0','0','1'),										('0','1','1','0','1','1','0','1'),										('0','1','1','0','0','1','1','1'),										('0','0','1','1','1','1','1','1')); 		CONSTANT R : Screen_Line1 := (('0','1','1','1','1','1','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','1','1','1','0','0'),										('0','1','1','1','1','0','0','0'),										('0','1','1','0','1','1','0','0'),										('0','1','1','0','0','1','1','0'),										('0','1','1','0','0','0','1','0')); 												CONSTANT S : Screen_Line1 := (('0','1','1','1','1','1','1','0'),										('1','0','0','0','0','0','0','1'),										('1','1','0','0','0','0','0','1'),										('0','1','1','0','0','0','0','0'),										('0','0','0','1','1','0','0','0'),										('1','0','0','0','0','1','1','0'),										('1','0','0','0','0','0','0','1'),										('0','1','1','1','1','1','1','0')); 		CONSTANT T : Screen_Line1 := (('0','1','1','1','1','1','1','0'),										('0','1','0','1','1','0','1','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','1','1','1','1','0','0')); 												CONSTANT U : Screen_Line1 := (('1','1','1','0','0','1','1','1'),										('1','1','0','0','0','0','1','0'),										('1','1','0','0','0','0','1','0'),										('1','1','0','0','0','0','1','0'),										('1','1','0','0','0','0','1','0'),										('1','1','0','0','0','0','1','0'),										('0','1','1','0','0','1','0','0'),										('0','0','1','1','1','0','0','0')); 		CONSTANT V : Screen_Line1 := (('1','1','1','0','0','0','1','1'),										('0','1','1','0','0','0','1','0'),										('0','0','1','0','0','0','1','0'),										('0','0','1','1','0','0','1','0'),										('0','0','1','1','0','1','0','0'),										('0','0','0','1','0','1','0','0'),										('0','0','0','1','0','1','0','0'),										('0','0','0','1','1','0','0','0')); 		CONSTANT W : Screen_Line1 := (('0','1','0','0','0','0','1','0'),										('0','1','0','0','0','0','1','0'),										('0','1','0','0','0','0','1','0'),										('0','1','0','0','0','0','1','0'),										('0','1','0','1','1','0','1','0'),										('0','1','0','1','1','0','1','0'),										('0','1','1','0','0','1','1','0'),										('0','1','0','0','0','0','1','0')); 												CONSTANT X : Screen_Line1 := (('0','1','0','0','0','0','1','0'),										('0','1','0','0','0','0','1','0'),										('0','1','1','0','0','1','0','0'),										('0','0','1','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','1','0','1','1','0','0'),										('0','1','0','0','0','1','1','0'),										('0','1','0','0','0','0','1','0')); 					CONSTANT Y : Screen_Line1 :=(('1','1','1','0','0','0','1','1'),										('0','1','1','0','0','0','1','0'),										('0','1','1','0','0','1','0','0'),										('0','0','1','1','0','1','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','1','1','1','1','0','0')); 																			CONSTANT Z : Screen_Line1 := (('0','1','1','1','1','1','1','1'),										('0','1','0','0','0','0','1','1'),										('0','0','0','0','0','1','1','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','1','1','0','0','0'),										('0','0','1','1','0','0','0','0'),										('0','1','1','0','0','0','0','1'),										('0','1','1','1','1','1','1','1')); 												CONSTANT N1 : Screen_Line1 :=(('0','0','0','0','0','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','1','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','0','1','1','0','0'),										('0','0','0','1','1','1','1','0')); 												CONSTANT N2 : Screen_Line1 :=(('0','0','1','1','1','1','0','0'),										('0','1','0','0','0','1','1','0'),										('0','1','0','0','0','0','1','0'),

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?