基于FPGA的LCD&VGA控制器设计 (3)

2008-11-28 20:00:19   作者:朱耀东 经亚枝 张焕春   来源:电子技术应用   

关键字:FPGA LCD VGA 控制器

entity seq_gen is
port(clk_seq : in std_logic;
rst_seq : in std_logic;
lcd_hs_out : out std_logic;
lcd_dataen : out std_logic;
lcd_vs_out : out std_logic;
pix_clk : out std_logic );
end seq_gen;
architecture rtl_seq_gen of seq_gen is
signal lcd_hb : std_logic;
signal lcd_hs : std_logic;
signal lcd_vb : std_logic;
signal lcd_vs : std_logic;
signal clken_vcount : std_logic;
begin
hcount: block
signal hcountreg :std_logic_vector(9 downto 0);
signal hz_temp : std_logic;
signal lcd_hz : std_logic;
begin
process (clk_seq,lcd_hz)
begin
if (lcd_hz = ‘1‘) then
hcountreg <= (others =>‘0‘);
elsif clk_seq‘event and clk_seq = ‘1‘ then
hcountreg <= hcountreg +1;
end if;
end process;
lcd_hb <= ‘0‘ when hcountreg >=600 and hcountreg < 650
else ‘1‘;
lcd_hs <=‘0‘ when hcountreg >=610 and hcountreg < 630
else ‘1‘;
hz_temp <= ‘1‘ when hcountreg = 650 else ‘0‘;
lcd_hz <=hz_temp or rst_seq;
end block hcount;
diff : block
signal inputrega : std_logic;
signal inputregb : std_logic;
begin
process(clk_seq)
begin
if clk_seq‘event and clk_seq=‘1‘ then
inputregb <= inputrega;
inputrega <= not lcd_hs;
end if;
end process;
clken_vcount <= not inputregb and inputrega;
end block diff;
vcount : block
signal vcountreg : std_logic_vector(9 downto 0);
signal vz_temp : std_logic;
signal lcd_vz : std_logic;
begin
process (clk_seq,lcd_vz)
begin
if(lcd_vz=‘1‘)then
vcountreg <= (others => ‘0‘);
elsif clk_seq‘event and clk_seq = ‘1‘ then
if clken_vcount = ‘1‘ then
vcountreg <= vcountreg +1;
end if;
end if;
end process;
lcd_vb <= ‘0‘ when vcountreg >=600 and vcountreg < 615
else ‘1‘;
lcd_vs <=‘0‘ when vcountreg >=607 and vcounreg < 610
else ‘1‘;
vz_temp <= ‘1‘ when vcountreg = 615 else ‘0‘;
lcd_vz <= vz_temp or rst_seq;
end block vcount;
pix_clk <=clk_seq;
lcd_dataen <=lcd_hb and lcd_vb;
lcd_hs_out <=lcd_hs;
lcd_vs_out <=lcd_vs;
end rtl_seq_gen;

基于FPGA的LCD&VGA控制器设计

  这种用VHDL产生扫描时序的方法简单、易读,并且易于修改。在代码中只须修改一些时序参数就能产生任意时序的波形,具有很好的可重用性。用FPGA Express 3.5半VHDL代码综合后,通过Foundation 3.1i进行布局和布线,用Foundation提供的门级仿真工具产生的行扫描时序仿真图如图4所示。

  采用FPGA技术设计的AMLCD控制器,大大减少了电路板的尺寸,同时增加了系统可靠性和设计灵活性。这种用VHDL语言实现现行场扫描时序生成器的方法,具有简便。易读和可重用性强的特点。该AMLCD控制器已用Xilinx公司的SpartanII系列器件XC2S50实现,并在飞机座舱图形显示系统中实现应用。

[1] [2] [3]
相关阅读
FPGA厂商赛灵思积极部署广电领域 2012-03-27
赛灵思:首次亮相CCBN 展出多款可编程平台 2012-03-22
Altera率先交付高性能28-nmFPGA量产芯片 2012-03-07
Altera举行世界上第一款光FPGA技术演示 2012-03-06
赛灵思宣布业界首款28nm FPGA开始量产 2012-03-02
赛灵思28nm FPGA及可扩展处理平台赢得10亿美元的设计采纳 2012-02-27
Altera首次演示FPGA与100-Gbps光模块的互操作性 2012-02-23
赛灵思28纳米产品创纪录出货速度成就行业里程碑 2012-02-17
Microsemi推出新封装形式的耐辐射型"航空飞行"FPGA 器件 2012-02-14
赛灵思KC705和VC707评估套件功能演示及参考设计视频 2012-02-13
虚拟FPGA逻辑验证分析仪的设计 2012-02-11
编辑:冀凯
本文引用地址: http://www.eeworld.com.cn/FPGA/2008/1128/article_364.html
[发表评论]
[加入收藏]
[告诉好友]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
最热点击
专栏
向农,EEWORLD副总编。被英特尔董事长贝瑞特称为“中国可与之对话的两名记者之一”

【详细】

总编随笔
汤宏琳,人皆称为“汤汤”,电子工程世界高级编辑。随着EEWORLD一起成长。

【详细】

汤汤手记
今年,是中国集成电路产业丰收的一年,相比较往年都有大幅提升。

【详细】

凯哥博客
论坛精华
精选博文