基于FPGA的16位寄存器設(shè)計(jì)_第1頁(yè)
基于FPGA的16位寄存器設(shè)計(jì)_第2頁(yè)
基于FPGA的16位寄存器設(shè)計(jì)_第3頁(yè)
基于FPGA的16位寄存器設(shè)計(jì)_第4頁(yè)
基于FPGA的16位寄存器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)科學(xué)系計(jì)算機(jī)科學(xué)系 20132013 屆本科畢業(yè)設(shè)計(jì)(論文)屆本科畢業(yè)設(shè)計(jì)(論文)基于基于 FPGAFPGA 的的 1616 位寄存器的設(shè)計(jì)位寄存器的設(shè)計(jì) 專(zhuān) 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 姓 名 XXX 學(xué) 號(hào) xxxxxxxx 指 導(dǎo) 教 師 XXX 完 成 時(shí) 間 2013 年年 6 月月 6 日日 陜西 商洛獨(dú)創(chuàng)性聲明本人聲明所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包括其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含為獲得商洛學(xué)院或其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。與我一同工作的同志對(duì)本研究所做

2、的任何貢獻(xiàn)均已在論文中作了明確的說(shuō)明并表示了謝意。學(xué)位論文作者簽名:_日期:_關(guān)于論文使用授權(quán)的說(shuō)明本人完全了解商洛學(xué)院有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán)保留送交論文的復(fù)印件,允許論文被查閱和借閱;學(xué)??梢怨颊撐牡娜炕虿糠謨?nèi)容,可以采用影印、縮印或其他復(fù)制手段保存論文。公開(kāi) 保密(_年_月) (保密的學(xué)位論文在解密后應(yīng)遵守此協(xié)議)簽名: 導(dǎo)師簽名: 日期: 商洛學(xué)院學(xué)位論文I基于基于 FPGAFPGA 的的 1616 位寄存器的設(shè)計(jì)位寄存器的設(shè)計(jì)摘要:隨著社會(huì)的發(fā)展,科學(xué)技術(shù)也在不斷的進(jìn)步。特別是計(jì)算機(jī)產(chǎn)業(yè),可以說(shuō)是日新月異,寄存器作為計(jì)算機(jī)的一個(gè)重要部件,移位寄存器更是如此,從先

3、前的只能做簡(jiǎn)單的左移或右移功能的寄存器到現(xiàn)在廣泛應(yīng)用的具有寄存代碼、實(shí)現(xiàn)數(shù)據(jù)的串行-并行轉(zhuǎn)換、數(shù)據(jù)運(yùn)算和數(shù)據(jù)處理功能的移位寄存器。移位寄存器正在向著功能強(qiáng),體積小,重量輕等方向不斷發(fā)展。系統(tǒng)使用 EDA 技術(shù)設(shè)計(jì)了具有移位功能的寄存器,采用硬件描述語(yǔ)言 VHDL 進(jìn)行設(shè)計(jì),然后進(jìn)行編程和調(diào)試,再進(jìn)行時(shí)序仿真等,在 Quartus工具軟件環(huán)境下,采用自頂向下的設(shè)計(jì)方法。本設(shè)計(jì)根據(jù)移位寄存器的功能設(shè)計(jì)了三種不同的寄存器:雙向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。整個(gè)設(shè)計(jì)過(guò)程簡(jiǎn)單,使用方便。功能齊全,精度高,具有一定的開(kāi)發(fā)價(jià)值。關(guān)鍵詞:EDA;VHDL;移位寄存

4、器摘 要IIDesign of 16 bit register based on FPGAAbstrsct: With the social development, science and technology are constantly progress. Particularly the computer industry, it can be said is changing, the register as an important component of a computer, especially a shift register, can only be done from

5、 the previous simple function registers the left or right to a register is now widely applied code, data serial - parallel conversion, data computing and data processing functions of the shift register. Shift register is toward strong function, small size, light weight and direction of continuous de

6、velopment.System uses EDA technology designed with shift register function, using hardware description language VHDL design, and programming and debugging, re-timing simulation, etc., in Quartus software tool environment, using the top-down design approach. The design of the functional design of the

7、 shift register three different registers: bidirectional shift register, the string into the string out (SISO) shift register, the string into and out (SIPO) shift register. Throughout the design process is simple, easy to use. Full-featured, high precision, has a certain value for development.Key w

8、ords:EDA; VHDL; shift register商洛學(xué)院學(xué)位論文III目目 錄錄第一章第一章 緒論緒論 .11.1 課題目的 .11.2 課題的內(nèi)容 .11.3 課題的意義 .21.4 論文結(jié)構(gòu) .2第二章第二章 技術(shù)背景技術(shù)背景 .42.1 EDA 簡(jiǎn)介.42.2 FPGA 概述.52.2.1 FPGA 開(kāi)發(fā)編程原理 .62.2.2 FPGA 基本結(jié)構(gòu).62.2.3 FPGA 系統(tǒng)設(shè)計(jì)流程 .72.3 VHDL 語(yǔ)言與 QUARTUS .82.3.1 VHDL 語(yǔ)言簡(jiǎn)介 .82.3.2 Quartus簡(jiǎn)介.102.3.3 VHDL 的設(shè)計(jì)流程 .122.4 系統(tǒng)方案分析 .13第

9、三章第三章 移位寄存器設(shè)計(jì)移位寄存器設(shè)計(jì) .153.1 設(shè)計(jì)規(guī)劃.153.2 各模塊工作原理及設(shè)計(jì) .153.2.1 移位寄存器的工作原理 .153.2.2 雙向移位寄存器的設(shè)計(jì) .153.2.3 串入串出(SISO)移位寄存器的設(shè)計(jì).163.2.4 串入并出(SIPO)移位寄存器的設(shè)計(jì).163.2.5 移位寄存器的設(shè)計(jì)總結(jié) .16第四章第四章 系統(tǒng)仿真系統(tǒng)仿真 .184.1 雙向移位寄存器仿真圖分析.184.2 串入串出(SISO)移位寄存器仿真圖分析 .194.3 串入并出(SIPO)移位寄存器仿真圖分析 .194.4 分析仿真結(jié)果.20參考文獻(xiàn)參考文獻(xiàn) .21摘 要IV附附 錄錄 .22

