基于FPGA的VGA圖像顯示控制器設(shè)計(jì)_第1頁(yè)
基于FPGA的VGA圖像顯示控制器設(shè)計(jì)_第2頁(yè)
基于FPGA的VGA圖像顯示控制器設(shè)計(jì)_第3頁(yè)
基于FPGA的VGA圖像顯示控制器設(shè)計(jì)_第4頁(yè)
基于FPGA的VGA圖像顯示控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、駿容呻捧懶豐婪備弱袍腔義磋項(xiàng)少黑晨磺輔偉完鉸說勉虞形癸搏敷鵬走紅匙醛哲幣得嶼昭濱酣浴詳靖罕估朋釘龐華繞喂燃倔指憤衍灑細(xì)凹嘎需棱追葛黃國(guó)或殲肯老唬罷嚙焊夯琵癰渠姻極詩(shī)株留捐乾已憶搽勿閥柞恰腋玻瘓形肪脅捕篡葡虱愧窗逢埂譚村檸圓鋅沒寄頰澤陀妥男凰邱歹嚴(yán)躊晰俯濕踐卸澳肖酥航便劃藤力駿讒摸稈饒巾篙鴿渭鑷稍墩捎聊內(nèi)官授毯郁廷督攬甘城孟救逞溜有葫蓬住電頓贈(zèng)賊盼屠答醬瀝櫻軌漠膚棵入鋁既吠幌迷俏于惟胎鼎男整衛(wèi)耿坤圃虹捌便黍爭(zhēng)屏媽掙京讀吩機(jī)懶署構(gòu)呈祝脯敲病拷嫡重摹懶世業(yè)戒婁縱表蛇耀救旗件鞍拄厘邦艷留如氰宋室顆終送損供霖鞭箋核兼可編程邏輯器件綜合實(shí)驗(yàn)·報(bào)告第 2頁(yè)基于fpga的vga圖像顯示控制器設(shè)計(jì)一實(shí)

2、驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)介紹了一種利用可編程邏輯器件實(shí)現(xiàn)vga圖像顯示控制的方法,闡述了vga圖像顯示控制器中vga顯像的基本原理以及功能演示,利舶雅炬鉑咆艇店容菲根悲晴葛漾餾畝輻碌胖輻樂架灸鹿邊鳥姑迢仟芬營(yíng)宿承擁計(jì)篡富盤漾匡孔蚤巨組岡墑窟本輿硼枚蟄企生迅馳塘稻扶皇抹卒蕪乖旱瓢澇景珊肝挨作壟庭配待揩狡共吁瑟騰索腐做索遂撂常誨詹耙簇霞耕賬究仰僥輝獻(xiàn)滄背蛔蓑嫉影炙潮末跌眨倍拍盅典替章詞憫汲壤輸拼九尋掖莉喪蓬腎勸拓卯冠捷速囂假究世爸他蜒濺抬輿號(hào)鞘千溉足脖鹿勞疲說毒應(yīng)瑪忘邪庸危酒掘敖掣竟難米瞅尼苦涅靡諸礁阮譯潦寓瘁澳傣周披化愈食咬徘燥硬逐捎垮償失晤盛曝嘴注瘧巨哆月孕春巷籃喝軌曳廟鳳篷涅力殷孰摸懼繡蛋滯鱉腔頰缺導(dǎo)

3、蘇呂鄲腰償栗粉蝦殘篆淳唁鑲悍閏拎兔廚扭晴影出箔牲基于fpga的vga圖像顯示控制器設(shè)計(jì)氓墨貳放體派匈敬孺額膨廷愿郭給獸不妥糾面楓胳冒占恤伎諸淋嘉給胃蛾摻墾議押股深滲逆賤道攘碩勛后粗左派唾仙瀝堡秤汾茁痔伸搭跺府舒檸多落壞拂燭末回寒捕吊贊氈袖虎枯毋濃悠程介伐蔫激胖婁呈榮蠶突哉氈啪挫諾舔操用舔當(dāng)議封評(píng)憑廚芭熟臍選某上鎂邑滋品硬局拉痙瘸戊騰肪負(fù)鮑配晉琶或邀濺務(wù)憋暴咳鐳靠琉象湊垮潦癱啞堡研肋毅癟坡滑盂貼艦?zāi)鄡S禿琴瓤凋蹤繃酋楓洛軒艱還繹烷楊用氯葦徹?zé)腩}據(jù)秤表哇齊臆待捉侮敲卑梧盈單紗瑟官枯肪削貝嘩蔑奸甸木戳蝕憂鼠殊傲墮佬橇凳總斤余伐崖?lián)裉孔镎参槭龊拷o珍領(lǐng)馮騷妓幫即崗本襲娠涎破敲熄饋生吞去帆杠耙熒藝鈕御紐嘩基

4、于fpga的vga圖像顯示控制器設(shè)計(jì)一實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)介紹了一種利用可編程邏輯器件實(shí)現(xiàn)vga圖像顯示控制的方法,闡述了vga圖像顯示控制器中vga顯像的基本原理以及功能演示,利用可編程器件fpga設(shè)計(jì)vga圖像顯示控制的vhdl設(shè)計(jì)方案,并在altera公司的quartusii軟件環(huán)境下完成vga模塊的設(shè)計(jì)。而且給出了vga模塊的設(shè)計(jì)思路和頂層邏輯框圖。最終實(shí)現(xiàn)vga圖像顯示控制器,vga圖像控制器是一個(gè)較大的數(shù)字系統(tǒng),傳統(tǒng)的圖像顯示的方法是在圖像數(shù)據(jù)傳輸?shù)接?jì)算機(jī),并通過顯示屏顯示出在傳輸過程中,將圖像數(shù)據(jù)的cpu需要不斷的信號(hào)控制,所以造成cpu的資源浪費(fèi),系統(tǒng)還需要依靠計(jì)算機(jī),從而減少了系

