⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tgen.vhd

📁 用VHDL语言写的VGA核心,是个很好很齐全的核心,有很多功能.
💻 VHD
字号:
---- File tgen.vhd, Video Horizontal and Vertical Timing Generator-- Project: VGA-- Author : Richard Herveille-- rev.: 0.1 April 13th, 2001------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity Tgen is	port(		clk : in std_logic;		rst : in std_logic;		-- horizontal timing settings		HSyncL : in std_logic;              -- horizontal sync pulse polarization level (pos/neg)		Thsync : in unsigned(7 downto 0);   -- horizontal sync pulse width (in pixels)		Thgdel : in unsigned(7 downto 0);   -- horizontal gate delay (in pixels)		Thgate : in unsigned(15 downto 0);  -- horizontal gate (number of visible pixels per line)		Thlen  : in unsigned(15 downto 0);  -- horizontal length (number of pixels per line)		-- vertical timing settings		VSyncL : in std_logic;              -- vertical sync pulse polarization level (pos/neg)		Tvsync : in unsigned(7 downto 0);   -- vertical sync width (in lines)		Tvgdel : in unsigned(7 downto 0);   -- vertical gate delay (in lines)		Tvgate : in unsigned(15 downto 0);  -- vertical gate (visible number of lines in frame)		Tvlen  : in unsigned(15 downto 0);  -- vertical length (number of lines in frame)				CSyncL : in std_logic;              -- composite sync pulse polarization level (pos/neg)		BlankL : in std_logic;              -- blank signals polarizatio level		eol,                                -- end of line		eof,                                -- end of frame		gate,                               -- vertical AND horizontal gate (logical and function)		Hsync,                              -- horizontal sync pulse		Vsync,                              -- vertical sync pulse		Csync,                              -- composite sync		Blank : out std_logic               -- blank signal	);end entity Tgen;architecture dataflow of Tgen is	--	-- Component declarations	--	component vtim is	port(		clk : in std_logic;                -- master clock		ena : in std_logic := '1';         -- count enable		rst : in std_logic;                -- synchronous active high reset		Tsync : in unsigned(7 downto 0);   -- sync duration		Tgdel : in unsigned(7 downto 0);   -- gate delay		Tgate : in unsigned(15 downto 0);  -- gate length		Tlen  : in unsigned(15 downto 0);  -- line time / frame time		Sync  : out std_logic;             -- synchronization pulse		Gate  : out std_logic;             -- gate		Done  : out std_logic              -- done with line/frame	);	end component vtim;	--	-- signals	--	signal Hgate, Vgate : std_logic;	signal Hdone : std_logic;	signal iHsync, iVsync, igate : std_logic;begin	-- hookup horizontal timing generator	hor_gen: vtim port map (clk => clk, rst => rst, 		Tsync => Thsync, Tgdel => Thgdel, Tgate => Thgate, Tlen => Thlen,		Sync => iHsync, Gate => Hgate, Done => Hdone);	-- hookup vertical timing generator	ver_gen: vtim port map (clk => clk, ena => Hdone, rst => rst, 		Tsync => Tvsync, Tgdel => Tvgdel, Tgate => Tvgate, Tlen => Tvlen,		Sync => iVsync, Gate => Vgate, Done => eof);	-- assign outputs	eol   <= Hdone;	igate <= Hgate and Vgate;	gate  <= igate;	Hsync <= iHsync xor HsyncL;	Vsync <= iVsync xor VsyncL;	Csync <= (iHsync or iVsync) xor CsyncL;	Blank <= igate xnor BlankL;end architecture dataflow;

⌨️ 快捷键说明

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