10、謝謝 辭辭 .25商洛學(xué)院學(xué)位論文1第一章第一章 緒論緒論隨著社會(huì)的發(fā)展,科學(xué)技術(shù)也在不斷的進(jìn)步。特別是計(jì)算機(jī)產(chǎn)業(yè),可以說(shuō)是日新月異,寄存器作為計(jì)算機(jī)的一個(gè)重要部件,移位寄存器更是如此,從先前的只能做簡(jiǎn)單的左移或右移功能的寄存器到現(xiàn)在廣泛應(yīng)用的具有寄存代碼、實(shí)現(xiàn)數(shù)據(jù)的串行-并行轉(zhuǎn)換、數(shù)據(jù)運(yùn)算和數(shù)據(jù)處理功能的移位寄存器。移位寄存器正在向著功能強(qiáng),體積小,重量輕等方向不斷發(fā)展,本設(shè)計(jì)主要介紹的是一個(gè)基于超高速硬件描述語(yǔ)言VHDL對(duì)移位寄存器進(jìn)行編程實(shí)現(xiàn)6。近年來(lái),集成電路和計(jì)算機(jī)應(yīng)用得到了高速發(fā)展,現(xiàn)代電子設(shè)計(jì)技術(shù)已邁入一個(gè)嶄新的階段,具體表現(xiàn)在:(1)電子器件及其技術(shù)的發(fā)展將更多地趨向于為EDA

11、服務(wù);(2)硬件電路與軟件設(shè)計(jì)過(guò)程已高度滲透;(3)電子設(shè)計(jì)技術(shù)將歸結(jié)為更加標(biāo)準(zhǔn)、規(guī)范的EDA工具和硬件描述語(yǔ)言HDL的運(yùn)用;(4)數(shù)字系統(tǒng)的芯片化實(shí)現(xiàn)手段已成主流。因此利用計(jì)算機(jī)和大規(guī)模復(fù)雜可編程邏輯器件進(jìn)行現(xiàn)代電子系統(tǒng)設(shè)計(jì)已成為電子工程類(lèi)技術(shù)人員必不可少的基本技能之一。1.11.1 課題目的課題目的在計(jì)算機(jī)中常要求寄存器有移位功能。如在進(jìn)行乘法時(shí),要求將部分積右移;在將并行傳送的數(shù)轉(zhuǎn)換成串行數(shù)時(shí)也需要移位。因此,移位寄存器的設(shè)計(jì)是必要的。本次設(shè)計(jì)的目的就是利用計(jì)算機(jī)組成原理中移位寄存器的相關(guān)知識(shí),通過(guò)課程設(shè)計(jì)更加深入的了解移位寄存器的功能。了解EDA技術(shù),并掌握VHDL硬件描述語(yǔ)言的設(shè)計(jì)方

12、法和思想,通過(guò)學(xué)習(xí)的VHDL語(yǔ)言結(jié)合計(jì)算機(jī)組成原理中的相關(guān)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí)。通過(guò)對(duì)移位寄存器的設(shè)計(jì),鞏固和綜合運(yùn)用所學(xué)知識(shí),提高對(duì)計(jì)算機(jī)組成原理的理解。1.21.2 課題的內(nèi)容課題的內(nèi)容本畢業(yè)設(shè)計(jì)主要是關(guān)于移位寄存器的設(shè)計(jì),它不僅描述了設(shè)計(jì)所需要多種技術(shù)的介紹,例如EDA、FPGA、VHDL語(yǔ)言、Quartus II軟件環(huán)境等,并且對(duì)移位寄存器的三種設(shè)計(jì)進(jìn)行了時(shí)序仿真,包括左移、右移、串行輸入及仿真等功能。本設(shè)計(jì)根據(jù)移位寄存器功能的不同,設(shè)計(jì)了三種移位寄存器。(1) 雙向移位寄存器;(2) 串入串出(SISO)移位寄存器;第一章 緒論2(3) 串入并出(SIPO)移位寄存器

13、。1.3 課題課題的意義的意義移位寄存器一個(gè)最普遍的應(yīng)用,是數(shù)據(jù)傳輸過(guò)程中,串行接口和并行接口的轉(zhuǎn)換。這在許多并行傳輸一組比特?cái)?shù)據(jù)的電路中很有用,因?yàn)樗鼈兂3R彩褂昧嗽诮Y(jié)構(gòu)上更為簡(jiǎn)單的串行接口。移位寄存器可以被用作一個(gè)簡(jiǎn)單的延遲電路。許多雙向移位寄存器可以在并行傳輸中作為堆棧的硬件實(shí)現(xiàn)方式5。串入并出形式的移位寄存器經(jīng)常與微處理器連接,這樣做的原因主要是需要的引腳數(shù)多于微處理器能夠提供的數(shù)量。通過(guò)使用移位寄存器,可以只依靠?jī)扇齻€(gè)引腳,而被控制設(shè)備的控制位分別連接在移位寄存器的并行輸出端。由此,微處理器可以以串行的方式一次寫(xiě)入這些設(shè)備的各個(gè)控制位。類(lèi)似的,并入串出接法的移位寄存器在多個(gè)外部設(shè)備向

14、微處理器傳輸數(shù)據(jù)時(shí)較為常用,外部設(shè)備以并行的方式將數(shù)據(jù)輸入到移位寄存器里,然后移位寄存器以串行的方式將數(shù)據(jù)一位一位地輸出給微處理器,這樣,外部設(shè)備的大量信息可以通過(guò)少數(shù)幾條線到達(dá)微處理器。在早期的計(jì)算機(jī)中,移位寄存器被用來(lái)進(jìn)行數(shù)據(jù)處理:兩個(gè)相加的數(shù)被存儲(chǔ)在兩個(gè)移位寄存器里,然后它們按照時(shí)間脈沖被輸出到算術(shù)邏輯單元,結(jié)果中多出的一位以反饋的形式重新被輸入到其中一個(gè)移位寄存器(累加器)。注意兩個(gè)一位二進(jìn)制數(shù)相加的結(jié)果只可能是一位(如0+0=0,0+1=1)或者兩位(1+1=10)。一些計(jì)算機(jī)語(yǔ)言?xún)?nèi)置了移位指令,這類(lèi)指令可以讓二進(jìn)制數(shù)據(jù)在寄存器中進(jìn)行左移或右移操作。左移或右移一位,相當(dāng)于乘以2或除以

15、2。一些1970年代早期的設(shè)備曾以類(lèi)似延遲線存儲(chǔ)器的方式用過(guò)非常大規(guī)模的串入串出移位寄存器,其規(guī)模達(dá)到上千位。這類(lèi)存儲(chǔ)器有時(shí)被稱(chēng)為循環(huán)存儲(chǔ)器(circulating memory)。例如,DataPoint 3300將其25列、72行的字符顯示數(shù)據(jù)存儲(chǔ)在54個(gè)200位的移位寄存器里,以6個(gè)堆棧、每個(gè)堆棧9個(gè)包的形式排列,提供了1800個(gè)6位字符的存儲(chǔ)能力。1.4 論文結(jié)構(gòu)論文結(jié)構(gòu)本書(shū)第一章:緒論第一章主要介紹了目前寄存器的發(fā)展及概況,指明了本設(shè)計(jì)的目的、內(nèi)容以及研究思路,根據(jù)本設(shè)計(jì)詳細(xì)地闡述了移位寄存器的應(yīng)用。本書(shū)第二章:技術(shù)背景第二章主要介紹了進(jìn)行移位寄存器時(shí)序仿真所需要用到的多種技術(shù)背景。

