shipin.txt

来自「vhdl编程 视频传输格式时序 可应用于液晶显示」· 文本 代码 · 共 97 行

TXT
97
字号
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity screen is 
port(	clk : in std_logic; 
		hsync : out std_logic;
		vsync : out std_logic; 
		blank : out std_logic ); 
end screen; 

architecture rtl_screen of screen is 
signal hblank:std_logic;
signal vblank:std_logic;
signal hcounter:std_logic_vector(9 downto 0);
signal vcounter:std_logic_vector(9 downto 0);

begin 
	process (clk) 
	begin 
		if(clk'event and clk='1')then
			if(hcounter="1100011111")then			--hcounter:0-799 
				hcounter<="0000000000";
			else
				hcounter<=hcounter+'1';
			end if;
		end if;
	end process;
	
	process (clk) 
	begin 
		if(clk'event and clk='1')then
			if(hcounter<"0001011111")then			--hcounter:0-95
				hsync<='0';
			else
				hsync<='1';
			end if;
		end if;
	end process;
	
	process (clk) 
	begin 
		if(clk'event and clk='1')then
			if(hcounter>"1011110010" or hcounter<"0001110010")then			--hcounter:95+19--799-45
				hblank<='0';
			else
				hblank<='1';
			end if;
		end if;
	end process;
	
	process (hblank) 
	begin 
		if(hblank'event and hblank='1')then
			if(clk'event and clk='1')then
				if(vcounter="1000001100")then			--hcounter:0-524
					vcounter<="0000000000";
				else
					vcounter<=vcounter+'1';
				end if;
			end if;
		end if;
	end process;
	
	process (hblank) 
	begin 
		if(hblank'event and hblank='1')then
			if(clk'event and clk='1')then
		 		if(vcounter<"0000000010")then			--hcounter:0-1
			 		vsync<='0';
				else
					vsync<='1';
				end if;
			end if;
		end if;
	end process;
	
	process ( hblank)
	begin 
		if(hblank'event and hblank='1')then
			if(clk'event and clk='1')then
				if(vcounter>"0000001110" and vcounter<="0111101111")then			--hcounter:13-524
					vblank<='1';
				else
					vblank<='0';
				end if;
			end if;	
		end if;
	end process;
	
	process ( hblank)
	begin 
		if(clk'event and clk='1')then
			blank <= hblank and vblank;
		end if;
	end process;
end rtl_screen; 

⌨️ 快捷键说明

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