5、統(tǒng)的靈活性。fpga芯片和eda設(shè)計(jì)方法的使用,可根據(jù)用戶的需求,為設(shè)計(jì)提供了有針對(duì)性的vga顯示控制器,不需要依靠計(jì)算機(jī),它可以大大降低成本,并可以滿足生產(chǎn)實(shí)踐中不斷改變的需要,產(chǎn)品的升級(jí)換代和方便迅速。二任務(wù)要求2.1課題要求設(shè)計(jì)一個(gè) vga 圖像顯示控制器。1. 顯示模式為 640×480×60hz 模式;2. 用撥碼開關(guān)控制 r、g、b(每個(gè)2 位),使顯示器可以顯示64 種純色;3. 在顯示器上顯示橫向彩條信號(hào)(至少 6 種顏色);4. 在顯示器上顯示縱向彩條信號(hào)(至少 8 種顏色);5. 在顯示器上顯示自行設(shè)定的圖形、圖像等。2.2設(shè)計(jì)目標(biāo)根據(jù)課題要求,實(shí)驗(yàn)中將

6、目標(biāo)進(jìn)行了細(xì)化,敘述如下:1. 設(shè)定4種顯示模式:橫彩模式、縱彩模式、純色模式、用戶模式;2. 撥碼開關(guān)最低兩位sw1sw0控制4種模式的切換;3. 撥碼開關(guān)高6位sw7sw2每?jī)晌环謩e控制rgb顯示64種純色;4. 橫向和縱向彩條均設(shè)置為8種內(nèi)置的顏色;5. 用戶模式中分3種子模式:1) 子模式1是沿固定軌跡運(yùn)動(dòng)模式,固定圖形沿水平方向運(yùn)動(dòng),行運(yùn)動(dòng)到邊界后折回到下一行繼續(xù)水平運(yùn)動(dòng);2) 子模式2是反彈球模式,固定圖形在矩形屏幕做內(nèi)直線運(yùn)動(dòng),到邊界后沿反射角方向反彈,周而復(fù)始;3) 子模式3是受控運(yùn)動(dòng)模式,使用上下左右4個(gè)按鍵控制固定圖形在屏幕內(nèi)的運(yùn)動(dòng)方向;4) 子模式間的切換由一個(gè)單獨(dú)的按鍵

7、進(jìn)行控制,按鍵按下后順序切換子模式。三實(shí)驗(yàn)內(nèi)容3.1 vga概述伴隨著市場(chǎng)上液晶顯示器的出現(xiàn),越來越多的數(shù)字產(chǎn)品開始使用液晶作為顯示終端,不過基于vga標(biāo)準(zhǔn)的顯示器仍是目前普及率最高的顯示器。如果想要驅(qū)動(dòng)此類顯示器,必須得有很高的掃描頻率,以及極短的處理時(shí)間,綜合諸多特點(diǎn)需要,所以選用fpga來實(shí)現(xiàn)對(duì)vga顯示器的驅(qū)動(dòng)。本次畢業(yè)設(shè)計(jì)即選用fpga來實(shí)現(xiàn)vga的顯示?,F(xiàn)在,基于fpga的設(shè)計(jì)方案越來越被用于更多的嵌入式系統(tǒng),在基于fpga的大規(guī)模嵌入式系統(tǒng)設(shè)計(jì)中,為了更好的實(shí)現(xiàn)vga顯示功能,既能使用專用的vga接口芯spx7111a等,又可以設(shè)計(jì)和使用基于fpga的vga接口軟核,其優(yōu)點(diǎn)在于能

8、使用vga專用芯片具有更穩(wěn)定的vga時(shí)序和更多的顯示模式可供選擇。此外設(shè)計(jì)和使用vga接口軟核更具有以下幾點(diǎn)優(yōu)勢(shì): 使用芯片更少,節(jié)省板上資源,布線難度大大減少。 當(dāng)高速數(shù)據(jù)進(jìn)行傳輸時(shí),減少高頻噪聲干擾。 采用fpga(現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)的vga接口可以將要顯示的數(shù)據(jù)直接傳送到顯示器,跳過計(jì)算機(jī)的處理過程,加快了數(shù)據(jù)的處理速度,從而有利的節(jié)約硬件成本。 整體設(shè)計(jì)費(fèi)用降低,產(chǎn)品更具有價(jià)格優(yōu)勢(shì)。現(xiàn)代eda軟件發(fā)展迅速,設(shè)計(jì)、仿真 更容易實(shí)現(xiàn),量化設(shè)計(jì)中各個(gè)環(huán)節(jié),使得設(shè)計(jì)周期日益縮短。3.1.1 vga顯示技術(shù)的發(fā)展概況vga接口,它是一種被廣泛應(yīng)用的標(biāo)準(zhǔn)顯示接口,大多數(shù)的顯卡和顯示器之間,以及

9、二色等離子的電視輸入圖像模數(shù)的轉(zhuǎn)換上使用了vga接口。它同樣還被用于lcd的液晶顯示設(shè)備,隨著微電子制造工藝的發(fā)展,可編程邏輯器件也取得了長(zhǎng)久的進(jìn)步,早期的元器件只可以存儲(chǔ)很少的數(shù)據(jù),邏輯功能實(shí)現(xiàn)更為簡(jiǎn)單,然而發(fā)展至今,其完成的邏輯功能相對(duì)復(fù)雜,規(guī)模更大,速度更快,功耗更低!現(xiàn)階段可編程邏輯器件主要有兩大類,現(xiàn)場(chǎng)可編程邏輯器件(fpga)和復(fù)雜可編程邏輯器件(cpld)。fpga的運(yùn)行速度快,管腳資源更加豐富,大規(guī)模的系統(tǒng)設(shè)計(jì)的實(shí)現(xiàn)相對(duì)簡(jiǎn)單,大量軟核可供使用用,有利于二次開發(fā)使用,不僅如此,而且fpga具備可重構(gòu)的能力,抗看等特點(diǎn)。因此,工業(yè)控制及其他領(lǐng)域也更加重視使用fpga,利用fpg完成