16、商洛學(xué)院學(xué)位論文3包括EDA、FPGA原理和基本結(jié)構(gòu)、VHDL基礎(chǔ)語(yǔ)言和Quartus II 6.0開(kāi)發(fā)軟件環(huán)境。本書(shū)第三章:移位寄存器的設(shè)計(jì)第三章主要介紹了基于VHDL語(yǔ)言設(shè)計(jì)的移位寄存器,并展示了三個(gè)模塊的工作原理框圖。本書(shū)第四章:系統(tǒng)仿真第四章主要說(shuō)明了根據(jù)前面的設(shè)計(jì)進(jìn)行時(shí)序仿真,對(duì)比時(shí)序仿真圖進(jìn)行詳解。并進(jìn)行了仿真結(jié)果的分析。第二章 技術(shù)背景4第二章第二章 技術(shù)背景技術(shù)背景2.12.1 EDAEDA 簡(jiǎn)介簡(jiǎn)介EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫(xiě),在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(

17、CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可行性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。根據(jù)電子設(shè)計(jì)技術(shù)的發(fā)展特征,EDA技術(shù)發(fā)展大致分為三個(gè)階段3。1.CAD階段CAD階段是從20世紀(jì)60年代中期到20世紀(jì)80年代初期,該階段的特點(diǎn)是一些單獨(dú)、的工具軟件,主要有pcb布線設(shè)計(jì)、電路模擬、邏輯模擬及版圖的繪制等,通過(guò)計(jì)算機(jī)的使用,從而

18、將設(shè)計(jì)人員從大量繁瑣重復(fù)的計(jì)算和繪圖工作中解脫出來(lái)。這個(gè)時(shí)期的EDA一般稱(chēng)為CAD(計(jì)算機(jī)輔助設(shè)計(jì))。2.CAE階段這個(gè)階段在擊集成電路與電子設(shè)計(jì)方法學(xué)及設(shè)計(jì)工具集成化方面取得了許多成果。各種設(shè)計(jì)工具,如原理圖輸入、編譯與連接、邏輯模擬、測(cè)試碼生成、版圖自動(dòng)布局以及各種單元庫(kù)已齊全。由于采用了統(tǒng)一數(shù)據(jù)管理技術(shù),因而能夠?qū)⒏鱾€(gè)工具集成為一個(gè)CAE(計(jì)算機(jī)輔助工程)。3.EDA階段電子技術(shù)發(fā)展到EDA階段,期中微電子技術(shù)以驚人的速度發(fā)展,其工藝水平達(dá)到深亞微米級(jí),在一個(gè)芯片上可集成數(shù)百萬(wàn)乃至上千萬(wàn)個(gè)晶體管,工作速度可達(dá)到吉兆赫,這為制造出規(guī)模更大、速度更快和信息容量很大的芯片系統(tǒng)提供了條件,但同時(shí)

19、也對(duì)EDA系統(tǒng)提出了更高的要求,并促使了EDA的發(fā)展。下面簡(jiǎn)單介紹這個(gè)階段EDA技術(shù)的主要特征:(1)高層綜合的理論與方法取得較大進(jìn)展,將EDA設(shè)計(jì)層次有RTL級(jí)提高到了系統(tǒng)級(jí),分為邏輯綜合和測(cè)試綜合。(2)采用硬件描述語(yǔ)言來(lái)描述10萬(wàn)門(mén)以上的設(shè)計(jì),并形成了VHDL和Verilog HDL兩種標(biāo)準(zhǔn)硬件描述語(yǔ)言。它們均主持不同層次的描述,使得復(fù)雜IC的描述規(guī)范化,便于傳遞、交流、保存于修改,也便于重復(fù)使用。隨著VHDL和Verilog HDL語(yǔ)言的完善,設(shè)計(jì)工程師已經(jīng)習(xí)慣用語(yǔ)言而不是電路來(lái)描述電路。商洛學(xué)院學(xué)位論文5原因其實(shí)很簡(jiǎn)單,隨著半導(dǎo)體工藝的快速發(fā)展,設(shè)計(jì)規(guī)模變得非常龐大,功能非常復(fù)雜,傳

20、統(tǒng)的電路圖的方法已經(jīng)不可能適應(yīng)當(dāng)前的設(shè)計(jì)要求。(3)采用平面規(guī)劃技術(shù)對(duì)邏輯綜合和物理版圖設(shè)計(jì)進(jìn)行聯(lián)合管理,做到在邏輯綜合早期設(shè)計(jì)階段就考慮到物理設(shè)計(jì)信息的影響。通過(guò)這些信息,設(shè)計(jì)者能更進(jìn)一步進(jìn)行綜合與優(yōu)化,并保證所做的修改只會(huì)提高性能而不會(huì)對(duì)版圖設(shè)計(jì)帶來(lái)負(fù)面影響。(4) 可測(cè)性綜合設(shè)計(jì)。隨著ASIC的規(guī)模與復(fù)雜性的增加,測(cè)試難度與費(fèi)用急劇上升。由此產(chǎn)生了將可測(cè)試性電路結(jié)構(gòu)制作在ASIC芯片上的想法,于是開(kāi)發(fā)了掃描插入、BLST(內(nèi)建自測(cè)試)、邊界掃描等可測(cè)性設(shè)計(jì)(DFT)工具,并已集成到EDA系統(tǒng)中。其典型產(chǎn)品有Compass公司的Test Assistant和Mentor Graphics公

21、司的LBLST Architect、BSD Architect、DFT Advisor等。(5)為帶有嵌入IP(知識(shí)產(chǎn)權(quán))模塊的ASIC設(shè)計(jì)提供軟硬件協(xié)同系統(tǒng)設(shè)計(jì)工具。協(xié)同驗(yàn)證彌補(bǔ)了硬件設(shè)計(jì)和軟件設(shè)計(jì)流程之間的空隙,保證了軟硬件之間的同步協(xié)調(diào)工作。協(xié)同驗(yàn)證是當(dāng)今系統(tǒng)集成的核心,它以高層系統(tǒng)設(shè)計(jì)為主導(dǎo),以性能優(yōu)化為目標(biāo),融合邏輯綜合、性能仿真、形式驗(yàn)證和可測(cè)性設(shè)計(jì),產(chǎn)品如Mentor Graphics公司的Seamless CAV。(6)建立并行設(shè)計(jì)工程CE框架結(jié)構(gòu)的集成化設(shè)計(jì)環(huán)境,以適應(yīng)當(dāng)今ASIC的如下一些特點(diǎn):數(shù)字與模擬店里并存,硬件與軟件設(shè)計(jì)并存,產(chǎn)品上市速度要快。這種集成化設(shè)計(jì)環(huán)境中,

