王涌 肖順文 羅春梅
摘要:采用自上而下的設(shè)計(jì)方法實(shí)現(xiàn)了一個(gè)分辨率較高、顯示迅速且協(xié)議簡單的VGA顯示控制電路。在QUARTUS II 13.1軟件開發(fā)平臺(tái)上使用Verilog HDL語言來完成時(shí)序模塊和彩條像素模塊的描述、編譯,最后在第三方仿真工具M(jìn)odelsim-Altera中對其進(jìn)行模擬仿真,結(jié)果顯示,該設(shè)計(jì)滿足系統(tǒng)要求,能夠成功的通過VGA接口在顯示器上顯示圖案。
關(guān)鍵詞:Verilog HDL語言;VGA技術(shù);QUARTUS II 13.1;Modelsim-Altera
中圖分類號:TN92 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1007-9416(2019)04-0150-02
0 引言
近年來,隨著數(shù)字電路設(shè)計(jì)技術(shù)的逐步發(fā)展,集成電路的發(fā)展越來越趨近于超大規(guī)模、更低功耗及超高速[1]。Verilog HDL就是在迫切需要設(shè)計(jì)者使用EDA工具完成大規(guī)模集成電路設(shè)計(jì)發(fā)展要求的情況下應(yīng)運(yùn)而生的,它使用編寫代碼的方法來完成數(shù)字電路的設(shè)計(jì),不管是底層的門級電路,還是高層的行為描述,都可以通過代碼實(shí)現(xiàn),這種方式大大的提高了數(shù)字電路的設(shè)計(jì)效率[2]。本文就是采用Verilog_HDL語言來實(shí)現(xiàn)一個(gè)VGA顯示控制電路。VGA接口由于具有傳輸速率高,協(xié)議簡單,成本低等特點(diǎn),因此被廣泛使用。
1 設(shè)計(jì)原理
1.1 VGA時(shí)序分析
VGA主要用于計(jì)算機(jī)顯卡傳輸圖像到顯示器的橋梁,將顯卡處理的視頻圖像數(shù)據(jù)實(shí)時(shí)傳輸?shù)斤@示器上進(jìn)行顯示。廣義的VGA為VGA顯示器,狹義的VGA為VGA分辨率的時(shí)序。由IBM公司推出的采用RGB模擬信號的VGA視頻傳輸標(biāo)準(zhǔn),定義了具有60Hz刷新頻率、可產(chǎn)生1677萬種色彩的640×480像素格式。
VGA的行掃描時(shí)序情況,如圖1所示。
行同步時(shí)期a、行消隱后肩b、行顯示時(shí)期c、行消隱前肩d四部分組成一個(gè)完整的掃描周期。開始掃描,首先進(jìn)行行同步操作,同步完成后才開始數(shù)據(jù)的掃描。
同樣,場掃描時(shí)序圖和行掃描時(shí)序圖類似,如圖2所示。
一個(gè)場掃描周期由n個(gè)行掃描周期所組成。并且一次場掃描時(shí)序由完整的場消隱前肩、場同步時(shí)期、場消隱后肩、場顯示時(shí)期組成,且自成體系。
1.2 VGA分辨率
分辨率就是一個(gè)用來表示物體精確度的參數(shù),若顯示器的分辨率參數(shù)越大,則其顯示的圖像越清晰,包含的信息量越大,畫質(zhì)中的細(xì)節(jié)越多,圖像的保真性越高。
由于人的視覺暫留,想要實(shí)現(xiàn)CRT顯示器畫面不閃爍,至少需要實(shí)現(xiàn)每秒25幀畫面的更新速度。而顯示器為了保證圖像流暢,視覺效果最佳,通常掃描幀都在每秒60幀及以上。IBM公司最先推出VGA視頻標(biāo)準(zhǔn),定義的VGA格式為具有60Hz刷新頻率,圖像分辨率為640×480。由于制造技術(shù)的快速發(fā)展,分辨率標(biāo)準(zhǔn)越來越高。本設(shè)計(jì)中的分辨率設(shè)為800×600,刷新頻率設(shè)為60HZ。針對不同的分辨率,通??梢杂脙煞N方法來表示時(shí)序參數(shù):像素表示法和時(shí)間表示法。FPGA擅長計(jì)數(shù)電路,因此采用像素表示法[3]。
2 設(shè)計(jì)實(shí)現(xiàn)過程
本文采用“自上而下”的方式,在ALTERA公司的QUARTUS II 13.1軟件開發(fā)平臺(tái)上使用Verilog HDL語言對PLL_40M時(shí)鐘模塊和VGA_module時(shí)序與彩色線條顯示模塊進(jìn)行描述,在頂層模塊中使用例化語句對兩個(gè)模塊進(jìn)行調(diào)用,程序設(shè)計(jì)完成后,對所設(shè)計(jì)的VGA顯示控制電路進(jìn)行編譯,編譯無誤后,通過編寫Testbench仿真測試文件,在第三方仿真工具M(jìn)odelsim-Altera中進(jìn)行模擬仿真。
2.1 PLL_40M時(shí)鐘模塊
時(shí)鐘模塊提供電路所需的40MHz的時(shí)鐘。Intel提供了用于實(shí)現(xiàn)PLL(鎖相環(huán))功能的IP核ALTPLL,在本設(shè)計(jì)中調(diào)用、配置該IP核可實(shí)現(xiàn)設(shè)計(jì)所需要的40MHz的時(shí)鐘。
2.2 VGA_module模塊
VGA_module模塊用于生成設(shè)計(jì)所需的VGA時(shí)序驅(qū)動(dòng)和提供VGA 顯示的圖像數(shù)據(jù)。VGA的時(shí)序驅(qū)動(dòng)部分是相當(dāng)固定的,本模塊主要的設(shè)計(jì)方法是用了兩個(gè)寄存器來分別對行掃描和列掃描進(jìn)行管理。當(dāng)行掃描計(jì)數(shù)器掃描完行同步脈沖后至高HSYNC;同理,當(dāng)列掃描計(jì)數(shù)器掃描完列同步脈沖后至高VSYNC信號。
3 設(shè)計(jì)結(jié)果
在QUARTUS II 13.1軟件開發(fā)平臺(tái)上打開HDL的RTL級圖形觀察器,就可以得到VGA顯示控制電路的模塊圖如圖3所示。
在第三方仿真工具M(jìn)odelsim-Altera中進(jìn)行模擬仿真。本設(shè)計(jì)的要求是通過VGA接口,在顯示器上四個(gè)區(qū)域依次顯示紅色(11100000)、黃色(11111100)、藍(lán)色(00000011)、綠色(00011100),根據(jù)如圖4總體設(shè)計(jì)仿真波形依次顯示為11100000、11111100、00000011、00011100,得出該設(shè)計(jì)結(jié)果符合設(shè)計(jì)的要求。
4 結(jié)語
利用Verilog HDL設(shè)計(jì)VGA顯示控制電路,采用“自頂向下”的方法,在QUARTUS II 13.1軟件開發(fā)平臺(tái)上,將各個(gè)獨(dú)立但又相互聯(lián)系的模塊利用頂層文件調(diào)用實(shí)現(xiàn)復(fù)雜的數(shù)字電路,實(shí)現(xiàn)了以軟件方式設(shè)計(jì)硬件的目的。本設(shè)計(jì)只實(shí)現(xiàn)了VGA基本的彩條信號顯示,在此基礎(chǔ)上還可以做很多的擴(kuò)展,將其設(shè)計(jì)成動(dòng)態(tài)圖片的顯示,可塑性很強(qiáng)。在第三方仿真軟件Modelsim-Altera中驗(yàn)證VGA彩色信號顯示控制電路的功能,操作簡單易上手,不需要實(shí)際操作焊接、調(diào)試電路來驗(yàn)證設(shè)計(jì)功能,有效減少了設(shè)計(jì)所需的時(shí)間。
參考文獻(xiàn)
[1] 潘松,黃繼業(yè),陳龍.EDA技術(shù)與Verilog HDL.北京:清華大學(xué)出版社,2010.4.
[2] 夏宇聞.Verilog基本知識(shí)(上)[J].電子產(chǎn)品世界,2002(19):70-72.
[3] 韓彬,于瀟宇,張雷鳴,宋恒,林海全.FPGA設(shè)計(jì)技巧與案例開發(fā)詳解[M].電子工業(yè)出版社.2016.1.
[4] 韓磊.基于FPGA的VGA信號發(fā)生器設(shè)計(jì)[J].產(chǎn)業(yè)與科技論壇,2018,17(20):54-55.
[5] 蔣艷紅.基于FPGA的VGA圖象信號發(fā)生器設(shè)計(jì)[J].電子測量技術(shù),2008(03):78-81.
[6] 馬智強(qiáng).PXI總線VGA圖像信號發(fā)生器硬件模塊設(shè)計(jì)[D].電子科技大學(xué),2015.