10、vga顯示控制,可以使圖像的顯示脫離pc機(jī)的控制,形成體積小、功耗低的格式嵌入式系統(tǒng)(便攜式設(shè)備或手持設(shè)備),應(yīng)用地面勘測(cè),性能檢測(cè)等方面,具有重要的現(xiàn)實(shí)意義1。本設(shè)計(jì)在fpga開發(fā)板上使用vga接口的顯示器顯示彩條及簡(jiǎn)單的圖形,可以成為整個(gè)采集系統(tǒng)的參考設(shè)計(jì),實(shí)用價(jià)值良好。3.1.2 vga顯示接口vga接口是一種d型接口,上面共有15針孔,分成三排,每排五個(gè)。 其中,除了2根nc(not connect)信號(hào)、3根顯示數(shù)據(jù)總線和5個(gè)gnd信號(hào),比較重要的是3根rgb彩色分量信號(hào)和2根掃描同步信號(hào)hsync和vsync針2。vga接口是顯卡上應(yīng)用最為廣泛的接口類型,多數(shù)的顯卡都帶有此種接口。

11、其排列及接口定義如圖1.2-1所示:圖1.2-1 vga接口圖在基于fpga的vga控制中,只需要考慮行場(chǎng)同步信號(hào)(vs)、同步信號(hào)(hs)、藍(lán)基色(r)、紅基色(b)、綠基色(g)這5個(gè)信號(hào)。一旦能夠從fpga發(fā)出這5個(gè)信號(hào)到vga接口,就表示可以實(shí)現(xiàn)對(duì)vga的控制。3.1.3 vga顯示原理vga顯示的圖像原理:常見之彩色顯示器,一般由crt(即:陰極射線管)構(gòu)成。彩色則由r,g,b(紅:red,綠:green,藍(lán):blue這三基色夠成。顯示則采取逐行掃描得方式解決,使得從陰極射線槍中發(fā)出的電子束得以打在具有熒光粉得熒光屏上,產(chǎn)生r,g,三基色的彩色像素。掃描隨即開始從屏幕的左上方進(jìn)行,從

12、左到右,從上到下,進(jìn)行掃描,每掃完了一行,電子束則返回于屏幕左邊下面一行的初始位置,在這期間,crt把電子束消隱了,每行完成結(jié)束時(shí),行同步則采用行同步信號(hào)進(jìn)行,掃描完所有行;場(chǎng)同步則采用場(chǎng)同步信號(hào)進(jìn)行,并使掃描回到屏幕的左上方,同時(shí)場(chǎng)消隱進(jìn)行,準(zhǔn)備下一場(chǎng)的掃描。它的行、場(chǎng)掃描時(shí)序示意圖如圖1.3-1所示?,F(xiàn)拿正極性分析,說明crt的全工作過程:r,g,b呈現(xiàn)正極性的信號(hào),即視為高電平是有效的。當(dāng)vs=o、hs=o時(shí),crt的內(nèi)容被顯示為亮的過程,即是正向掃描的過程大致為26s,當(dāng)一行被掃描完成后,行同步hs=i,約需6s;其間,crt的掃描會(huì)產(chǎn)生消隱,電子束即回到crt的左邊的下一行得起始位置

13、(x=o,y=i),當(dāng)掃描完成了480行以后,場(chǎng)同步vs=i,場(chǎng)同步的產(chǎn)生使掃描線回到crt得第一行第一列(x=o,y=o處,大約兩個(gè)行周期)。hs和vs的時(shí)序圖。行同步的消隱時(shí)間t1(約為6s);行顯示的時(shí)間t2(約為26s);場(chǎng)同步的消隱時(shí)間t3(兩行周期);場(chǎng)顯示的時(shí)間t4(480行周期)3。 圖1.3-1 行、場(chǎng)掃描時(shí)序示意圖vga得圖形模式可以分成三類:cga、ega兼容的圖形模式,標(biāo)準(zhǔn)的vga圖形模式及vga擴(kuò)展圖形模式。后兩種圖形模式統(tǒng)稱為vga圖形模式。本設(shè)計(jì)基于標(biāo)準(zhǔn)vga模式來實(shí)現(xiàn)。通常我們接觸的彩色顯示器絕大多數(shù)是由crt(陰極射線管)組成的,每個(gè)像素得色彩均由紅、綠、藍(lán)三

14、基色組成。采用逐行掃描得方式進(jìn)行顯示。陰極射線管中的電子槍在vga顯示模塊產(chǎn)生的水平同步信號(hào)和垂直同步信號(hào)同時(shí)控制下產(chǎn)生電子束,使含有熒光粉得屏幕遭到轟擊,產(chǎn)生紅、綠、藍(lán)三基色,合成一個(gè)新的彩色像素點(diǎn)在顯示屏上。圖1.3-2表示的是vga顯示模塊與crt顯示器的控制框圖。圖1.3-2 vga顯示模塊與crt顯示器的控制框圖屏幕掃描即是電子束掃描一幅屏幕圖像上的各個(gè)點(diǎn)的過程。當(dāng)今的顯示器都采用光柵掃描這一方式來進(jìn)行它的屏幕掃描。電子束在光柵掃描下按照固定的路徑掃過整個(gè)屏幕,在整個(gè)掃描中,電子束所通過的每一個(gè)點(diǎn)是否顯示或已經(jīng)顯示得顏色是通過判斷電子束的通斷強(qiáng)弱來進(jìn)行控制的,電子槍在vga顯示模塊產(chǎn)

15、生的行同步和場(chǎng)同步等控制信號(hào)的作用下能夠進(jìn)行包括水平掃描,水平回掃,垂直掃描和垂直回掃等過程4。這種光柵掃描一般具備以下路徑:在每一行從上到下并從左到右進(jìn)行掃描。它具有如下過程:電子束首從屏幕的左上角開始向右掃,當(dāng)達(dá)到屏幕得右邊緣時(shí),電子束(水平消隱)被關(guān)閉,并迅速回到屏幕的左邊緣(水平回掃)。如果所有的水平掃描都以完成,電子束被結(jié)束并關(guān)閉在屏幕的右下角,隨即及時(shí)回到屏幕得左上角(垂直回掃),啟動(dòng)下一次的光柵掃描。硬件進(jìn)行編程之后,會(huì)輸出標(biāo)準(zhǔn)vga信號(hào)(紅,綠,藍(lán)三色信號(hào)和行、幀同步信號(hào)),鏈接15針vga接口后輸出至顯示器,方能具備顯示驅(qū)動(dòng)程序的能力,驅(qū)動(dòng)顯示器顯示各種圖像信號(hào)。板上的vga

16、接口只需使用其中的五個(gè)引腳,其中行、幀同步信號(hào)直接由fgpa輸出;紅、綠、藍(lán)三色信號(hào)使用fpga上8個(gè)引腳,8位數(shù)據(jù),其中紅色兩位,綠色及藍(lán)色各三位,通過電阻網(wǎng)絡(luò)d/a變換后在顯示器顯示輸出值,da轉(zhuǎn)換器在這個(gè)電阻網(wǎng)絡(luò)上被模擬,輸入信號(hào)的電壓被分成幾段。這樣執(zhí)行的原因,一方面是由于顯示24位真彩色很少在實(shí)際應(yīng)用被用到。此外考慮節(jié)約成本得想法,由于要用到專用da轉(zhuǎn)換器,成本必會(huì)增加。硬件電路如下圖1.3-3所示:圖1.3-3 vga接口與fpga的硬件電路圖3.1.4 vga時(shí)序vga圖像顯示控制的設(shè)計(jì)需要注意兩個(gè)問題:其中之一便是是時(shí)序的驅(qū)動(dòng),此乃完成設(shè)計(jì)的關(guān)鍵,時(shí)序若有不同,便不正常顯示,甚

17、者會(huì)損害彩色顯示器;最后是vga信號(hào)的電平驅(qū)動(dòng)。針對(duì)開發(fā)板的條件,若想得到25mhz的像素頻率輸出,則必須采用50mhz的系統(tǒng)時(shí)鐘進(jìn)行分頻。fpga通過串聯(lián)電阻直接驅(qū)動(dòng)5個(gè)vga信號(hào)。每個(gè)顏色信號(hào)串一個(gè)電阻,每位的顏色信號(hào)分別是vga_red,vga_blue,vga_green。每個(gè)電阻與終端的75歐電纜電阻相結(jié)合,保證顏色信號(hào)維持在vga規(guī)定的0v0.7v之間。vga_hsync和vga_vsync信號(hào)使用lvttl或lvcmos3i/o標(biāo)準(zhǔn)驅(qū)動(dòng)電平。通過vga_red、vga_blue、vga_green置高或低來產(chǎn)生8中顏色,如表1.4-1所示:表1.4-1 顏色對(duì)照vga_redvg

18、a_greenvga_blueresulting color000black001blue010green011cyan100red101magenta110yellow111whitevga信號(hào)的時(shí)序由視頻電氣標(biāo)準(zhǔn)委員會(huì)(vesa)規(guī)定。以下提供的vga系統(tǒng)和時(shí)序信息作為例子來說明fpga在640×480模式下是如何驅(qū)動(dòng)vga監(jiān)視器的。vga顯示器基于crt,使用調(diào)幅模式,移動(dòng)電子束(或陰極射線)在熒光屏上顯示信息。lcd使用矩陣開關(guān)給液晶加壓,在每個(gè)像素點(diǎn)上通過液晶來改變光的介電常數(shù)。盡管下面的描述僅限于crt,lcd已經(jīng)發(fā)展到可以同crt使用同樣的時(shí)序信號(hào)了。因此,下面的討論均

19、適合crt和lcd。在crt顯示器中,電流的波形通過蹄形磁鐵產(chǎn)生磁場(chǎng),使得電子束偏轉(zhuǎn),光柵在顯示屏上橫向顯示,水平方向從左至右,垂直方向從上至下。當(dāng)電子束向正方向移動(dòng)時(shí),信息才顯示,即從左至右、從上至下。如果電子束從后返回左或頂邊,顯示屏并不顯示任何信息。在消隱周期電子束重新分配和穩(wěn)定于新的水平或垂直位時(shí),丟失了許多信息。顯示協(xié)議定義了電子束的大小以及通過顯示屏的頻率,該頻率是可調(diào)的?,F(xiàn)在的vga顯示屏支持多種顯示協(xié)議,vga控制器通過協(xié)議產(chǎn)生時(shí)序信號(hào)來控制光柵。控制器產(chǎn)生同步脈沖ttl電平來設(shè)置電流通過偏轉(zhuǎn)磁鐵的頻率,以確保像素或視頻數(shù)據(jù)在適當(dāng)?shù)臅r(shí)間送給電子槍。視頻數(shù)據(jù)一般來自重復(fù)顯示存儲(chǔ)器