22、使用統(tǒng)一的數(shù)據(jù)管理系統(tǒng)與完善的通訊管理系統(tǒng),由若干相關(guān)的設(shè)計(jì)小組共享數(shù)據(jù)庫(kù)和知識(shí)庫(kù),并行地進(jìn)行設(shè)計(jì),而且在各種平臺(tái)之間可以平滑過(guò)渡??傊珽DA開(kāi)發(fā)工具經(jīng)歷了這么多年的發(fā)展和變化,已經(jīng)成為硬件設(shè)計(jì)工程師不可少的設(shè)計(jì)手段。隨著知識(shí)的不斷更新和需求的不斷牽引,EDA工具在未來(lái)將會(huì)有更大的發(fā)展。2.22.2 FPGAFPGA 概述概述FPGA是現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array)的簡(jiǎn)稱(chēng),與之相應(yīng)的CPLD是復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)的簡(jiǎn)稱(chēng),兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,所以有時(shí)可以忽略

23、這兩者的區(qū)別,統(tǒng)稱(chēng)為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡(jiǎn)單的74電路。它如同一張白紙或是一堆積木,工程師可以通過(guò)傳統(tǒng)的原理圖輸入或硬件描述語(yǔ)言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過(guò)軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用第二章 技術(shù)背景6CPLA/FPGA開(kāi)發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLA/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語(yǔ)言HDL的進(jìn)步4

24、。2.2.1 FPGA 開(kāi)發(fā)編程原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本、開(kāi)發(fā)周期等因素,確定最佳的實(shí)現(xiàn)方案,畫(huà)出系統(tǒng)框圖,選擇芯片,設(shè)計(jì)PCB并最終形成樣機(jī)。CPLD/FPGA軟件設(shè)計(jì)可分為兩大塊:編程語(yǔ)言和編程工具。編程語(yǔ)言主要有VHDL和Verilog兩種硬件描述語(yǔ)言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGA Express、Modelsim、Synposys SVS等)。具體的設(shè)計(jì)輸入方式有以下幾種:1.VHDL語(yǔ)言方式。VHDL既可以描述底層設(shè)計(jì),也可以描述

25、頂層的設(shè)計(jì),但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項(xiàng)目最后所能達(dá)到的性能與設(shè)計(jì)人員的水平、經(jīng)驗(yàn)以及綜合軟件有很大的關(guān)系。2.圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機(jī)描述和波形描述3種形式。有的軟件3種輸入方法都支持,如Active-HDL。MAX+plusII 圖形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀和高效,對(duì)綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是但項(xiàng)目很大的時(shí)候,該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來(lái)設(shè)計(jì)基于狀態(tài)機(jī)思想的時(shí)

26、序電路。在圖形的方式下定義好各個(gè)工作狀態(tài),然后在各個(gè)狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成HDL語(yǔ)言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機(jī)到VHDL語(yǔ)言有一種標(biāo)準(zhǔn)的對(duì)應(yīng)描述方式,所以這種輸入方式最后所能達(dá)到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。這種輸入方式最后所能達(dá)到的工作速度和芯片利用率也是主要取決于綜合軟件。 2.2.2 FPGA 基本結(jié)構(gòu)FPGA具有掩膜可編程門(mén)陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來(lái)實(shí)現(xiàn)不同的設(shè)計(jì)。FPGA一般由3種可編程電路和

27、一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB-Configurable Logic Block)、商洛學(xué)院學(xué)位論文7輸入/輸出模塊(IOB-I/O Block)和互連資源(IRInterconnect Resource)??删幊踢壿嬆KCLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長(zhǎng)度的連接線段和一些可編程連接開(kāi)關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來(lái),構(gòu)成特定功能的電路。2.2

28、.3 FPGA 系統(tǒng)設(shè)計(jì)流程一般說(shuō)來(lái),一個(gè)比較大的完整的項(xiàng)目應(yīng)該采用層次化的描述方法:分為幾個(gè)較大的模塊,定義好各功能模塊之間的接口,然后各個(gè)模塊再細(xì)分去具體實(shí)現(xiàn),這就是TOP DOWN(自頂向下)的設(shè)計(jì)方法。目前這種高層次的設(shè)計(jì)方法已被廣泛采用。高層次設(shè)計(jì)只是定義系統(tǒng)的行為特征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫(kù)的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換成針對(duì)某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程如圖2-2所示。系統(tǒng)劃分編譯器代碼級(jí)功能仿真綜合器適配前時(shí)序仿真適配器CPLD/FPGA實(shí)現(xiàn)適配后仿真模型適配后時(shí)序仿真適配報(bào)告ASIC 實(shí)現(xiàn)VH

29、DL 代碼或圖形方式輸入仿真綜合庫(kù)器件編程文件圖圖2.1 CPLD/FPGA系統(tǒng)設(shè)計(jì)流程系統(tǒng)設(shè)計(jì)流程第二章 技術(shù)背景8流程說(shuō)明:1.工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。2.輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。3.將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。4.進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷?duì)于大型設(shè)計(jì)來(lái)說(shuō),在綜合前對(duì)源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間。一般情況下,這一仿真步驟可略去。5.利用綜合器對(duì)VHDL源代碼進(jìn)行綜合優(yōu)化處

30、理,生成門(mén)級(jí)描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對(duì)ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過(guò)程要在相應(yīng)的廠家綜合庫(kù)的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時(shí)序仿真,仿真過(guò)程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(a)適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)

31、行適配后時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來(lái)芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計(jì)要求。最后將適配器產(chǎn)生的器件編程文件通過(guò)編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。2.32.3 VHDLVHDL 語(yǔ)言與語(yǔ)言與 QuartusQuartus2.3.1 VHDL 語(yǔ)言簡(jiǎn)介VHDL 的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底,VHDL被IEEE和

