基于FPGA的VGA图像显示控制器设计 下载本文

基于FPGA的VGA图像显示控制器设计

附 录

显示扫描模块代码

LIBRARY IEEE;

USE IEEE.std_logic_1164.all; USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity vga640480 is port (clk : in STD_LOGIC; hs,vs,r,g,b : out STD_logic;

rgbin :in std_logic_vector(2 downto 0);

hcntout,vcntout: out STD_logic_vector(9 downto 0)); end vga640480;

architecture ONE of vga640480 is

signal hcnt, vcnt : STD_logic_vector(9 downto 0); begin

hcntout <= hcnt; vcntout <= vcnt; process(clk) begin

if (rising_edge(clk)) then

if (hcnt =640+8) then

if (vcnt < 525) then vcnt <= vcnt +1; else vcnt <= (others => '0'); end if; end if; end if; end process; process(clk) begin

35 基于FPGA的VGA图像显示控制器设计

if (rising_edge(clk)) then

if ((hcnt >=640+8+8) and (hcnt <640+8+8+96)) then hs <='0'; else hs <='1'; end if; end if; end process; process(clk) begin

if ((vcnt >=4800+8+2) and (vcnt <480+8+2+2)) then vs <='0'; else vs <='1'; end if; end process; process(clk) begin if (rising_edge(clk)) then if (hcnt<640 and vcnt<480) then r<=rgbin(2);g<=rgbin(1);b<=rgbin(0); else r<='0';g <='0';b<='0'; end if; end if; end process; end ONE;

二分频器模块代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY efp IS

Port(clk50MHZ : IN STD_LOGIC; clk25MHZ:OUT STD_LOGIC); END efp;

ARCHITECTURE modelstru OF efp IS signal clk_25:STD_LOGIC; begin

36 基于FPGA的VGA图像显示控制器设计

process (clk50MHZ) begin

if clk50MHZ'event and clk50MHZ ='1' then clk_25 <= not clk_25; end if; end process; clk25MHZ<=clk_25; end;

地址发生器模块代码

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY dizhi IS Port(clk : IN STD_LOGIC;

q:OUT STD_LOGIC_vector(11 downto 0)); END ;

ARCHITECTURE modelstru OF dizhi IS signal m:STD_LOGIC_vector(11 downto 0); begin

process (clk) begin

if clk'event and clk='1' then m <= m+1; end if; end process; q<=m; end;

37 基于FPGA的VGA图像显示控制器设计

参考文献

[1] 张压平:基于FPGA的VGA显示模块设计,人民邮电出版社,2007.6,P6-P8 [2] 董 兵:基于FPGA的VGA图像控制器的设计,复旦大学出版社,2006.7,P11-P18 [3] 张 伟:FPGA内部块RAM的应用技巧,高等教育出版社,2006.6,P32-P36 [4] 曹 允:基于FPGA的时序彩条信号实现应用,人民邮电出版社,2008.8,P25-P28 [5] 李经智:EDA技术及其应用,人民邮电出版社,2005.8,P21-P28 [6] 潘 松:EDA技术与Verilog,清华大学出版社,2007.9,P22-P26 [7] 边计年:用VHDL设计电子线路,清华大学出版社,2001.9,P5-P7 [8] 李经智:EDA技术及其应用,人民邮电出版社,2005.6,P21-P28

[9] 李红艳: 基于FPGA的VGA图像信号发生器设计,清华大学版社,2008.3,P121-P128 [10] 张文爱:基于FPGA的VGA显示控制器的设计,电子工业出版社,2006.9,P55-P58 [11] 王 亮:VGA汉字显示的FPGA 设计与实现,南方工业出版社,2009.2,P75-P77 [12] 王阿川:基于FPGA高速图像采集卡的研制,北京工业出版社,2005.6,P32-P35

38