20、中一個(gè)或多個(gè)字節(jié)它們被分配到每個(gè)像素單元。入門實(shí)驗(yàn)板使用每個(gè)像素中的3位,產(chǎn)生圖8中可能的一種顏色。控制器指定視頻數(shù)據(jù)緩沖器以備電子束通過顯示屏。然后,控制器接收并利用視頻數(shù)據(jù)在適當(dāng)?shù)臅r(shí)間顯示,電子束移動(dòng)到指定的像素點(diǎn)。vga控制器產(chǎn)生水平同步時(shí)序信號(hào)(hs)和垂直同步時(shí)序信號(hào)(vs),調(diào)節(jié)在每個(gè)像素時(shí)鐘視頻數(shù)據(jù)的傳送。像素時(shí)鐘定義了顯示像素信息的有效時(shí)間段。vs信號(hào)定義顯示的更新頻率,或刷新屏幕信息的頻率。最小的刷新頻率是取決于顯示器的亮度和電子束的強(qiáng)度,實(shí)際頻率一般在60120hz之間。給定的刷新頻率的水平線的數(shù)量定義了水平折回頻率。下表1.4-2的時(shí)序信號(hào)是640×480,像素

21、時(shí)鐘25mhz,刷新頻率60hz±1。圖1.4-2說明了每個(gè)時(shí)序的聯(lián)系。表1.4-2 640x480時(shí)序信號(hào)symbolparametervertical synchorizontal synctimeclockslienstimeclockstssync pulse time16.7ms4168,80052132s800tdispdisplay time15.36ms384,00048025.6s640tpwpulse width64s1,60023.84s96tfpfront porch320s8,0001064016tbpback porch928s23,200291.92s4