32、美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言2。 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類(lèi)似于一般商洛學(xué)院學(xué)位論文9的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可是部分,及端口)和內(nèi)部(或稱(chēng)不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。 VHDL 語(yǔ)言能夠成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得

33、廣泛應(yīng)用,它自身必然具有很多其他硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。歸納起來(lái),VHDL 語(yǔ)言主要具有以下優(yōu)點(diǎn): (1) VHDL 語(yǔ)言功能強(qiáng)大,設(shè)計(jì)方式多樣 VHDL 語(yǔ)言具有強(qiáng)大的語(yǔ)言結(jié)構(gòu),只需采用簡(jiǎn)單明確的VHDL語(yǔ)言程序就可以描述十分復(fù)雜的硬件電路。同時(shí),它還具有多層次的電路設(shè)計(jì)描述功能。此外 ,VHDL 語(yǔ)言能夠同時(shí)支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn), 這是其他硬件描述語(yǔ)言所不能比擬的。VHDL 語(yǔ)言設(shè)計(jì)方法靈活多樣,既支持自頂向下的設(shè)計(jì)方式,也支持自底向上的設(shè)計(jì)方法;既支持模塊化設(shè)計(jì)方法,也支持層次化設(shè)計(jì)方法。 (2)VHDL語(yǔ)言具有強(qiáng)大的硬件描述能力 VHDL 語(yǔ)言具有多層次的電路

34、設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路 , 也可以描述門(mén)級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí),VHDL 語(yǔ)言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類(lèi)型。VHDL 語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類(lèi)型,也支持用戶定義的數(shù)據(jù)類(lèi)型,這樣便會(huì)給硬件描述帶來(lái)較大的自由度。 (3) VHDL 語(yǔ)言具有很強(qiáng)的移植能力 VHDL 語(yǔ)言很強(qiáng)的移植能力主要體現(xiàn)在:對(duì)于同一個(gè)硬件電路的 VHDL 語(yǔ)言描述,它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)

35、移植到另一個(gè)工作平臺(tái)上去執(zhí)行。 (4) VHDL 語(yǔ)言的設(shè)計(jì)描述與器件無(wú)關(guān) 采用VHDL 語(yǔ)言描述硬件電路時(shí),設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后,VHDL 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)。 (5) VHDL 語(yǔ)言程序易于共享和復(fù)用 VHDL語(yǔ)言采用基于庫(kù) (library) 的設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員可第二章 技術(shù)背景10以建立各種可再次利用的模塊,一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門(mén)級(jí)電路開(kāi)始一步步地進(jìn)行設(shè)計(jì),而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前

36、設(shè)計(jì)中的存檔模塊,將這些模塊存放在庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。 由于VHDL語(yǔ)言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語(yǔ)言, 因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享,從而減小硬件電路設(shè)計(jì)的工作量, 縮短開(kāi)發(fā)周期。2.3.2 Quartus簡(jiǎn)介Altera公司的CPLD/FPGA設(shè)計(jì)工具軟件Quartus是適合單芯片可編程系統(tǒng)(SOPC)的最全面的設(shè)計(jì)環(huán)境3。Altera公司(http:/ )的邏輯方案涉及的工業(yè)應(yīng)用非常廣泛,包括:有線通信、無(wú)線網(wǎng)絡(luò)、數(shù)據(jù)通信、計(jì)算機(jī)、高容量處理器、醫(yī)療設(shè)備、外圍設(shè)備等。從網(wǎng)絡(luò)交換設(shè)備到接入網(wǎng)、寬帶無(wú)線通信、IP電話網(wǎng)關(guān)、Int

37、ernet服務(wù)器、視頻服務(wù)器、路由器、圖像處理、工業(yè)控制等,皆有其產(chǎn)品的應(yīng)用。 Quartus開(kāi)發(fā)工具支持的Altera公司主流FPGA全部系列,器件支持如表所示。表表2.1 器件說(shuō)明器件說(shuō)明器 件 說(shuō) 明Stratix 最高的性能,最高的密度,大量的存儲(chǔ)資源,特性豐富的平臺(tái)StratixGX 最高的性能結(jié)構(gòu),高速串行收發(fā)器Cyclone 低成本,替代ASIC,適用于價(jià)格敏感的應(yīng)用APEX 高密度,高性能,支持高速差分I/O標(biāo)準(zhǔn)Mercury 高性能,高帶寬,中密度,包括時(shí)鐘數(shù)據(jù)恢復(fù)(CDR)支持Excalibur 高性能,處理器硬核解決方案APEX20K/KE/KE 高性能,中到高密度FLE

38、Xl0K/KE 低成本,低到中密度ACEX 1K 低成本,低到中密度HardCopy 高密度,大批量ASIC替換器件Quartus系統(tǒng)特點(diǎn)總覽 1.第一款從FPGA至掩膜器件的完整設(shè)計(jì)工具。Quartus新版軟件可以在FPGA開(kāi)發(fā)的初期就提供HardCopy掩膜器件的設(shè)計(jì)性能參數(shù)。2.基于模塊的設(shè)計(jì)方法提高工作效率商洛學(xué)院學(xué)位論文11Quartus軟件為用戶提供了LogicLock基于模塊的設(shè)計(jì)方法,便于用戶獨(dú)立設(shè)計(jì)和實(shí)施各種設(shè)計(jì)模塊,并且在將模塊集成到頂層工程時(shí)仍可以維持各個(gè)模塊的性能。由于每一個(gè)模塊都只要進(jìn)行一次優(yōu)化,因此LogicLock流程可以顯著縮短設(shè)計(jì)和驗(yàn)證的周期。 3.更快集成I

39、P Quartus軟件包括SOPC Builder工具,SOPC Builder針對(duì)可編程片上系統(tǒng)(SOPC)的各種應(yīng)用自動(dòng)完成IP核(包括嵌入式處理器、協(xié)處理器、外設(shè)、存儲(chǔ)器和用戶設(shè)定的邏輯)的添加、參數(shù)設(shè)置和連接等操作。4.前期I/O分配和驗(yàn)證設(shè)計(jì)軟件可以在設(shè)計(jì)文件完成之前進(jìn)行I/O分配和驗(yàn)證。芯片編輯器(ChipEdit) 新的芯片編輯器允許設(shè)計(jì)者在完成布局布線之后查看Altera器件的內(nèi)部詳細(xì)結(jié)構(gòu),增量編輯邏輯單元(LE)和FO單元的配置和鎖相環(huán)參數(shù)。 5.存儲(chǔ)器編譯器用戶可以使用Quartus軟件中提供的存儲(chǔ)器編譯器功能對(duì)Altera FPGA中的嵌入式存儲(chǔ)器進(jìn)行輕松管理。增加了針對(duì)

40、FIFO和RAM讀寫(xiě)操作的基于現(xiàn)有設(shè)置的波形動(dòng)態(tài)生成功能。6.增量編譯 少量修改VHDL或VerilogHDL源文件,用Quartus軟件或第三方綜合軟件進(jìn)行邏輯綜合之后,新的增量布線特性可以在布局布線過(guò)程中把邏輯布局限制在新的或改變的邏輯中。 7.支持CPLD、FPGA和基于HardCopy的ASIC 設(shè)計(jì)流程可獨(dú)立執(zhí)行 Quartus軟件是全新的體系,設(shè)計(jì)流程的主要階段都可獨(dú)立執(zhí)行,這些階段包括綜合、映射、裝配、設(shè)計(jì)規(guī)則檢查、時(shí)間分析和器件編程。 使用全新的命令行和腳本功能自動(dòng)化設(shè)計(jì)流程 用戶可以使用命令行或Quarras軟件中的圖形用戶界面(GUl)獨(dú)立運(yùn)行Quartus軟件中的綜合、布

