微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA的一种高速图形帧存设计

基于FPGA的一种高速图形帧存设计

时间:06-28 来源:互联网 点击:


Entity sel_gen is

Port(clk : in std_Logic;

Rst : in std_logic;

Vsync : in std_logic;

Sel ut std_logic;

Clear : out std_logic;?

end sel_gen

architecture rtl_sel_gen of sel_gen is

signal clken : std_logic;

signal cleartemp : std_logic;

signal inputrega : std_logic;

signal inputregb : std_logic ;

signal qn : std_logic_vector(1 downto 0);

signal seltemp : std_logic;

begin

process(rst,vsync)

begin

if rst'event and rst='0' then

cleartemp <='1'?

end if;

if(vsync='0')then

cleartemp <='0';

end if;

end process;

clear<=cleartemp;

process(clk)

begin

if clk'event and clk='1'then

inputregb <= inputrega;

inputrega <= not vsync;

end if;

end process;

clken <= not inputregb and inputrega;

process (clk,rst)

begin

if (rst-'1') then

qn <= (others = >'0');

elsif clk'event and clk = '1' then

if clken='1' then

if qn = 3 then

qn <= (others =>'0')?;

else

qn <=qn +1;

end if;

end if;

end if;

seltemp <=qn(1);

end process;

sel <= seltemp;

end rtl sel gen;

3 时序分析

要使高速帧存能正常工作,必须满足一定的时延要求。AMLCD是在像素时钟的下降沿将数据锁存,从像素时钟的上升沿到正确的RGB图形数据出现在AMLCD的数据总线上,之间的延时T必须小于25ns(像素时钟周期为50ns,半周期为25ns),系统才能正常工作,如图6所示。图中的DLL(Delay-Locked Loop)为SpartanII芯片内置的数字锁相环,Clk_top(40MHz)经DLL二分频后得20MHz像素时钟。20MHz时钟一路作为系统工作时钟为FPGA地址计数器提供计数脉冲,一路作为像素时钟直接送至AMLCD。从图6可以看出,延时T包括如下几个延时:T1为Clk_top到帧存SRAM地址总线上地址的改变所需的延时(总线上各个信号的延时是不同的,T1为其中最大值);T2为帧存SRAM从地址改变到有效的数据出现在数据总线上所需的延时;T3为FPGA读帧存数据总线上的数据到输出至AMLCD所需的延时;T4为Clk_top经DLL产生像素时钟直接输出至AMLCD所需的延时。可以看出延时T=T1+T2+T3-T4。系统中的帧存控制器由Xilinx公司的SparatnII 芯片XC2S50-6实现,经过FPGA Express3.7综合和Xilinx公司的ISE4.2I软件布局布线。经分析,布线后的延时:T1=10.994ns、T3=10.691ns、T4=7.784ns,T2 由IS61LV5128芯片的时间参数决定,T2≤10ns,从而T≤23.901ns<25ns,满足系统的时序要求。一般开发工具所得出的时序报告是系统最坏情况下的延时,实际系统中的延时将小于仿真时所得出的数据。



采用高速SRAM存储器作为图形帧存,用FPGA设计帧存控制器,能大大减小电路板的尺寸,增加系统的可靠性和设计灵活性?采用双帧存交替切换及单帧双扫技术,提高了系统视频带宽,并能提高系统实时性,减少图形闪烁?采用VHDL语言进行FPGA设计具有方法简单、易读和可重用性强的特点。该高速图形帧存已用Xilinx公司的SpartanII系列器件XC2S50实现,并在某型飞机座舱图形显示系统中实际应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top