王涌 肖順文 羅春梅


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