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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、其排列及接口定義如圖1.2-1所示:圖1.2-1 vga接口圖在基于fpga的vga控制中,只需要考慮行場同步信號(vs)、同步信號(hs)、藍(lán)基色(r)、紅基色(b)、綠基色(g)這5個信號。一旦能夠從fpga發(fā)出這5個信號到vga接口,就表示可以實現(xiàn)對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é)束時,行同步則采用行同步信號進(jìn)行,掃描完所有行;場同步則采用場同步信號進(jìn)行,并使掃描回到屏幕的左上方,同時場消隱進(jìn)行,準(zhǔn)備下一場的掃描。它的行、場掃描時序示意圖如圖1.3-1所示?,F(xiàn)拿正極性分析,說明crt的全工作過程:r,g,b呈現(xiàn)正極性的信號,即視為高電平是有效的。當(dāng)vs=o、hs=o時,crt的內(nèi)容被顯示為亮的過程,即是正向掃描的過程大致為26s,當(dāng)一行被掃描完成后,行同步hs=i,約需6s;其間,crt的掃描會產(chǎn)生消隱,電子束即回到crt的左邊的下一行得起始位置

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

39、用vhdl硬件描述語言對每個功能模塊進(jìn)行描述,并逐一對每個功能模塊進(jìn)行編譯仿真,使頂層vga顯示控制器的模塊實體仿真綜合得以順利通過。其中二分頻把50mhz實在頻率分成25mhz并提供給其它模塊作為時鐘;vga時序控制模塊用于產(chǎn)生640x480顯示范圍,并控制顯示范圍和消隱范圍以及產(chǎn)生水平同步時序信號hs和垂直同步時序信號vs的值;存儲器讀出模塊提供給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ù)讀取控制信號,產(chǎn)生與圖像數(shù)據(jù)ro

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

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

溫馨提示

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

評論

0/150

提交評論