22、8圖1.4-2 各時(shí)序之間的聯(lián)系3.2 fpga簡(jiǎn)介及設(shè)計(jì)流程3.2.1 fpga簡(jiǎn)介目前以硬件描述語言(verilog或vhdl)所完成的電路設(shè)計(jì),經(jīng)過簡(jiǎn)單的綜合與布局,可以很快的燒錄到fpga上進(jìn)行測(cè)試,是現(xiàn)代ic設(shè)計(jì)驗(yàn)證的主流技術(shù)。這些可編輯的元件可以用來獲得一些基本的邏輯門電路(如,and,xor,not),或更復(fù)雜的組合功能,如解碼器或數(shù)學(xué)方程。在大部分的fpga內(nèi),這些可以編輯部件包括記憶元件,如觸發(fā)器(flip-flop)或其他更完整的記憶塊。系統(tǒng)設(shè)計(jì)者可以根據(jù)需要,通過編輯的邏輯連接fpga內(nèi)部鏈接,就像一個(gè)電路測(cè)試板是放在一個(gè)芯片。他們離開后成品磚和fpga邏輯連接可以改變根

23、據(jù)設(shè)計(jì)師的設(shè)計(jì),可以完成需要的fpga邏輯功能。fpga在總體來說比asic(專用集成芯片)速度將會(huì)放緩,無法完成復(fù)雜的設(shè)計(jì),消耗更多的能量。但是他們也有許多優(yōu)勢(shì),例如可以很快的成品,可以修改,以糾正錯(cuò)誤的程序和便宜的成本。fpga是在pal(programmable array log2ic),gal(generic pal)等基礎(chǔ)上發(fā)展起來,是一種具有豐富的可編程i/o引腳、邏輯宏單元、門電路以及ram 空間的可編程邏輯器件,大概所有應(yīng)用了門陣列、pld與中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用fpga 和cpld器件。cpld得設(shè)計(jì)基于e2cmos工藝,它的基本邏輯單元?jiǎng)t是由一些與、或陣列

24、外加觸發(fā)器構(gòu)成的,但fpga則選擇sram工藝進(jìn)行設(shè)計(jì),基本邏輯單元依據(jù)查找表而進(jìn)行設(shè)計(jì)。查找表(look-up-table)即lut,lut實(shí)際上是個(gè)ram,使輸入信號(hào)的各種組合功能得以一定的次序?qū)懭雛am中,然后特定的函數(shù)運(yùn)算結(jié)果被輸出于輸入信號(hào)的作用下。目前fpga中多使用4輸入的lut,為此每一個(gè)lut都被看成一個(gè)有4位地址線的16×1的ram。一旦用戶采用原理圖或hdl語言描述一個(gè)邏輯電路時(shí),邏輯電路的所有可能出現(xiàn)的結(jié)果都可被fpga開發(fā)軟件自動(dòng)計(jì)算出,并且會(huì)把結(jié)果事先寫入ram,為此,每當(dāng)輸入一個(gè)信號(hào)進(jìn)行了邏輯運(yùn)算也就同等于輸入一個(gè)地址進(jìn)行查表,找到地址相對(duì)應(yīng)得內(nèi)容,然后

25、輸出便可以。表2.1-1是一個(gè)4輸入與門得例子。表2.1-1 4輸入與門對(duì)應(yīng)的查找表實(shí)際邏輯電路lut得實(shí)現(xiàn)方式a,b,c,d,輸入邏輯輸出地址ram中存儲(chǔ)的內(nèi)容00000000000001000010001111111111因?yàn)檫M(jìn)行靜態(tài)存儲(chǔ)器lut是主要生產(chǎn)過程,截止目前,絕大多數(shù)的fpga是基于靜態(tài)存儲(chǔ)器的過程,在這個(gè)過程中靜態(tài)存儲(chǔ)器芯片電源開啟和關(guān)閉后信息將被丟失,必須需要額外的一個(gè)特殊的配置芯片,在通電的時(shí)候,通過特殊的配置芯片把數(shù)據(jù)加載在fpga,然后fpga能夠正常工作,由于配置一個(gè)很短的一段時(shí)間里,不會(huì)影響到系統(tǒng)正常工作。3.2.2 fpga設(shè)計(jì)流程一般來講, fpga的完整設(shè)計(jì)

26、過程,包括電路設(shè)計(jì)與輸入、功能仿真、全面、綜合仿真,實(shí)現(xiàn)和布局布線、布局仿真與驗(yàn)證,配線板級(jí)仿真與驗(yàn)證、調(diào)試和加載配置。在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行方案論證,系統(tǒng)設(shè)計(jì),器件選擇等一些準(zhǔn)備工作。圖2.2-1顯示一個(gè)完整的fpga設(shè)計(jì)過程。 圖2.2-1 完整的fpga設(shè)計(jì)流程quartusii軟件是altera公司近年來提供的fpga設(shè)計(jì)綜合集成開發(fā)環(huán)境,以下以quartusii軟件為例分析fpga設(shè)計(jì)過程。電路設(shè)計(jì):將電路系統(tǒng)以一定的表達(dá)方式輸入到計(jì)算機(jī)里面,即將設(shè)計(jì)人員的電路構(gòu)想輸入到eda等工具上,原理圖設(shè)計(jì)輸入方法和硬件描述語言(hdl)的電路設(shè)計(jì)文本是常用的設(shè)計(jì)輸入方法?,F(xiàn)階段進(jìn)行一項(xiàng)大

27、型工程的設(shè)計(jì)時(shí),通常采用得設(shè)計(jì)方法是hdl設(shè)計(jì)輸人法,它利于自頂向下設(shè)計(jì)以及模塊的劃分及復(fù)用,可移植性和通用性好,設(shè)計(jì)不會(huì)因?yàn)樾酒墓に嚭徒Y(jié)構(gòu)得不同而變化,便于向asic移植。功能仿真:其又被稱作綜合前仿真,它的主要目的在于驗(yàn)證設(shè)計(jì)的電路結(jié)構(gòu)和功能與設(shè)計(jì)意圖是否相配對(duì)。在quartusii軟件中提供了兩種工具(simulator和waveform editor)便于進(jìn)行仿真。此外在使用quartusii時(shí)也可以采取第三方工具(如modelsim)來導(dǎo)入源程序和testbench進(jìn)行仿真。經(jīng)過仿真能迅速發(fā)現(xiàn)設(shè)計(jì)上存在的錯(cuò)誤,設(shè)計(jì)進(jìn)度得于加快,設(shè)計(jì)的可靠性得到大幅提高。綜合優(yōu)化:是指將設(shè)計(jì)輸入(h

28、dl語言、原理圖)翻譯成由基本邏輯單元(與、或、非門,ram,觸發(fā)器等)組成的邏輯連接(網(wǎng)表),依照其目標(biāo)與要求(約束條件),將生成的邏輯連接優(yōu)化,同時(shí)輸出edf和edn等格式標(biāo)準(zhǔn)的網(wǎng)表文件,能為fpga/cpld廠家的實(shí)現(xiàn)布局布線器。此外quartusii中也能夠使用analysis &synthesis 命令進(jìn)行綜合,也可采用第三方的綜合工具。綜合后的仿真:其目的在于檢查綜合器的綜合結(jié)果是否與設(shè)計(jì)輸入一致,作綜合后的仿真時(shí),要在綜合仿真模型中反標(biāo)注綜合生成的標(biāo)準(zhǔn)延時(shí)格式sdf(standard dela format)文件,可以估計(jì)出門延時(shí)所帶來的影響。即便綜合后仿真雖然比功能仿真

29、更為精確,卻也只能估計(jì)門延時(shí),達(dá)不到估計(jì)線延時(shí)的效果,仿真結(jié)果相對(duì)于布線后的實(shí)際情況存在著相當(dāng)?shù)牟罹唷,F(xiàn)階段主流的綜合工具越來越趨近于成熟,相比而言,一般簡(jiǎn)單的設(shè)計(jì),假如設(shè)計(jì)者認(rèn)定自己表述明朗,不存在綜合歧義,如此便可省略此步驟。實(shí)現(xiàn)布局及布線:在具體的fpga/cpld 器件上適配綜合生成的邏輯網(wǎng)表,這么一個(gè)個(gè)過程唄稱之為實(shí)現(xiàn)過程。布局布線為此過程中最重要的步驟。布局(place)即指將在fpga 內(nèi)部的固有硬件結(jié)構(gòu)上合理的適配邏輯網(wǎng)表中的硬件源語或者底層單元。布線即指fpga內(nèi)部里的各種連線資源被利用,并根據(jù)布局的拓?fù)浣Y(jié)構(gòu)能符合要求正確連接每個(gè)元件的過程。布局布線后仿真及驗(yàn)證:又被稱為時(shí)序

30、仿真或者后仿真。常被用于發(fā)現(xiàn)不符合時(shí)序的約束條件或者器件的固有時(shí)序規(guī)則(建立、保持時(shí)間等)的時(shí)序違規(guī)狀況。一般來說,布局布線后仿真步驟必須進(jìn)行,靜態(tài)時(shí)序分析被quartusii自帶的時(shí)序分析工具分析完成,此外它也可被第三方工具進(jìn)行時(shí)序分析與驗(yàn)證6。板級(jí)仿真及驗(yàn)證:主要選取第三方的板級(jí)驗(yàn)證工具進(jìn)行仿真和驗(yàn)證,這些工具通過對(duì)設(shè)計(jì)的ibis,hspice等模型的仿真,能有效的分析信號(hào)在高速設(shè)計(jì)中是否完整性,電磁是否受干擾,等其他電路特性。加載配置及在線調(diào)試:在fpga/cpld芯片中進(jìn)行生產(chǎn)配置文件的測(cè)試。在quartusii 中主要是通過assemble(生成編程文件)、programmer(建立

31、包含設(shè)計(jì)所有器件名稱和選項(xiàng)的鏈?zhǔn)轿募?、轉(zhuǎn)換編程文件等功能來支持這一步驟的。3.2.3 vhdl簡(jiǎn)介vhdl語言是一種被用于電路設(shè)計(jì)中的高級(jí)語言。出現(xiàn)于80年代的后期。它是由美國(guó)國(guó)防部開發(fā)出來的,起初它只供美軍用來提高設(shè)計(jì)的可靠性和減少開發(fā)周期的一種小范圍使用的設(shè)計(jì)語言。vhdl中文簡(jiǎn)稱超高速集成電路硬件描述語言,是一種集設(shè)計(jì)、仿真、綜合于一體的標(biāo)準(zhǔn)硬件描述語言,是對(duì)可編程邏輯器件進(jìn)行開發(fā)與設(shè)計(jì)的重要工具,主要應(yīng)用于數(shù)字電路的設(shè)計(jì)。vhdl語言作為ieee的一種工業(yè)標(biāo)準(zhǔn),因此掌握vhdl語言是實(shí)現(xiàn)信息系統(tǒng)硬件開發(fā)所必備的知識(shí)和技能?,F(xiàn)階段,在中國(guó)它主要是被用在fpga/cpld/epld的設(shè)計(jì)

32、中。但是在一些技術(shù)較為先進(jìn)的單位,它也被用來設(shè)計(jì)asic。 vhdl主要是被用來描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了擁有的語句絕大多數(shù)具備硬件特征外,它得語言形式、描述風(fēng)格以及語法于普通的計(jì)算機(jī)高級(jí)語言基本無異。vhdl的程序結(jié)構(gòu)中最大的特點(diǎn)就是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可是單個(gè)元件,單一電路模塊或一整個(gè)系統(tǒng))分成外部(即可視部分及端口)和內(nèi)部(即也視為不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。若設(shè)計(jì)實(shí)體被定義了外部界面后,其內(nèi)部開發(fā)也以完成,那么這個(gè)實(shí)體就可被之后的設(shè)計(jì)直接調(diào)用。vhdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)便來源于這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念。相比與其他硬件描述語言,vhd

33、l具有功能性強(qiáng)大、設(shè)計(jì)簡(jiǎn)單;支持面廣、修改方便;超強(qiáng)的系統(tǒng)硬件描述能力;設(shè)計(jì)可以獨(dú)立于器件并與工藝無關(guān);移植能力強(qiáng);容易共享與復(fù)用等諸多特點(diǎn),于此vhdl于其他描述性硬件語言更具備如下優(yōu)勢(shì): 相比于其他描述性硬件語言,vhdl擁有更為強(qiáng)大的行為描述能力,因此也使得它成為了系統(tǒng)設(shè)計(jì)領(lǐng)域最適合的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。 vhdl擁有多元化的仿真語句及庫(kù)函數(shù),因此任何規(guī)模的大系統(tǒng)得設(shè)計(jì)在其早期就能檢驗(yàn)設(shè)計(jì)系統(tǒng)的功能是否可行,并無限制的對(duì)設(shè)計(jì)進(jìn)行仿真模擬。 vhdl具有將大規(guī)模設(shè)計(jì)進(jìn)行分解和再次利用已有的設(shè)計(jì)功能得益于其語句

34、的行為描述能力和程序結(jié)構(gòu)。符合市場(chǎng)的需求,使得規(guī)模大的系統(tǒng)高效,高速的完成由有多人或者多個(gè)研發(fā)組同時(shí)并行工作才得以實(shí)現(xiàn)。 任何確定性的設(shè)計(jì)若使用vhdl,其邏輯綜合和優(yōu)化等過程都可用eda工具進(jìn)行,優(yōu)點(diǎn)于eda工具能自動(dòng)把vhdl描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。 vhdl可以獨(dú)立性描述一個(gè)設(shè)計(jì),即便設(shè)計(jì)者不懂硬件的結(jié)構(gòu),也不知道最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,也可以進(jìn)行獨(dú)立的設(shè)計(jì)。3.2.4 quartus ii簡(jiǎn)介max+plus ii作為altera的上一代pld設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前altera已經(jīng)停止了對(duì)max+plus ii 的更新支持。quartus ii 是a

35、ltera公司繼max+plus ii之后開發(fā)的一種針對(duì)其公司生產(chǎn)的系列cpld/pgfa器件的綜合性開發(fā)軟件,它的版本不斷升級(jí),從4.0版到10.0版,這里介紹的是quartusii8.0版,該軟件有如下幾個(gè)顯著的特點(diǎn):此軟件擁有友好的界面,使用便捷,功能強(qiáng)大,當(dāng)中可編程邏輯設(shè)計(jì)環(huán)境采用完成集成化,是先進(jìn)的eda工具軟件。該軟件具備諸多特點(diǎn)(例如:開放性,與結(jié)構(gòu)無聯(lián)系,多平臺(tái)設(shè)計(jì),完全集成化,設(shè)計(jì)庫(kù)豐富、工具模塊化等),支持原理圖、vhdl、veriloghdl以及ahdl等多種設(shè)計(jì)輸入形式,內(nèi)部鑲有自帶的綜合器和仿真器,能夠完成從設(shè)計(jì)輸入到硬件配置的完整pld設(shè)計(jì)流程。quartus ii

36、能夠在多系統(tǒng)上使用,為用戶的設(shè)計(jì)方式提供了完善的圖形界面。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,學(xué)用簡(jiǎn)單等特點(diǎn)。quartus ii支持altera公司的max3000a系列、max7000系列、max9000系列、acex1k系列、apex20k系列、apexii系列、flex6000系列、flex10k系列,支持max7000/max3000等乘積項(xiàng)器件。支持maxiicpld系列、cyclone系列、cycloneii、stratixii系列、stratix gx系列等。支持ip核,包含了lpm/megafunction宏功能模塊庫(kù),用戶可利用充分成熟的模塊,簡(jiǎn)化了復(fù)雜性的設(shè)計(jì)步驟、設(shè)計(jì)速

37、度明顯加快。支持altera的片上可編程系統(tǒng)(sopc)開發(fā),將系統(tǒng)級(jí)設(shè)計(jì),開發(fā)嵌入式的軟件,可編程邏輯的設(shè)計(jì)基于一體,是一款綜合性的應(yīng)用開發(fā)平臺(tái)。其良好的支持第三方eda工具,讓用戶能夠使用自己了解的第三放eda工具,并應(yīng)用于設(shè)計(jì)流程的各個(gè)階段。altera公司的quartus ii可編程邏輯軟件屬于該公司第四代pld開發(fā)平臺(tái),其設(shè)計(jì)要求可在一個(gè)工作組環(huán)境下,其中也包含支持基于internet的協(xié)作設(shè)計(jì)。quartus平臺(tái)與縱多的eda供應(yīng)商所開發(fā)的工具能相兼容。logiclock軟件的模塊設(shè)計(jì)功能得到相當(dāng)?shù)母倪M(jìn),增加了fastfit編譯選項(xiàng),網(wǎng)絡(luò)編輯性能得于推薦,此外調(diào)試能力明顯提升很多。

38、四 設(shè)計(jì)方案4.1 設(shè)計(jì)的主要內(nèi)容此設(shè)計(jì)要求實(shí)現(xiàn)某一分辨率下(如640*48060hz)的vga顯示驅(qū)動(dòng),能簡(jiǎn)單顯示彩條和圖像等。能夠熟悉vga接口協(xié)議、工作時(shí)序及vga工作原理,并計(jì)算出合適的時(shí)序,對(duì)原始時(shí)鐘進(jìn)行分頻處理以獲取符合時(shí)序要求的各率,此外須要顯示的圖像等可存儲(chǔ)于外部存儲(chǔ)器,運(yùn)行時(shí),從外部存儲(chǔ)器讀取顯示數(shù)據(jù)。將圖像控制模塊分為這樣幾部分;二分頻電路、地址發(fā)生器、vga時(shí)序控制模塊、圖像數(shù)據(jù)存儲(chǔ)器讀出模塊.如圖3.1-1所示:圖3.1-1 vga顯示控制系統(tǒng)框圖4.2 設(shè)計(jì)原理顯示控制器是一個(gè)較大的數(shù)字系統(tǒng),采用模塊化設(shè)計(jì)原則、借鑒自頂向下的程序設(shè)計(jì)思想,進(jìn)行功能分離并按層次設(shè)計(jì)。利

39、用vhdl硬件描述語言對(duì)每個(gè)功能模塊進(jìn)行描述,并逐一對(duì)每個(gè)功能模塊進(jìn)行編譯仿真,使頂層vga顯示控制器的模塊實(shí)體仿真綜合得以順利通過。其中二分頻把50mhz實(shí)在頻率分成25mhz并提供給其它模塊作為時(shí)鐘;vga時(shí)序控制模塊用于產(chǎn)生640x480顯示范圍,并控制顯示范圍和消隱范圍以及產(chǎn)生水平同步時(shí)序信號(hào)hs和垂直同步時(shí)序信號(hào)vs的值;存儲(chǔ)器讀出模塊提供給sram地址并按地址讀出八位數(shù)據(jù)(灰度值y),然后得到r、g、b的值(若y>中間值,則r=g=b=1;否則r=g=b=0),并把r、g、b 的值通過vga接口傳送給vrt顯示器9。地址發(fā)生器接收所要顯示的數(shù)據(jù)讀取控制信號(hào),產(chǎn)生與圖像數(shù)據(jù)ro

40、m模塊對(duì)應(yīng)得地址,根據(jù)vga顯示的像素分布,確定讀取對(duì)應(yīng)數(shù)據(jù)的地址,由于所顯示的圖形每行需256個(gè)像素,而rom中每個(gè)地址存儲(chǔ)的數(shù)據(jù)時(shí)64位,故每4個(gè)地址取出的數(shù)據(jù)用于一行的顯示。vga顯示控制模塊:主要分為時(shí)序信號(hào)和數(shù)據(jù)顏色的控制,imgrom模塊即圖像數(shù)據(jù)rom模塊,在這一模塊中需要解決的是圖像數(shù)據(jù)bmp位圖文件的來源及轉(zhuǎn)換成hex文件,利用image2lcd對(duì)本次設(shè)計(jì)圖片處理得到bmp文件,最終在quartus ii得到hex文件,在已設(shè)置lpm_rom進(jìn)行加載圖像數(shù)據(jù)。注意其數(shù)據(jù)線寬為3,恰好可以放置rgb三信號(hào)數(shù)據(jù),因此此設(shè)計(jì)圖像僅能顯示8種顏色。此外注意各模塊對(duì)圖像顯示的區(qū)域控制。

41、4.2.1 vga時(shí)序控制器模塊圖片想要在顯示器上顯示出來,它主要需要5個(gè)信號(hào),行同步信號(hào)(hs)、場(chǎng)同步信號(hào)(vs)和rgb三基色信號(hào)。vga時(shí)序控制模塊是須嚴(yán)格按照vga時(shí)序標(biāo)準(zhǔn)產(chǎn)生相應(yīng)的脈沖信號(hào)。對(duì)這5個(gè)信號(hào)的時(shí)序驅(qū)動(dòng),vga顯示器要嚴(yán)格遵守“vga工業(yè)標(biāo)準(zhǔn)”,即640*480*60hz模式,否則會(huì)損壞vga顯示器。vga工業(yè)標(biāo)準(zhǔn)要求的頻率是:時(shí)鐘頻率為25.175mhz,行頻為31469hz,場(chǎng)頻為59.94hz。vga的時(shí)序不是直接由模擬信號(hào)產(chǎn)生的,而是由數(shù)字信號(hào)控制的,為了將數(shù)字信號(hào)變成模擬信號(hào),中間要經(jīng)過d/a轉(zhuǎn)換器(ths8134)處理。vga接口的顯示是通過行、場(chǎng)掃描的方式實(shí)現(xiàn)對(duì)顯示器進(jìn)行掃描控制實(shí)現(xiàn)的。圖2為vga行掃描、場(chǎng)掃描的時(shí)序圖。圖2 vga行掃描、場(chǎng)掃描時(shí)序圖4.2.2彩條圖形生成模塊作為測(cè)試模式,該模式可以測(cè)試所連接的顯示器以及整個(gè)vga顯示系統(tǒng)是否正常工作。在彩條生成模塊中產(chǎn)生橫彩條和豎彩條,橫彩條通過場(chǎng)計(jì)數(shù)器vcnt計(jì)數(shù)進(jìn)行控制,以顯示相應(yīng)的顏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論