📄 vga_rx.vhd
字号:
library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity VGA_Rx is Port ( clk50_in : in std_logic; sc : in std_logic_vector(7 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_Rx;architecture Behavioral of VGA_Rx 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -