畢業(yè)設(shè)計(jì)(論文)基于NIOS II的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于NIOS II的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于NIOS II的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于NIOS II的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于NIOS II的俄羅斯方塊游戲設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、論文編碼(原論文分類號(hào))論文編碼(原論文分類號(hào)):tp39首都師范大學(xué)本科學(xué)生畢業(yè)論文首都師范大學(xué)本科學(xué)生畢業(yè)論文基于基于 nios ii 的俄羅斯方塊的俄羅斯方塊設(shè)計(jì)與實(shí)現(xiàn)設(shè)計(jì)與實(shí)現(xiàn)the design and implementation of russian boxbased on nios ii 論文作者論文作者 院院 系系 信息工程學(xué)院信息工程學(xué)院 專專 業(yè)業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)學(xué) 號(hào)號(hào) 指導(dǎo)老師指導(dǎo)老師 完成日期完成日期 2010 年年 5 月月 10 日日 i提要提要俄羅新方塊游戲是一種古老而又有趣的游戲,游戲軟件不計(jì)其數(shù),本設(shè)計(jì)的實(shí)現(xiàn)是基于 nios ii 的

2、俄羅斯方塊設(shè)計(jì)與實(shí)現(xiàn),采用 sopc 技術(shù)方案和基于 nios ii 處理器開發(fā)游戲,嘗試著把 nios ii 軟核處理器系統(tǒng)應(yīng)用到俄羅斯方塊游戲中,實(shí)現(xiàn)對(duì)游戲的控制功能。sopc 即可編程片上系統(tǒng),是一種特殊的嵌入式系統(tǒng),它結(jié)合了 soc 和 pld、fpga各自的優(yōu)點(diǎn),具有多方面的特點(diǎn),譬如,至少包含一個(gè)嵌入式處理器內(nèi)核、豐富的 ip core 資源可供選擇、有足夠的片上可編程邏輯資源、低功耗、微封裝等優(yōu)點(diǎn),提高了應(yīng)用上的靈活性。同時(shí),在開發(fā)周期個(gè)價(jià)格上具有極大的優(yōu)勢(shì)。在構(gòu)造基于 nios ii 嵌入式處理器的俄羅斯方塊游戲系統(tǒng)中,通過軟核中的 vga 顯示與 de2-70 開發(fā)板的硬件連

3、接,成功的在顯示器上進(jìn)行游戲運(yùn)行。nios ide 中并采用 c語言設(shè)計(jì)了運(yùn)行于該系統(tǒng)上的俄羅斯方塊游戲。通過 de2-70 開發(fā)板上的按鈕輸入,實(shí)現(xiàn)了俄羅斯方塊的移動(dòng)、旋轉(zhuǎn)、消除滿行、計(jì)分和加速等功能。經(jīng)過實(shí)驗(yàn)和測試結(jié)果的驗(yàn)證,證明本系統(tǒng)設(shè)計(jì)的正確性和基于 nios ii 處理器開發(fā)游戲的可行性,為 nios ii 處理器開發(fā)游戲奠定了技術(shù)基礎(chǔ)。關(guān)鍵詞:關(guān)鍵詞:sopc nios ii vga 俄羅斯方塊游戲 de2-70iiabstractabstractrussia is an ancient puzzle game new and fun games, games software c

4、ountless realization of this design is based on the russian box nios ii design and implementation of programs using sopc technology and develop games based on the nios processor, try with the nios soft core processor system applied to the tetris game, to achieve control of the game. sopc can be prog

5、rammed on-chip system, is a special embedded system, which combines the soc and the pld, fpga respective advantages, they had many characteristics, for example, contains at least one embedded processor core, rich ip core resources to choose from, there are enough resources for programmable logic chi

6、p, low power, the advantages of micro-encapsulation to improve the application flexibility. meanwhile, prices in the development cycle a great advantage. in the structure embedded processor-based nios tetris game system, through the soft core of the vga display and de2-70 development boards hardware

7、 connection, the success of the game running on the display. nios ide and use in the c language designed to run on the system on the tetris game. de2-70 development board through the button input, to achieve the movement of the russian box, rotate, eliminate full-line, scoring and accelerated functi

8、ons.through experiments and test results have proved the correctness of the system design and develop games based on the nios processor feasibility of developing games for the nios processor technical basis.keywords: sopc nios ii vga tetris games de2-70 iii目錄目錄第一章第一章 引言引言 .1 1第二章第二章 緒論緒論 .2 22.1 研究的

9、目的和意義.22.2 研究的基礎(chǔ)、背景和現(xiàn)狀.32.3 應(yīng)用的相關(guān)技術(shù).52.3.1 sopc 技術(shù) .52.3.2 開發(fā)環(huán)境.62.3.3 硬件描述語言verilog hdl.7第三章第三章 vgavga 顯示的實(shí)現(xiàn)顯示的實(shí)現(xiàn).8 83.1 vga 顯示原理.83.1.1 vga 色彩顯示 .103.1.2 vga 時(shí)序分析 .113.1.3 vga 時(shí)序?qū)崿F(xiàn) .123.2 用 verilog hdl 描述 vga.12第四章第四章 俄羅斯方塊硬件設(shè)計(jì)俄羅斯方塊硬件設(shè)計(jì) .14144.1 系統(tǒng)需求和設(shè)計(jì)思路.144.2 硬件系統(tǒng)結(jié)構(gòu).144.3 基于 nios ii 的硬件開發(fā)設(shè)計(jì).154.

10、3.1 quartus ii 軟件設(shè)計(jì) .154.3.2 sopc builder 組件添加 .19第五章第五章 niosnios iiii 軟件設(shè)計(jì)軟件設(shè)計(jì).30305.1 功能描述 .315.2 功能模塊設(shè)計(jì) .335.2.1 游戲執(zhí)行的主要流程.335.2.2 游戲方塊功能.355.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) .365.4 函數(shù)功能描述 .385.5程序?qū)崿F(xiàn) .39第六章第六章 俄羅斯方塊結(jié)果演示及分析俄羅斯方塊結(jié)果演示及分析 .4242收獲、體驗(yàn)和致謝收獲、體驗(yàn)和致謝 .4444參考文獻(xiàn)參考文獻(xiàn) .4545第第 1 1 頁頁第一章第一章 引言引言由莫斯科數(shù)學(xué)家亞歷克西帕杰諾夫(alexey pa

11、jitnov)所設(shè)計(jì)的“俄羅斯方塊”被公認(rèn)為有史以來最暢銷的游戲,至今魅力不減。俄羅斯方塊游戲可以說是隨計(jì)算機(jī)的發(fā)展而發(fā)展,并不斷推陳出新,演變出各種類似游戲,深受廣大玩家喜愛。這個(gè)游戲有的簡單,有的復(fù)雜,但其根本原理是一樣的:都是對(duì)運(yùn)動(dòng)的方塊進(jìn)行組合,來訓(xùn)練玩家的反應(yīng)能力。談到游戲軟件,大多數(shù)人都認(rèn)為其神妙莫測,高不可及,而一般游戲軟件也確實(shí)具有很高的技術(shù)難度,隨著開發(fā)工具及軟件開發(fā)方法學(xué)的不斷發(fā)展,動(dòng)手開發(fā)游戲也不是十分困難的。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。采用 sopc