41、局布線、時(shí)序分析以及編程等模塊。除了提供Synopsys設(shè)計(jì)約束(SDC)的腳本支持以外,Quartus軟件中還包括了易用的工具命令語(yǔ)言(Tcl)界面,允許用戶使用該語(yǔ)言來(lái)創(chuàng)建和定制設(shè)計(jì)流程并滿足用戶的需求。 8.高級(jí)教程幫助深入了解Quartus的功能特性 Quartus軟件提供詳細(xì)的教程,覆蓋從工程創(chuàng)建、普通設(shè)計(jì)、綜合、布局布線到驗(yàn)證等在內(nèi)的各種設(shè)計(jì)任務(wù)。 第二章 技術(shù)背景129.其他改變 同時(shí)發(fā)布Modelsim-Altera5.7c仿真軟件,仿真時(shí)間可縮短20;License采用Flexlm 8.0進(jìn)行管理,用戶需要升級(jí)老版本License;操作系統(tǒng)支持Windows XP/2000/

42、NT,Solaris 7.8,Red Hat Linux7.1,HP-UX 11.0,不再支持官方Windows98。 (1)Quartus4.0的主要改進(jìn)如下: 1增強(qiáng)CGI功能,更友善的人機(jī)界面。2將編譯模式、仿真模式、軟件模式統(tǒng)一到了一起。3新的Assignment菜單,可以在一個(gè)Setting窗口中完成所有項(xiàng)目設(shè)置。4新的Assignment Editor菜單,可以在友好的表格界面中,進(jìn)行所有資源分配和所有約束設(shè)置。5新的Remove Assignment窗口,可以方便刪除各種不同的設(shè)置。6提供一個(gè)新的Memory Compiler,可以在MegaWizard Plug-In Mana

43、ger的界面中更方便地生成各種類(lèi)型的Memory。(2)布局布線利用布線后的延時(shí)信息,實(shí)現(xiàn)對(duì)網(wǎng)表的二次優(yōu)化,提高布線效果。用戶能夠手工控制邏輯復(fù)制(對(duì)部分器件)Timing Closure Floorplan Improvements。增強(qiáng)MAX3000、7000器件布線算法,提高Fmax,同時(shí)減少資源占用率,能夠自動(dòng)在底層顯示關(guān)鍵路徑。 (3)校驗(yàn)增強(qiáng)的LogicLock功能;增強(qiáng)的SignTap功能;支持HardCopy功耗估計(jì)。(4)其他支持一批StartixGX,Cyclone等新器件。(5)擴(kuò)大Altera軟件的技術(shù)領(lǐng)導(dǎo)地位Quartus軟件版本4.0包括簡(jiǎn)化和加速大容量FPGA設(shè)計(jì)

44、的新技術(shù),包括:存儲(chǔ)器、編譯器、波形發(fā)生器(產(chǎn)生存儲(chǔ)器結(jié)構(gòu)操作的波形顯示),基于存儲(chǔ)器參數(shù)化和配置選擇。此特性使不同存儲(chǔ)器配置設(shè)置效果更易于理解。一個(gè)完整的FPGA/CPLD開(kāi)發(fā)設(shè)計(jì)流程應(yīng)當(dāng)包括電路設(shè)計(jì)與輸入、功能仿真、綜合、綜合后仿真、實(shí)現(xiàn)、布線后仿真、下載調(diào)試等主要步驟。 Quartus開(kāi)發(fā)工具分為綜合工具、仿真工具、實(shí)現(xiàn)工具、輔助設(shè)計(jì)工具和其他工具等5類(lèi)。商洛學(xué)院學(xué)位論文132.3.3 VHDL 的設(shè)計(jì)流程1.設(shè)計(jì)規(guī)范的定義明確設(shè)計(jì)的目的,進(jìn)行設(shè)計(jì)的總體規(guī)劃。分析設(shè)計(jì)要求,以及自己要達(dá)到的設(shè)計(jì)目的和目標(biāo)。2.采用VHDL進(jìn)行設(shè)計(jì)描述這部分包括設(shè)計(jì)規(guī)劃和程序的編寫(xiě)。設(shè)計(jì)規(guī)劃主要包括設(shè)計(jì)方式

45、的選擇及是否進(jìn)行模塊劃分。設(shè)計(jì)方式一般包括直接設(shè)計(jì),自頂向下和自底向下設(shè)計(jì)。3.VHDL程序仿真對(duì)于某些人而言,仿真這一步似乎是可有可無(wú)的。但是對(duì)于一個(gè)可靠的設(shè)計(jì)而言,任何設(shè)計(jì)最好都進(jìn)行仿真,以保證設(shè)計(jì)的可靠性。另外,對(duì)于作為一個(gè)獨(dú)立的設(shè)計(jì)項(xiàng)目而言,仿真文件的提供足可以證明你設(shè)計(jì)的完整性。4.綜合、優(yōu)化和布局布線綜合指的是將設(shè)計(jì)描述轉(zhuǎn)化成底層電路的表示形式,其結(jié)果是一個(gè)網(wǎng)表或者是一組邏輯方程;優(yōu)化,這個(gè)主要是為了提高程序的執(zhí)行效率及減少資源的利用;布局布線,指的是將邏輯關(guān)系轉(zhuǎn)化成電路連接的方式。5.仿真這一步主要是為了確定你的設(shè)計(jì)在經(jīng)過(guò)布局布線之后,是不是還滿足你的設(shè)計(jì)要求。 2.42.4 系

46、統(tǒng)方案分析系統(tǒng)方案分析基于FPGA的片上可編程系統(tǒng)以高速的FPGA為數(shù)字平臺(tái),基于直接數(shù)字頻率合成和數(shù)字調(diào)制技術(shù)原理,雖然專(zhuān)用DDS芯片的功能也比較多,但控制方式確實(shí)固定的,因此不一定是我們所需要的。利用FPGA則可以根據(jù)需要方便地實(shí)現(xiàn)比較復(fù)雜的功能,并能簡(jiǎn)化控制及接口,有利于提高精度、可靠性和靈活性,這也是現(xiàn)代電子技術(shù)發(fā)展的重要方向,如圖2-3所示。 第二章 技術(shù)背景14圖圖 2.2基于基于FPGA的片上可編程系統(tǒng)的片上可編程系統(tǒng)基于FPGA的片上可編程系統(tǒng)為我們此次設(shè)計(jì)的方案。利用新技術(shù)、新的解決方案來(lái)實(shí)現(xiàn)題目的各項(xiàng)功能,縮短設(shè)計(jì)時(shí)間,以便剩下更多的時(shí)間來(lái)進(jìn)行嚴(yán)格的測(cè)試以及發(fā)揮更多的擴(kuò)展功

