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