12、 技術(shù)方案和基于 nios處理器開發(fā)游戲,嘗試著把 nios軟核處理器系統(tǒng)應(yīng)用到俄羅斯方塊游戲中,實(shí)現(xiàn)對(duì)游戲的控制功能。本設(shè)計(jì)的重點(diǎn)之一是如何實(shí)現(xiàn) vga 顯示,altera 公司為廣大設(shè)計(jì)者提供了一系列的ip 內(nèi)核設(shè)計(jì),其中包括 vga 的設(shè)計(jì)和 verilog hdl 語言描述。本系統(tǒng)參考了 vga 的一些成功案例,完整的實(shí)現(xiàn)了 nios對(duì) vga 顯示器的驅(qū)動(dòng)控制;設(shè)計(jì)了由 nios處理器、數(shù)據(jù)傳輸接口等 ip 核構(gòu)成的 sopc 系統(tǒng)。采用 altera de2-70 最新多媒體開發(fā)平臺(tái),該平臺(tái)配備了數(shù)量高達(dá) 70,000 個(gè)邏輯單元的 altera cyclone ii 2c70,并

13、完全承襲了 altera de2 多媒體平臺(tái)豐富的多媒體、儲(chǔ)存及網(wǎng)絡(luò)等應(yīng)用接口的優(yōu)點(diǎn)。為系統(tǒng)設(shè)計(jì)提供了很多可支持的內(nèi)存空間和硬件設(shè)計(jì)。軟件設(shè)計(jì)在 nios ii ide 中完成,采用 c 語言程序設(shè)計(jì)實(shí)現(xiàn)俄羅斯方塊游戲的基本功能,并且將軟件與硬件通過接口很好的結(jié)合。最后對(duì)游戲進(jìn)行了測試,測試結(jié)果驗(yàn)證了本系統(tǒng)方案設(shè)計(jì)的正確性和基于 nios處理器開發(fā)游戲的可行性。第第 2 2 頁頁第二章第二章 緒論緒論2.1 研究的目的和意義研究的目的和意義基于 nios ii 的嵌入式系統(tǒng)的可應(yīng)用領(lǐng)域很廣,包括網(wǎng)絡(luò)、無線通信、醫(yī)療器械、交通、消費(fèi)電子、工業(yè)控制、軍事和航空航天等。在巨大的市場需求面前,兼之 n

14、ios ii 本身的眾多優(yōu)勢(shì),使 nios ii 的應(yīng)用具備了巨大的發(fā)展空間。集成電路是中間產(chǎn)品,必須將它裝入到整機(jī)上才能發(fā)揮其作用,具體地說是通過印刷電路版(pcb)來集成到整機(jī)上去的。由于 pcb 板中各種 ic 芯片之間的連線延遲較大,再加上 pcb 板體積大、重量大、可靠性差等原因,使得整機(jī)系統(tǒng)的性能及可靠性受到嚴(yán)重影響。隨著高性能系統(tǒng)對(duì)系統(tǒng)復(fù)雜度、處理速度、功耗、功能多樣化的要求,在現(xiàn)代信息處理與通信系統(tǒng)如網(wǎng)絡(luò)、多媒體、移動(dòng)通信和其它電子系統(tǒng)中迫切需要開發(fā)高性能的片上系統(tǒng)。而 nios ii,正是一個(gè)優(yōu)秀的選擇。nios ii 處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境(

15、ide) 、jtag 調(diào)試器、實(shí)時(shí)操作系統(tǒng)(rtos)和 tcp/ip 協(xié)議棧。設(shè)計(jì)者能夠用 altera quartus ii 開發(fā)軟件中的 sopc builder 系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加 nios ii 處理器核的數(shù)量。長期以來,altera 一直推行嵌入式處理器戰(zhàn)略的原因是,隨著應(yīng)用的 asic 開發(fā)日益受到成本的困擾,oem 日漸轉(zhuǎn)向 fpga 來構(gòu)建自己的系統(tǒng)。這些系統(tǒng)中絕大多數(shù)需要一個(gè)處理器,而altera 正是為設(shè)計(jì)者提供了為 fpga 優(yōu)化的靈活的嵌入式處理器方案,可以滿足 16 位和32 位嵌入式處理器市場的需求。對(duì)嵌入式開發(fā)而言

16、,開發(fā)基于 nios ii 系統(tǒng)的好處很多。altera de2-70 多媒體開發(fā)平臺(tái)配備了數(shù)量高達(dá) 70,000 個(gè)邏輯單元的 altera cyclone ii 2c70,并完全承襲了 altera de2 多媒體平臺(tái)豐富的多媒體、儲(chǔ)存及網(wǎng)絡(luò)等應(yīng)用接口的優(yōu)點(diǎn)。此開發(fā)平臺(tái)提供多樣的產(chǎn)品功能,在廣泛的電路設(shè)計(jì)運(yùn)用上,從簡易的電路設(shè)計(jì),到多樣化的多媒體項(xiàng)目,使用者都能輕易完成?;?nios ii 的系統(tǒng)實(shí)現(xiàn)了設(shè)計(jì)的可復(fù)用性,即使是同樣一塊開發(fā)板,根據(jù)載入的代碼不同,可以實(shí)現(xiàn)不同的應(yīng)用。這也是縮短開發(fā)周期、加快產(chǎn)品上市時(shí)間的一條捷徑。本系統(tǒng)方案設(shè)計(jì)為基于 nios ii 處理器的游戲開發(fā)奠定了技

17、術(shù)基礎(chǔ)。第第 3 3 頁頁2.2 研究的基礎(chǔ)、背景和現(xiàn)狀研究的基礎(chǔ)、背景和現(xiàn)狀本題研究背景本題研究背景: 在集成電路發(fā)展初期,電路設(shè)計(jì)都從器件的物理版圖設(shè)計(jì)入手,后來出現(xiàn)了集成電路單元庫,使得集成電路設(shè)計(jì)從器件級(jí)進(jìn)入邏輯級(jí),這樣的設(shè)計(jì)思路使大批電路和邏輯設(shè)計(jì)師可以直接參與集成電路設(shè)計(jì),極大地推動(dòng)了 ic 產(chǎn)業(yè)的發(fā)展。但集成電路不是最終產(chǎn)品,它只有裝入整機(jī)系統(tǒng)才能發(fā)揮它的作用。ic 芯片是通過印刷電路板(pcb)等技術(shù)實(shí)現(xiàn)整機(jī)系統(tǒng)的。盡管 ic 的速度可以很高、功耗可以很小,但由于 pcb板中 ic 芯片之間的連線延時(shí)、pcb 板可靠性以及重量等因素的限制,整機(jī)系統(tǒng)的性能受到了很大的限制。隨著系

18、統(tǒng)向高速度、低功耗、低電壓和多媒體、網(wǎng)絡(luò)化、移動(dòng)化的發(fā)展,系統(tǒng)對(duì)電路的要求越來越高,傳統(tǒng)集成電路設(shè)計(jì)技術(shù)已無法滿足性能日益提高的整機(jī)系統(tǒng)的要求。同時(shí),由于ic設(shè)計(jì)與工藝技術(shù)水平提高,集成電路規(guī)模越來越大,復(fù)雜程度越來越高,己經(jīng)可以將整個(gè)系統(tǒng)集成為一個(gè)芯片。正是在需求牽引和技術(shù)推動(dòng)的雙重作用下,出現(xiàn)了將整個(gè)系統(tǒng)集成在一個(gè)集成電路芯片上的系統(tǒng)芯片(system on chip,簡稱 soc)概念。系統(tǒng)芯片與集成電路的設(shè)計(jì)思想是不同的,它是微電子設(shè)計(jì)領(lǐng)域的一場革命。soc 是從整個(gè)系統(tǒng)的角度出發(fā),把處理機(jī)制、模型算法、軟件(特別是芯片上的操作系統(tǒng)嵌入式的操作系統(tǒng))、芯片結(jié)構(gòu)、各層次電路直至器件的設(shè)計(jì)

19、緊密結(jié)合起來,在單個(gè)芯片上完成整個(gè)系統(tǒng)的功能。它的設(shè)計(jì)必須從系統(tǒng)行為級(jí)開始自頂向下。本題研究的基礎(chǔ):本題研究的基礎(chǔ):游戲電子產(chǎn)品屬于嵌入式應(yīng)用的一個(gè)重要門類,嵌入式系統(tǒng)的核心是 cpu,以往采用的嵌入式 cpu 都是硬核器件,比如摩托羅拉公司的 coldfire, powerpc 等。最近幾年出現(xiàn)了在 fpga 片內(nèi)實(shí)現(xiàn)的軟核 cpu。硬核 cpu 以硅片的形式提交給用戶,而軟核 cpu 則以設(shè)計(jì)文件的形式交付給用戶,用戶再根據(jù)自己的需求將其固化在 fpga 芯片內(nèi)這種新出現(xiàn)的技術(shù)有著非常廣闊的應(yīng)用前景。本題研究的現(xiàn)狀本題研究的現(xiàn)狀:隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,可編程邏輯器件、eda 技

20、術(shù)、嵌入式系統(tǒng)、soc、sopc、ip、核等新概念和新技術(shù)層出不窮,新技術(shù)的應(yīng)用迅速滲透到電子、通信、信息、機(jī)械制造、儀器儀表、航空航天、家用電器等領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高。軟核cpu的本質(zhì)是一段實(shí)現(xiàn)特定功能的代碼,需要一款合適的fpga作為載體。nios ii若配置在cyclone ii中,只占用35美分的邏輯資源,若配置在stratix ii中,可以實(shí)現(xiàn)超過20odmips的高性能表現(xiàn)。在cyclone ii中也可以達(dá)到超過loodmips的表現(xiàn),足以與中低密度的asic形成競爭。nios ii不同于16位指令集的nios,它是真正的32位軟核cpu,具有3

21、2位的指令集、32位的數(shù)據(jù)路徑和32位的尋址空間。nios ii脫胎于nios,并分化出7三個(gè)版本。一種是nios ii/f,快速型;第二種是nios ii/s,標(biāo)準(zhǔn)型;第三種是nios ii/e,經(jīng)濟(jì)型。這三種產(chǎn)品都針對(duì)特定的價(jià)格和性能范圍進(jìn)行了優(yōu)化,并都使用同樣的指令集架構(gòu)(isa),第第 4 4 頁頁具有100%二進(jìn)制代碼兼容性??焖侔姹镜膎ios ii具有最強(qiáng)的性能,其運(yùn)算能力在175mhz時(shí)鐘頻率下可達(dá)大約200 dhrystone mips(dmips)。它需要占用中等數(shù)量的fpga資源,大約1180個(gè)邏輯單元。標(biāo)準(zhǔn)版本的性能略低于快速版本,其175mhz時(shí)鐘頻率下的運(yùn)算能力為大約

22、90dmips,但只需要占用800個(gè)邏輯單元。經(jīng)濟(jì)版本是三種版本中性能最弱的,其運(yùn)算能力在190mhz時(shí)鐘頻率下僅能達(dá)到28dmips,但它所占用的fpga資源最少,只需大約400個(gè)邏輯單元??梢愿鶕?jù)自己設(shè)計(jì)的特定需求選擇合適的軟核。如果邏輯資源充裕,那么快速版本顯然是首選。nios ii處理器能通過quartus ii開發(fā)軟件中的sopc builder系統(tǒng)開發(fā)工具添加到設(shè)計(jì)者的系統(tǒng)中。關(guān)于nios ii的開發(fā)現(xiàn)狀。在baidu或google上用關(guān)鍵詞nios ii搜索,只有一些概要性的介紹,并無具體的開發(fā)實(shí)例報(bào)道。也曾經(jīng)試圖通過中國期刊網(wǎng),以及國內(nèi)較有影響力的水木清華等高校bbs的嵌入式開

23、發(fā)版尋找相關(guān)資訊,但是少有收獲。這也是正常的。nios ii是altera近幾年新近推出的一款通用32位軟核risc cpu,目前作為開發(fā)板做教學(xué)、測試、實(shí)驗(yàn)的居多,比較著名的開發(fā)實(shí)例還沒有,所以,可以說nios ii還處于開始階段。作為altera免費(fèi)提供的ip(intellectual property),根據(jù)altera自己提供的資料,nios ii軟核在配合stratix ii系列fpga的情況下,可以實(shí)現(xiàn)超過20odmips的性能表現(xiàn)。有這樣美味的免費(fèi)大餐可以吃,相信今后會(huì)有越來越多的人會(huì)加入nios ii開發(fā)者的行列。簡要介紹一下國內(nèi)外的幾款nios開發(fā)實(shí)例:無線閱讀器 把nios

24、嵌入低成本fpga cyclone中,有小型化和低功耗兩大特點(diǎn),執(zhí)行數(shù)據(jù)處理和無線接收的功能。光多業(yè)務(wù)節(jié)點(diǎn) 這是一款阿爾卡特開發(fā)的用于同步數(shù)字序列傳輸?shù)漠a(chǎn)品。利用nios的定制指令功能和同步多master總線結(jié)構(gòu)(avalon),實(shí)現(xiàn)了吉比特(gigabite)速率碼流的可靠傳輸。isdn協(xié)議處理器 飛利浦公司把nios處理器運(yùn)用于綜合業(yè)務(wù)數(shù)字網(wǎng)的協(xié)議處理器的在線更新。這一應(yīng)用極大的提高了視頻會(huì)議和ip網(wǎng)關(guān)服務(wù)的可靠性。數(shù)碼相機(jī)中的通用控制處理器 柯達(dá)公司在某型號(hào)的數(shù)碼相機(jī)中成功的應(yīng)用了nios處理器,作為dc的控制中樞。國內(nèi) 對(duì)nios的最高應(yīng)用可能是某保密項(xiàng)目,該款應(yīng)用同時(shí)使用了八個(gè)nio

25、s軟核,把a(bǔ)valon總線的多master功能發(fā)揮的淋漓盡致。可以說,nios是相當(dāng)成功的。對(duì)比nios,它的第二代nios ii處理器更是青出于藍(lán)而勝于藍(lán)。nios ii具備更強(qiáng)大的靈活性、更高的性能、更低的成本、占用更少的資源,能夠滿足各種嵌入式應(yīng)用的性能要求。并且,altera提供了更易用的nios ii開發(fā)套件提供給客戶。altera曾將其兩代軟核做了對(duì)比,結(jié)果顯示nios ii只用了50%的邏輯單元就實(shí)現(xiàn)了2倍于nios的性能。第第 5 5 頁頁2.3 應(yīng)用的相關(guān)技術(shù)應(yīng)用的相關(guān)技術(shù)2.3.1 sopc 技術(shù)技術(shù)sopc(system-on-a-programmable-chip)即可

26、編程片上系統(tǒng) ,用可編程邏輯技術(shù)把整個(gè)系統(tǒng)放到一塊硅片上,稱作sopc。可編程片上系統(tǒng) (sopc)是一種特殊的嵌入式系統(tǒng):首先它是片上系統(tǒng)( soc),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程的功能。 因此,著名的可編程邏輯器件生產(chǎn)廠家美國 altera公司提出了基于 pld 的 soc 設(shè)計(jì)方案sopc。近年來 sopc 技術(shù)已成為備受眾多中小企業(yè)、研究所和大學(xué)院校青睞的設(shè)計(jì)技術(shù)。sopc(system on a programmable chip)成為可編程片上系統(tǒng),是 altera 公司提出的一種

27、靈活、高校的 soc 解決方案,是一種新的軟硬件協(xié)同設(shè)計(jì)的系統(tǒng)設(shè)計(jì)技術(shù)。sopc 集成了硬核或軟核 cpu、dsp、鎖相環(huán)(pll) 、存儲(chǔ)器、i/o 接口及可編程邏輯,可以靈活高效地解決 soc 方案,而且設(shè)計(jì)周期短,設(shè)計(jì)成本低。nios ii 是一種軟核(soft-core)處理器,軟核處理器最大的特點(diǎn)就是可由用戶需要進(jìn)行設(shè)置。與專用 cpu 不同的是,nios ii 是一個(gè)用戶可以自行定制的 cpu,用戶可以增加新的外設(shè)、新的指令,分配外設(shè)的地址等。nios ii 的硬件開發(fā)就是由用戶制定適合的 cpu 外設(shè),altera 公司的 sopc builder提供了大量的 ip core 來

28、加快 nios ii 外設(shè)的開發(fā)速度。綜合來看,sopc 是 pld 和 asic技術(shù)融合的結(jié)果,可以認(rèn)為 sopc 代表了半導(dǎo)體產(chǎn)業(yè)未來的發(fā)展方向,對(duì) sopc 進(jìn)行深入的研究不僅有利于半導(dǎo)體產(chǎn)業(yè)的發(fā)展,同時(shí)對(duì)微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展也具有重要的意義。sopc 技術(shù)主要應(yīng)用以下三個(gè)方向 :1)基于 fpga 嵌入 ip 硬核的應(yīng)用。這種 sopc 系統(tǒng)是指在 fpga 中預(yù)先植入處理器。這使得 fpga 靈活的硬件設(shè)計(jì)與處理器的強(qiáng)大軟件功能有機(jī)地結(jié)合在一起,高效地實(shí)現(xiàn) sopc 系統(tǒng)。 2)基于 fpga 嵌入 ip 軟核的應(yīng)用。這種 sopc 系統(tǒng)是指在 fpga 中植入軟核處理器,如

29、: nios ii 核等。用戶可以根據(jù)設(shè)計(jì)的要求,利用相應(yīng)的eda 工具,對(duì)nios ii 及其外圍設(shè)備進(jìn)行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點(diǎn)、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計(jì)的要求。 3)基于 hardcopy 技術(shù)的應(yīng)用。這種 sopc 系統(tǒng)是指將成功實(shí)現(xiàn)于 fpga 器件上的 sopc 系統(tǒng)通過特定的技術(shù)直接向 asic 轉(zhuǎn)化。把大容量 fpga 的靈活性和asic 的市場優(yōu)勢(shì)結(jié)合起來,實(shí)現(xiàn)對(duì)于有較大批量要求并對(duì)成本敏感的電子產(chǎn)品,避開了直接設(shè)計(jì) asic 的困難。第第 6 6 頁頁本設(shè)計(jì)是基于 fpga 嵌入 ip 軟核的應(yīng)用,在硬件設(shè)計(jì)中植入 nios ii 軟核處理器,根據(jù)

30、俄羅斯方塊的設(shè)計(jì)要求,對(duì) 對(duì) nios ii 及其外圍設(shè)備進(jìn)行構(gòu)建 。2.3.2 開發(fā)環(huán)境開發(fā)環(huán)境1.1. quartus ii quartus ii 是 altera 公司的綜合性 pld 開發(fā)軟件,支持原理圖、vhdl、veriloghdl 以及 ahdl(altera hardware description language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整pld 設(shè)計(jì)流程。 quartus ii 是繼承 altera max+plus ii 后的新一代開發(fā)工具,適合大規(guī)模 fpga 的開發(fā)。quartus ii 提供了更優(yōu)化的綜合和適

31、配的功能,改善了對(duì)第三方仿真和時(shí)序分析工具的支持。 quartus ii 還包含 dsp builder 和 sopc builder 等開發(fā)工具,支持系統(tǒng)級(jí)的開發(fā),支持 nios ii 嵌入式核 ip 核和用戶自定義邏輯。 quartus ii支持 altera 的 ip 核,包含了 lpm/megafunction 宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。sopc builder 是 quartus ii 開發(fā)套件之一,支持 nios ii 嵌入式核的開發(fā)與調(diào)試,可設(shè)置 、評(píng)估 sopc 體系結(jié)構(gòu)。 sopc builder 避免了手動(dòng)系統(tǒng)集成任務(wù),

32、使設(shè)計(jì)者能夠?qū)⒕性诙ㄖ朴脩暨壿嬙O(shè)計(jì)上,在更高級(jí)抽象層上進(jìn)行設(shè)計(jì)。sopc builder 能夠定制常用的 sopc builder 組件、ip 核,高效地連接外部處理器和 sopc builder 可用 ip 庫,自動(dòng)生成系統(tǒng) hdl,形成優(yōu)化的系統(tǒng)架構(gòu)。 sopc builder 評(píng)估自動(dòng)系統(tǒng)開發(fā)工具提供了強(qiáng)大的開發(fā)平臺(tái),可構(gòu)成包括處理器、外設(shè)和存儲(chǔ)器接口等常用系統(tǒng)組成的總線系統(tǒng)。 通過 altera quartus ii 開發(fā)軟件中的 sopc builder 系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加nios ii 處理器核的數(shù)量。 本設(shè)計(jì)采用的是 quar

33、tus ii 8.0 版本進(jìn)行的系統(tǒng)開發(fā)。2 nios iinios 嵌入式處理器是 altera 公司推出的采用哈佛結(jié)構(gòu)、具有 32 位指令集的第二代片上可編程的軟核處理器 , 其最大優(yōu)勢(shì)和特點(diǎn)是模塊化的硬件結(jié)構(gòu) , 以及由此帶來的靈活性和可裁減性。相對(duì)于傳統(tǒng)的處理器 , nios 系統(tǒng)可以在設(shè)計(jì)階段根據(jù)實(shí)際的需求來增減外設(shè)的數(shù)量和種類。設(shè)計(jì)者可以使用altera 提供的開發(fā)工具 sopc builder, 在 pld 器件上創(chuàng)建軟硬件開發(fā)的基礎(chǔ)平臺(tái) , 也即用 sopc builder 創(chuàng)建軟核cpu 和參數(shù)化的接口總線 avalon。在此基礎(chǔ)上 , 可以很快地將硬件系統(tǒng) (包括處理器、存

34、儲(chǔ)器、外設(shè)接口和用戶邏輯電路 )與常規(guī)軟件集成在單一可編程芯片中。而且 , sopc builder 還提供了標(biāo)準(zhǔn)的接口方式 ,以便用戶將自己的外圍電路做成 nios 軟核可以添加的外設(shè)模塊。這種設(shè)計(jì)方式 , 更加方便了各類系統(tǒng)的調(diào)試。nios ii 處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境(ide) 、第第 7 7 頁頁jtag 調(diào)試器、實(shí)時(shí)操作系統(tǒng) (rtos)和 tcp/ip 協(xié)議棧。nios ii 集成開發(fā)環(huán)境(integrated development environment, ide)是 nios ii 系列嵌入式處理器的基本軟件開發(fā)工具。所有軟件開發(fā)任務(wù)都可以在

35、nios ii ide 下完成,包括編輯、編譯和調(diào)試程序。nios ii ide 提供了一個(gè)統(tǒng)一的開發(fā)平臺(tái),用于所有 nios ii 處理器系統(tǒng)。3 de2-70 開開發(fā)發(fā)板板采用 de2-70 開發(fā)平臺(tái),芯片使用 cyclone ii ep2c70f896c6。2.3.3 硬件描述語言硬件描述語言verilog hdlverilog hdl 是一種硬件描述語言 (hardware description language),是 1983年由 gda(gateway design automation)公司的 phil moorby 首創(chuàng)的,之后 moorby又設(shè)計(jì)了 verilog-xl 仿

36、真器,verilog-xl 仿真器大獲成功,也使得 verilog hdl 語言得到推廣使用。由于 verilog hdl 語言具有簡潔、高效、易用、功能強(qiáng)大等優(yōu)點(diǎn),因此,逐漸被眾多設(shè)計(jì)者接受了喜愛。 verilog hdl 是目前應(yīng)用最為廣泛的硬件描述語言。verilog hdl 是在 c 語言的基礎(chǔ)上發(fā)展而來的。從語法結(jié)構(gòu)上看, verilog hdl 繼和借鑒了 c 語言的很多語法結(jié)構(gòu),兩者有許多相似之處。當(dāng)然,verilog hdl作為一種硬件描述語言,與 c 語言還是有著本質(zhì)區(qū)別的。verilog hdl 可以用來進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行 數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序

37、分析等。 verilog hdl 適合算法級(jí),寄存器級(jí),邏輯級(jí),門級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述 。verilog hdl 進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無關(guān)性這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。概括地說,verilog hdl 語言具有以下一些特點(diǎn): 既適于可綜合的電路設(shè)計(jì),也可勝任電路與系統(tǒng)的仿真; 能在多個(gè)層次上對(duì)所設(shè)計(jì)的系統(tǒng)加以描述; 靈活多樣的電路描述風(fēng)格,可以進(jìn)行行為描述,也可進(jìn)行結(jié)構(gòu)描述;支持混合建模,在一個(gè)設(shè)計(jì)中,各個(gè)模塊可以在不同的設(shè)計(jì)層次上建模和描述; verilog hd

38、l 的行為描述語句,如 and、or、nand 等可方便進(jìn)行門級(jí)結(jié)構(gòu)描述;內(nèi)置各種開關(guān)級(jí)元件,如 pmos、nmos、cmos 等,可進(jìn)行開關(guān)級(jí)的建模; 用戶定義原語 (udp)創(chuàng)建的靈活性;另外,verilog hdl 語言易學(xué)易用,可以使設(shè)計(jì)者更快更好地掌握并用于電路設(shè)計(jì)。verilog hdl 的功能強(qiáng)可以滿足各個(gè)層次設(shè)計(jì)人員的需要。正是以上優(yōu)良的性能,使得它廣泛流行。在 asic 設(shè)計(jì)領(lǐng)域, verilog hdl 語言一直就是事實(shí)上的標(biāo)準(zhǔn)。第第 8 8 頁頁第三章第三章 vgavga 顯示的實(shí)現(xiàn)顯示的實(shí)現(xiàn)3.1 vga 顯示原理顯示原理vga 是 ibm 在 1987 年隨 ps2

39、機(jī)一起推出的一種視頻傳輸標(biāo)準(zhǔn),具有 分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用。vga 的英文全稱是 video graphics array,即顯示繪圖陣列。 vga 支持在 640x480 的較高分辨率下同時(shí)顯示 16 種色彩或 256 種灰度,同時(shí)在 320x240 分辨率下可以同時(shí)顯示 256 種顏色。vga 接口是一種 d 型接口,上面共有 15 針空,分成三排,每排五個(gè)。vga 接口是顯卡上應(yīng)用最為廣泛的接口類型,多數(shù)的顯卡都帶有此種接口。有些不帶 vga 接口而帶有 dvi(digital visual interface 數(shù)字視頻接口)接口的顯卡,也

40、可以通過一個(gè)簡單的轉(zhuǎn)接頭將 dvi 接口轉(zhuǎn)成 vga 接口,通常沒有 vga 接口的顯卡會(huì)附贈(zèng)這樣的轉(zhuǎn)接頭。圖 3-1 vga 15 針母插座 圖 3-2 vga15 針公插座 圖 3-3 vga15 針序號(hào)的排列第第 9 9 頁頁一般在 vga 接頭上,會(huì) 1,5,6,10,11,15 等標(biāo)明每個(gè)接口編號(hào)。如果沒有,如上圖所示編號(hào)。 vga 接口 15 根針,其對(duì)應(yīng)接口定義如 表所示:pinnamedescription1redred video (75 ohm, 0.7 v p-p)(紅色信號(hào))2greengreen video (75 ohm, 0.7 v p-p)(綠色信號(hào))3blue

41、blue video (75 ohm, 0.7 v p-p)(藍(lán)色信號(hào))4id2monitor id bit 2(顯示器標(biāo)識(shí)位 2)5gndground(地)6rgndred ground(紅色地)7ggndgreen ground(綠色地)8bgndblue ground(藍(lán)色地)9key-key(no pin)(空,無引腳)10sgndsync ground(同步地)11id0monitor id bit 0(顯示器標(biāo)識(shí)位 0)12id1or sdamonitor id bit 1(顯示器標(biāo)識(shí)位 1)13hsynccsync horizontal sync (or composite sy

42、nc)(行同步)14vsyncvertical sync(場同步)15id3or sclmonitor id bit 3(顯示器標(biāo)識(shí)位 3)表 3-1 vga 接口定義圖 3-4 vga 針孔連接圖第第 1010 頁頁15 個(gè)管腳里有 5 個(gè)是最重要的,分別是紅、綠、藍(lán)三個(gè)基本色彩線和水平與垂直兩條控制線,由這五條線,可以再屏幕內(nèi)顯示8 中不同的色彩,如下表:表 3-2 vga 顏色顯示顯示是采用逐行掃描的方式,陰極射線槍發(fā)出的電子束打在涂有熒光粉的熒光屏上,產(chǎn)生 rgb 三色基,最后合成一個(gè)彩色圖像。從熒幕的左上方開始向右掃描,每掃完一行圖像電子束回到下一行的最左端,每行結(jié)束后電子槍回掃的過

43、程中進(jìn)行消隱。然后從新開始行掃描,消隱 ,直到掃到熒幕的右下方,電子束回到熒幕的左上方從新開始新的圖像掃描,并且在回到熒幕左上方的過程中進(jìn)行消隱。在消隱過程中不發(fā)射電子束。每一行掃描結(jié)束時(shí),用hs(行同步)信號(hào)進(jìn)行同步;掃描完所有的行后用 vs(場同步)信號(hào)進(jìn)行同步。vga 工業(yè)標(biāo)準(zhǔn)要求的頻率:時(shí)鐘頻率:25.175mhz(像素輸出的頻率)行頻: 31469hz場頻: 59.94hz(每秒圖像刷新頻率)3.1.1 vga 色彩顯示色彩顯示rgb 色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對(duì)紅 (r)、綠(g)、藍(lán)(b)三個(gè)顏色 通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,rgb 即是代

44、表紅、 綠、藍(lán)三個(gè)通道的顏色,通過三種基本顏色亮度值從 0255 不同產(chǎn)生出其他各種顏色,這種模式叫加色模式。三基色是指紅 ,綠,藍(lán)三色,各自對(duì)應(yīng)的波長分別為 700nm,546.1nm,435.8nm從原色的定義出發(fā), 或是以實(shí)際應(yīng)用的結(jié)果 為驗(yàn)證,都足以說明,把黃、品紅、青稱為三原色,較紅、黃、藍(lán)為三原色更為恰當(dāng)。 如下圖所示:第第 1111 頁頁圖 3-5 vga 三原色3.1.2 vga 時(shí)序分析時(shí)序分析通過對(duì) vga 顯示卡基本工作原理的分析可知,要實(shí)現(xiàn)vga 顯示就要解決數(shù)據(jù)來源、數(shù)據(jù)存儲(chǔ)、時(shí)序?qū)崿F(xiàn)等問題,其中關(guān)鍵還是如何實(shí)現(xiàn)vga 時(shí)序。幾種常用模式的時(shí)序參數(shù)如 表 3 所示。表

45、 3-3 vga 時(shí)序參數(shù)數(shù)據(jù)通用 vga 顯示卡系統(tǒng)主要由控制電路、顯示緩存區(qū)和視頻bios 程序三個(gè)部分組成??刂齐娐啡缦聢D所示。第第 1212 頁頁圖 3-6 通用 vga 顯示卡控制電路圖控制電路主要完成時(shí)序發(fā)生、顯示緩沖區(qū)數(shù)據(jù)操作、主時(shí)鐘選擇和da 轉(zhuǎn)換等功能;顯示緩沖區(qū)提供顯示數(shù)據(jù)緩存空間;視頻bios 作為控制程序固化在顯示卡的 rom 中。行時(shí)序和幀時(shí)序都需要產(chǎn)生同步脈沖 (sync a)、顯示后沿(back porch b)、顯示時(shí)序段(display interval c)和顯示前沿(front porch d)四個(gè)部分。vga 的標(biāo)準(zhǔn)參考顯示時(shí)序如 下圖所示。圖 3-7

46、vga 標(biāo)準(zhǔn)參考時(shí)序圖3.1.3 vga 時(shí)序?qū)崿F(xiàn)時(shí)序?qū)崿F(xiàn)首先,根據(jù)刷新頻率確定主時(shí)鐘頻率,然后由主時(shí)鐘頻率和圖像分辨率計(jì)算出行總周期數(shù),再把 圖 1 中給出的 a、b、c、d 各時(shí)序段的時(shí)間按照主計(jì)數(shù)脈沖源頻率折算成時(shí)鐘周期數(shù)。在 cpld 中利用計(jì)數(shù)器和 rs 觸發(fā)器,以計(jì)算出的各時(shí)序段時(shí)鐘周期數(shù)為基準(zhǔn),產(chǎn)生不同寬度和周期的脈沖信號(hào),再利用它們的邏輯組合構(gòu)成圖 3-7中的 a、b、c、d 各時(shí)序段以及 da 轉(zhuǎn)換器的空白信號(hào) blank 和同步信號(hào)sync。3.2 用用 verilog hdl 描述描述 vgavga 工業(yè)標(biāo)準(zhǔn)時(shí) 64048060hz,主要有 5 個(gè)信號(hào),即三個(gè)顏色信號(hào) r

47、/g/b、行同步信號(hào) hs 和場同步信號(hào) vs。它是從左上角開始一行接一行的掃描,掃描完一屏后又回到左上角掃描。標(biāo)準(zhǔn)要求是場頻 59.94hz,行頻 31469hz,時(shí)鐘頻率 25.175mhz。在設(shè)計(jì)時(shí),可以先設(shè)計(jì)一個(gè)底層模塊,輸入是上層模塊提供的屏幕上當(dāng)前點(diǎn)的rgb值,輸出是向 vga 接口輸出符合 vga 時(shí)序的 rgb、hs、vs 信號(hào),并將當(dāng)前掃描電的值輸出給上層模塊。 再設(shè)計(jì)上層模塊,利用點(diǎn)陣或坐標(biāo)繪圖即可。上層模塊收到第第 1313 頁頁底層模塊的當(dāng)前坐標(biāo),算出 rgb 傳給底層模塊。讓底層模塊負(fù)責(zé)顯示就好了。vga接口定義定義 vga 時(shí)鐘信號(hào)、顏色定義,場、行同步信號(hào)等/vg

48、a/ovga_clock, /vga clockovga_hs, /vga h_syncovga_vs, /vga v_syncovga_blank_n,/vga blankovga_sync_n,/vga syncovga_r, /vga red9:0ovga_g, /vga green9:0ovga_b, /vga blue9:0/vga/outputovga_clock; /vga clockoutputovga_hs; /vga h_syncoutputovga_vs; /vga v_syncoutputovga_blank_n;/vga blankoutputovga_sync_n;

49、/vga syncoutput 9:0ovga_r; /vga red9:0output 9:0ovga_g; /vga green9:0output 9:0ovga_b; /vga blue9:0/ the_vga 將 vga 輸入與輸出端口進(jìn)行匹配 .avs_s1_export_vga_blank_from_the_vga(ovga_blank_n), .avs_s1_export_vga_b_from_the_vga(ovga_b), .avs_s1_export_vga_clk_from_the_vga(ovga_clock), .avs_s1_export_vga_g_from_th

50、e_vga(ovga_g), .avs_s1_export_vga_hs_from_the_vga(ovga_hs), .avs_s1_export_vga_r_from_the_vga(ovga_r), .avs_s1_export_vga_sync_from_the_vga(ovga_sync_n), .avs_s1_export_vga_vs_from_the_vga(ovga_vs),.avs_s1_export_iclk_25_to_the_vga(iclk_25),第第 1414 頁頁第四章第四章 俄羅斯方塊硬件設(shè)計(jì)俄羅斯方塊硬件設(shè)計(jì)4.1 系統(tǒng)需求和設(shè)計(jì)思路系統(tǒng)需求和設(shè)計(jì)思路在

51、nios ii 開發(fā)過程中,硬件抽象層提供多種一般模式類設(shè)備,使得開發(fā)者可以高效的在系統(tǒng)中添加或使用這些設(shè)備, 在 sopc builder 中提供了多種 一般模式類的設(shè)備,例如:cpu、sdram、flash、jtag uart 等。然而對(duì)不屬于一般模式類的新設(shè)備的使用將 不能按照原有的設(shè)計(jì)方法進(jìn)行系統(tǒng)開發(fā) ,根據(jù) nios ii 內(nèi)部總線規(guī)范提供一個(gè)設(shè)備驅(qū)動(dòng),并按照 sopc builder 要求集成到硬件抽象層中。 包含有 vga的驅(qū)動(dòng)的 ip core 就可以滿足本設(shè)計(jì)對(duì) vga 驅(qū)動(dòng)顯示的設(shè)計(jì)要求 , 可以通過sopc builder 中 terasic technologies i

52、nc 直接將 binary_vga_controller_if 組建添加到系統(tǒng)中,便可以實(shí)現(xiàn) vga 顯示。添加一般模式類設(shè)備組件的時(shí)候,要根據(jù)開發(fā)板 de2-70 的數(shù)據(jù)進(jìn)行匹配設(shè)置 ,按照系統(tǒng)需求配置各個(gè)組件。4.2 硬件系統(tǒng)結(jié)構(gòu)硬件系統(tǒng)結(jié)構(gòu)俄羅斯方塊游戲是一款著名的經(jīng)典游戲,實(shí)現(xiàn)它的必要條件之一是用vga顯示,此外還包括de2-70開發(fā)板的按鍵控制。在此擬用 nios ii系統(tǒng)實(shí)現(xiàn)該游戲,選擇標(biāo)準(zhǔn)vga 顯示器作為游戲顯示設(shè)備,利用 de2-70開發(fā)板的四個(gè)按鍵來實(shí)現(xiàn)控制,其中key3(button4控制左移,key2(button3)控制右移, key1(button2)控制上移,ke

53、y0(button1)控制向下移動(dòng)。使用 sopc 技術(shù)解決 vga 顯示精細(xì)圖像的問題,把 nios cpu 和 vga 控制器放在同一片 fpga 中,通過硬件結(jié)構(gòu)圖可以清晰展現(xiàn)硬件結(jié)構(gòu)設(shè)計(jì),如下圖所示:圖 4-1 俄羅斯方塊硬件結(jié)構(gòu)圖第第 1515 頁頁quartus ii 開發(fā)流程如下圖所示:設(shè)設(shè)計(jì)計(jì)輸輸入入綜綜合合布布局局、布布線線編編程程、配配置置仿仿真真時(shí)時(shí)序序分分析析時(shí)時(shí)序序逼逼近近工工程程變變動(dòng)動(dòng)管管理理調(diào)調(diào)試試圖 4-2 quartus ii 開發(fā)流程圖4.3 基于基于 nios ii 的硬件開發(fā)設(shè)計(jì)的硬件開發(fā)設(shè)計(jì)首先安裝好系統(tǒng)設(shè)計(jì)所需的軟件,本設(shè)計(jì)開發(fā)采用的是 quart

54、us ii 8.0 和 nios ii ide 8.04.3.1 quartus ii 軟件設(shè)計(jì)軟件設(shè)計(jì)1.安裝好 quartus ii 軟件后,要進(jìn)行軟件破譯,也就是進(jìn)行l(wèi)icense.dat 的配置破解器可以從各大網(wǎng)站進(jìn)行下載,型號(hào)匹配,即可破解成功,破解成功后,如下圖所示:第第 1616 頁頁圖 4-3 license 破解圖破解成功后,需要安裝 usb 驅(qū)動(dòng)程序,安裝目錄如下:c:altera80quartusdriversusb-blasterx32,安裝成功后點(diǎn)擊 hardware settings界面如下:圖 4-4 hardware setting 設(shè)置圖第第 1717 頁頁2

55、. 軟件在破解成功后,便可以使用了 在使用 quartus ii 設(shè)計(jì)軟件之前,需先建立設(shè)計(jì)模塊的工程( project)單擊菜單“file-new project wizard.” ,工程建立的芯片設(shè)置如下圖所示:由于所使用的開發(fā)板 de2-70 開發(fā)板的芯片類型是 cyclone ii ep2c70f896c6,故這里就選擇使用這個(gè)芯片圖 4-5 芯片設(shè)置圖3. 工程設(shè)計(jì) 通過 sopc builder 添加工程所需組件,在后面做詳細(xì)介紹。4. 對(duì)工程進(jìn)行全程編譯第第 1818 頁頁圖 4-6 編譯通過5. 編譯通過后,將工程下載到 de2-70 開發(fā)板上圖 4-7 jtag 下載第第 1

56、919 頁頁4.3.2 sopc builder 組件添加組件添加在 quartusii 8.0 中,點(diǎn)擊工具欄中右側(cè)的 sopc builder 組件的圖標(biāo),或者單擊菜單“tools-sopc builder” ,打開 sopc builder 工具箱。下圖是添加完整組件的 sopc builder 配置:圖 4-8 sopc builder 組件設(shè)計(jì)第第 2020 頁頁下面詳細(xì)介紹各個(gè)組件添加步驟:1)加入加入 niosii cpu core:雙擊左側(cè)選擇組件欄中的 niosii processor,彈出配置對(duì)話框。nios 有三種內(nèi)核,經(jīng)濟(jì)型,快速型和標(biāo)準(zhǔn)型內(nèi)核。在此添加快速型內(nèi)核才能滿

57、足工程的正常運(yùn)行圖 4-9 cpu 內(nèi)核選擇在第四標(biāo)簽頁 jtag debug module 中,有四種 jtag 調(diào)試的模式,選擇第一種調(diào)試模式,如下圖所示,之后點(diǎn)擊finish 完成 cpu 的定制。圖 4-10 cpu level 選擇第第 2121 頁頁2)加入片上加入片上 on-chip memory(ram or rom)存儲(chǔ)器組件:存儲(chǔ)器組件: 雙擊左側(cè)選擇組件欄中 memories and memory conrtollers-on-chip- on-chip memory(ram or rom)。設(shè)置 memory type 為 ram,data width 為32,tota

58、l memory size 為 16kbytes,點(diǎn)擊“finish”完成添加。如下圖所示:圖 4-11 添加 ram第第 2222 頁頁3)加入加入 jtag uart 組件組件: 雙擊左側(cè)選擇組件欄中 interface protocols-serial-jtag uart。選用所有的默認(rèn)設(shè)置,點(diǎn)擊 “finish”完成添加,如下圖所示:圖 4-12 添加 jtaf uart圖 4-13 創(chuàng)建 jtaf uart第第 2323 頁頁4)加入加入 uart 組件:組件:雙擊左側(cè)選擇組件欄中的 interface protocols-serial-uart(rs232 serial port)

59、。確認(rèn)波特率“baud rate”為 115200,校驗(yàn)位“parity”為“none” ,數(shù)據(jù)位數(shù)“data bits”為 8,停止位數(shù)“stop bits”為 1,如下圖所示,點(diǎn)擊“finish”完成添加圖 4-14 添加 uart-configuration第第 2424 頁頁圖 4-15 添加 uart-simulation第第 2525 頁頁5)加入片外加入片外 flash 存儲(chǔ)器組件:存儲(chǔ)器組件: 使用 flash memory(cfi) ip 核控制 flash 器件。cfi(common flash memory interface)描述了硬件特征與系統(tǒng)軟件的接合協(xié)議,這使得通

60、用的軟件算法適用于全部符合 cfi 標(biāo)準(zhǔn)的 flash 器件。雙擊左側(cè)選擇組件欄中的 memories and memory conrtollers-flash- flash memory(cfi),彈出配置對(duì)話框。硬件參數(shù)設(shè)置:本實(shí)驗(yàn)平臺(tái)采用的 s29gl064a 芯片符合 cfi 標(biāo)準(zhǔn),其數(shù)據(jù)位寬可通過配置 byte_n 引腳進(jìn)行 8bit/16bit 切換。對(duì)應(yīng)的地址總線寬度分別為 23 位/22 位。硬件配置:使 flash 器件與對(duì)應(yīng)的 avalon 三態(tài)總線橋相連接,所以添加 flash 器件后,要對(duì)應(yīng)添加三態(tài)橋。圖 4-16 添加 cfi-attributes圖 4-17 添加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論