47、能。FPGA具有豐富的門(mén)電路和邏輯功能,它運(yùn)用IP核,將處理器、存儲(chǔ)器、I/O接口等系統(tǒng)設(shè)計(jì)需要的功能模塊到一塊芯片上,構(gòu)建成一個(gè)可編程的偏上系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁剪、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)中可編程的功能。在可編程期間內(nèi),還具有小容量高速RAM資源和足夠的可編程邏輯資源,用于實(shí)現(xiàn)其他的附加邏輯。根據(jù)題目要求,并綜合考慮FPGA的優(yōu)越性,制定了整體的設(shè)計(jì)方案:相位累加器核心,將微處理器、總線、外設(shè)、數(shù)字頻率合成器、存儲(chǔ)器和I/O接口等器件集成在一片F(xiàn)PGA上,外部電路采用D/A轉(zhuǎn)換、低通濾波和功率放大及幅度調(diào)節(jié)等環(huán)節(jié)。FPGA完成以下四大方面的功能:(1)控制鍵盤(pán)和顯示器;(

48、2)根據(jù)輸入的頻率值,通過(guò)數(shù)據(jù)計(jì)算得到頻率控制字;(3)實(shí)現(xiàn)數(shù)字頻率合成器;(4)實(shí)現(xiàn)對(duì)D/A轉(zhuǎn)換的控制;這種設(shè)計(jì)方式充分利用了FPGA的資源,減少了CPU與外設(shè)的接口,很大程度上提升了系統(tǒng)的速度、可靠性以及系統(tǒng)的成本。商洛學(xué)院學(xué)位論文15第三章第三章 移位寄存器設(shè)計(jì)移位寄存器設(shè)計(jì)3.13.1 設(shè)計(jì)規(guī)劃設(shè)計(jì)規(guī)劃本設(shè)計(jì)是基于VHDL語(yǔ)言設(shè)計(jì)的移位寄存器,由于移位寄存器是計(jì)算機(jī)中非常重要的部件,所以本設(shè)計(jì)采用了不同的方法來(lái)實(shí)現(xiàn)寄存器的移位功能,具體設(shè)計(jì)的移位寄存器有:雙向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。由于涉及內(nèi)容比較基礎(chǔ),所以設(shè)計(jì)比較簡(jiǎn)單1。3.23.

49、2 各模塊工作原理及各模塊工作原理及設(shè)計(jì)設(shè)計(jì)3.2.1 移位寄存器的工作原理用VHDL語(yǔ)言描述任意分頻數(shù)的分頻器,并實(shí)現(xiàn)占空比任意設(shè)置。每當(dāng)系統(tǒng)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器就加計(jì)數(shù)一位(可任意設(shè)置為N位),當(dāng)計(jì)數(shù)值到達(dá)預(yù)定值時(shí)就對(duì)分頻時(shí)鐘翻轉(zhuǎn),這樣就會(huì)得到一個(gè)連續(xù)的時(shí)鐘脈沖。當(dāng)移位信號(hào)到來(lái)時(shí),移位寄存器就對(duì)存儲(chǔ)的二進(jìn)制進(jìn)行移位操作。移位寄存方式可自行設(shè)置(可左移,右移,一位移,多位移位寄存)。3.2.2 雙向移位寄存器的設(shè)計(jì)電路符號(hào):雙向移位寄存器工作原理框圖。如圖3.1所示。 TDIRREGCLK OPLDIN OPRDIR 圖圖3.1 雙向移位寄存器原理框圖雙向移位寄存器原理框圖雙向移位寄存器

50、由VHDL程序?qū)崿F(xiàn),源代碼參附錄一。第三章 移位寄存器設(shè)計(jì)163.2.3 串入串出(SISO)移位寄存器的設(shè)計(jì)電路符號(hào):串入串出(SISO)移位寄存器工作原理框圖。如圖3.2所示。 SISODATA_IN DATA_OUTCLK圖圖3.2 串入串出(串入串出(SISO)移位寄存器圖元符號(hào))移位寄存器圖元符號(hào)串入串出(SISO)移位寄存器由VHDL程序?qū)崿F(xiàn),源代碼參附錄二。3.2.4 串入并出(SIPO)移位寄存器的設(shè)計(jì)電路符號(hào):串入并出(SIPO)移位寄存器工作原理框圖。如圖3.3所示。 SIPOD_IN D_OUT30CLK圖圖3.33.3 串入并出(串入并出(SIPO)移位寄存器工作框圖)

51、移位寄存器工作框圖串入并出(SIPO)移位寄存器由VHDL程序?qū)崿F(xiàn),源代碼參附錄三。3.2.5 移位寄存器的設(shè)計(jì)總結(jié)根據(jù)上述設(shè)計(jì),移位寄存器可以被用作一個(gè)簡(jiǎn)單的延遲電路。許多雙向移位寄存器可以在并行傳輸中作為堆棧的硬件實(shí)現(xiàn)方式。串入并出形式的移位寄商洛學(xué)院學(xué)位論文17存器經(jīng)常與微處理器連接,因?yàn)樗枰囊_數(shù)多于微處理器能夠提供的數(shù)量。通過(guò)使用移位寄存器,只要兩三個(gè)引腳,而被控制設(shè)備的控制位分別連接在移位寄存器的并行輸出端。由此,微處理器可以根據(jù)串行的方式一次寫(xiě)入這些設(shè)備的各個(gè)控制位。通過(guò)上述設(shè)計(jì)的原理框圖,我們將在下一章內(nèi)容中對(duì)其進(jìn)行時(shí)序仿真,并進(jìn)行仿真結(jié)果分析。第四章 系統(tǒng)仿真18第四章第

52、四章 系統(tǒng)仿真系統(tǒng)仿真仿真功能為設(shè)計(jì)者提供驗(yàn)證設(shè)計(jì)邏輯和時(shí)序正確性的環(huán)境。一般地,若設(shè)計(jì)者已經(jīng)得到了硬件電路板或開(kāi)發(fā)板,那么建議設(shè)計(jì)者跳過(guò)整個(gè)工程的仿真過(guò)程而直接在調(diào)試階段進(jìn)行驗(yàn)證。這樣做的原因是用戶的計(jì)算機(jī)大都不能滿足要求,而比較大的工程的仿真需要很大的計(jì)算量,從而會(huì)耗費(fèi)很多的時(shí)間。但是,一些運(yùn)算量小的底層模塊的功能驗(yàn)證可以借助仿真來(lái)實(shí)現(xiàn);如果用戶具備硬件電路板或開(kāi)發(fā)板,仿真最好只用于一些小的模塊的功能和時(shí)序的驗(yàn)證。Quartus II允許用戶使用EDA仿真工具或Quartus II Simulator對(duì)設(shè)計(jì)進(jìn)行功能驗(yàn)證與時(shí)序仿真。期中,Quartus II Simulator可以對(duì)工程中的

53、任何設(shè)計(jì)進(jìn)行仿真。根據(jù)所需的信息類(lèi)型,可以進(jìn)行功能仿真以測(cè)試設(shè)計(jì)的邏輯功能,也可以進(jìn)行時(shí)序仿真,在目標(biāo)器件中測(cè)試設(shè)計(jì)的邏輯功能和最壞情況下的時(shí)序,或者采用Fast Timing模型進(jìn)行時(shí)序仿真,在最壞的器件速率等級(jí)上仿真可能快的時(shí)序條件。Quartus II軟件可以仿真整個(gè)設(shè)計(jì),也可以仿真設(shè)計(jì)的任何部分。用戶可以指定工程中的任何設(shè)計(jì)實(shí)體為頂層設(shè)計(jì)實(shí)體,并仿真頂層實(shí)體及其所有附屬設(shè)計(jì)實(shí)體。Quartus II 軟件仿真包括一下四個(gè)步驟:(1)建立波形輸入文件;(2)設(shè)置節(jié)點(diǎn)的驗(yàn)證時(shí)序;(3)設(shè)置仿真參數(shù);(4)運(yùn)行時(shí)序仿真。4.14.1 雙向移位寄存器仿真圖分析雙向移位寄存器仿真圖分析雙向移位寄

54、存器的仿真圖,如圖 4.1 所示。圖圖 4.1 雙向移位寄存器仿真圖雙向移位寄存器仿真圖對(duì)其仿真圖進(jìn)行仿真分析:dir為一個(gè)控制信號(hào),clk為時(shí)鐘控制信號(hào),din為商洛學(xué)院學(xué)位論文19輸入信號(hào),表示要存入的數(shù)據(jù),op_r表示右移(從高位到低位)后得到的結(jié)果,op_l表示左移(從低位到高位)后得到的結(jié)果。如圖所示:當(dāng)dir為0時(shí),op_r輸出的是右移的結(jié)果,遇到一個(gè)clk的下降沿時(shí),輸入數(shù)據(jù)右移一位。op_l輸出的是左移的結(jié)果,遇到一個(gè)clk的下降沿時(shí),輸入數(shù)據(jù)左移一位。當(dāng)dir為1時(shí),op_r與op_l與上述相反。4.24.2 串入串出(串入串出(SISOSISO)移位寄存器仿真圖分析)移位寄

55、存器仿真圖分析串入串出(SISO)移位寄存器的仿真圖,如圖 4.2 所示。圖圖 4.2 串入串出(串入串出(SISO)移位寄存器的仿真圖)移位寄存器的仿真圖對(duì)其仿真圖進(jìn)行仿真分析:clk為時(shí)鐘控制信號(hào),data_in為輸入信號(hào),表示要存入的數(shù)據(jù)。data_out為輸出信號(hào),表示輸出的數(shù)據(jù)。如圖所示:當(dāng)data_in串行輸入數(shù)據(jù)時(shí),遇到一個(gè)時(shí)鐘信號(hào)clk,輸入數(shù)據(jù)向右移位,并串行輸出數(shù)據(jù)。4.34.3 串入并出(串入并出(SIPOSIPO)移位寄存器仿真圖分析)移位寄存器仿真圖分析串入并出(SIPO)移位寄存器的仿真圖,如圖 4.3 所示。圖圖 4.3 串入并出(串入并出(SIPO)移位寄存器仿

56、真圖)移位寄存器仿真圖對(duì)其仿真圖進(jìn)行仿真分析:clk為時(shí)鐘控制信號(hào),d_in為串行輸入信號(hào),d_out為四位并行輸出信號(hào),串行輸入信號(hào)四位為一組,該信號(hào)一位一位的按順第四章 系統(tǒng)仿真20序存入寄存器。如圖所示:當(dāng)串行輸入四位數(shù)據(jù)時(shí),輸出一次性并行輸出。4.44.4 分析仿真結(jié)果分析仿真結(jié)果仿真結(jié)束后,會(huì)彈出仿真的Report文件,在文件中會(huì)包括仿真的概述、參數(shù)設(shè)置、資源使用率以及得到的輸出結(jié)果。用戶可以根據(jù)觀察仿真輸出的波形以及時(shí)序是否滿足設(shè)計(jì)需要,邏輯是否正確,工程所要求的功能是否達(dá)到等。如果存在問(wèn)題,則根據(jù)波形所反映出的問(wèn)題對(duì)設(shè)計(jì)進(jìn)行修改,然后再次進(jìn)行仿真,直至達(dá)到滿意的結(jié)果5。仿真是一個(gè)

57、復(fù)雜的過(guò)程,這里所說(shuō)的復(fù)雜并不是操作,而是大部分情況下,我們所做的設(shè)計(jì)不一定成功,都會(huì)出現(xiàn)這樣或那樣的問(wèn)題。對(duì)各種問(wèn)題的解決還需要讀者的經(jīng)驗(yàn)積累。只有通過(guò)不斷的實(shí)踐,不斷的學(xué)習(xí),才能提高解決問(wèn)題的能力和設(shè)計(jì)的正確性。另外,仿真只適合于一些小系統(tǒng)或某個(gè)功能模塊的功能驗(yàn)證,而不適合龐大系統(tǒng)的功能驗(yàn)證。因?yàn)閺?fù)雜系統(tǒng)的仿真時(shí)間一般都是比較長(zhǎng)的而且仿真的數(shù)據(jù)量也很有限,所以,作者建議對(duì)某些功能模塊進(jìn)行驗(yàn)證時(shí)可以使用仿真,而對(duì)整個(gè)系統(tǒng)進(jìn)行驗(yàn)證時(shí)最好使用SignalTap II邏輯分析儀、SignalProbe以及外部邏輯分析儀示波器等工具進(jìn)行電路板級(jí)的調(diào)試,這將會(huì)節(jié)省設(shè)計(jì)者大量的調(diào)試時(shí)間。商洛學(xué)院學(xué)位論文21參考文獻(xiàn)參考文獻(xiàn)1潘松,潘明?,F(xiàn)代計(jì)算機(jī)組成原理??茖W(xué)出版,20

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論