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