基于FPGA的一種高速圖形幀存設(shè)計(jì)
Entity sel_gen is
Port(clk : in std_logic;
Rst : in std_logic;
Vsync : in std_logic;
Sel :out 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 時(shí)序分析
要使高速幀存能正常工作,必須滿足一定的時(shí)延要求。AMLCD是在像素時(shí)鐘的下降沿將數(shù)據(jù)鎖存,從像素時(shí)鐘的上升沿到正確的RGB圖形數(shù)據(jù)出現(xiàn)在AMLCD的數(shù)據(jù)總線上,之間的延時(shí)T必須小于25ns(像素時(shí)鐘周期為50ns,半周期為25ns),系統(tǒng)才能正常工作,如圖6所示。圖中的DLL(Delay-Locked Loop)為SpartanII芯片內(nèi)置的數(shù)字鎖相環(huán),Clk_top(40MHz)經(jīng)DLL二分頻后得20MHz像素時(shí)鐘。20MHz時(shí)鐘一路作為系統(tǒng)工作時(shí)鐘為FPGA地址計(jì)數(shù)器提供計(jì)數(shù)脈沖,一路作為像素時(shí)鐘直接送至AMLCD。從圖6可以看出,延時(shí)T包括如下幾個(gè)延時(shí):T1為Clk_top到幀存SRAM地址總線上地址的改變所需的延時(shí)(總線上各個(gè)信號(hào)的延時(shí)是不同的,T1為其中最大值);T2為幀存SRAM從地址改變到有效的數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上所需的延時(shí);T3為FPGA讀幀存數(shù)據(jù)總線上的數(shù)據(jù)到輸出至AMLCD所需的延時(shí);T4為Clk_top經(jīng)DLL產(chǎn)生像素時(shí)鐘直接輸出至AMLCD所需的延時(shí)。可以看出延時(shí)T=T1+T2+T3-T4。系統(tǒng)中的幀存控制器由Xilinx公司的SparatnII 芯片XC2S50-6實(shí)現(xiàn),經(jīng)過(guò)FPGA Express3.7綜合和Xilinx公司的ISE4.2I軟件布局布線。經(jīng)分析,布線后的延時(shí):T1=10.994ns、T3=10.691ns、T4=7.784ns,T2 由IS61LV5128芯片的時(shí)間參數(shù)決定,T2≤10ns,從而T≤23.901ns25ns,滿足系統(tǒng)的時(shí)序要求。一般開(kāi)發(fā)工具所得出的時(shí)序報(bào)告是系統(tǒng)最壞情況下的延時(shí),實(shí)際系統(tǒng)中的延時(shí)將小于仿真時(shí)所得出的數(shù)據(jù)。
采用高速SRAM存儲(chǔ)器作為圖形幀存,用FPGA設(shè)計(jì)幀存控制器,能大大減小電路板的尺寸,增加系統(tǒng)的可靠性和設(shè)計(jì)靈活性采用雙幀存交替切換及單幀雙掃技術(shù),提高了系統(tǒng)視頻帶寬,并能提高系統(tǒng)實(shí)時(shí)性,減少圖形閃爍采用VHDL語(yǔ)言進(jìn)行FPGA設(shè)計(jì)具有方法簡(jiǎn)單、易讀和可重用性強(qiáng)的特點(diǎn)。該高速圖形幀存已用Xilinx公司的SpartanII系列器件XC2S50實(shí)現(xiàn),并在某型飛機(jī)座艙圖形顯示系統(tǒng)中實(shí)際應(yīng)用。
評(píng)論