版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
目錄TOC\o"1-5"\h\z\o"CurrentDocument"前言 1\o"CurrentDocument"1軟件及語言相關(guān)介紹 2\o"CurrentDocument"1.1quartus軟件介紹及功能 2\o"CurrentDocument"1.2VHDL語言介紹 3\o"CurrentDocument"2設(shè)計要求與說明 5\o"CurrentDocument"2.1搶答器鑒別模塊 5\o"CurrentDocument"2.2回答計時模塊 5\o"CurrentDocument"計分模塊 5\o"CurrentDocument"頂層文件綜合模塊 5\o"CurrentDocument"3單元模塊電路設(shè)計 7\o"CurrentDocument"3.1搶答器鑒別模塊 7\o"CurrentDocument"設(shè)計原理圖 7\o"CurrentDocument"3.1.2編譯報告 7\o"CurrentDocument"3.1.3仿真結(jié)果 8\o"CurrentDocument"3.1.4設(shè)計說明 8\o"CurrentDocument"3.2計時模塊 8\o"CurrentDocument"設(shè)計原理圖 8\o"CurrentDocument"3.2.2編譯報告 9\o"CurrentDocument"仿真結(jié)果 9\o"CurrentDocument"設(shè)計說明 9\o"CurrentDocument"3.3計分模塊 10\o"CurrentDocument"計分模塊原理圖 10\o"CurrentDocument"編譯報告 11\o"CurrentDocument"仿真結(jié)果 11\o"CurrentDocument"3.3.4設(shè)計說明 11\o"CurrentDocument"3.4頂層文件模塊 12\o"CurrentDocument"3.4.1頂層模塊原理圖 12\o"CurrentDocument"3.4.2編譯報告 12\o"CurrentDocument"仿真結(jié)果 13\o"CurrentDocument"設(shè)計說明 13\o"CurrentDocument"心得體會 14\o"CurrentDocument"參考文獻 15\o"CurrentDocument"附錄頂層文件源程序 16前言現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域EDA技術(shù)是電子設(shè)計的發(fā)展趨勢,EDA工具從數(shù)字系統(tǒng)設(shè)計的單一領(lǐng)域,應(yīng)用范圍已涉及模擬、微波等多個領(lǐng)域,可實現(xiàn)各個領(lǐng)域電子系統(tǒng)設(shè)計的測試、設(shè)計仿真和布局布線等。設(shè)計者只要完成對電子系統(tǒng)的功能描述,就可利用計算機和EDA工具,進行設(shè)計處理,最終得到設(shè)計結(jié)果。隨著大規(guī)模集成電路技術(shù)和計算機技術(shù)的不斷發(fā)展,即便是普通的電子產(chǎn)品的開發(fā),EDA技術(shù)常常使一些原來的技術(shù)瓶頸得以輕松突破,從而使產(chǎn)品的開發(fā)周期大為縮短、性價比大幅度提高。不言而喻,EDA技術(shù)將迅速成為電子設(shè)計領(lǐng)域中的極其重要的組成部分。從目前的EDA技術(shù)來看,其發(fā)展趨勢是政府重視、使用普及、應(yīng)用廣泛、工具多樣、軟件功能強大。在信息通信領(lǐng)域,要優(yōu)先發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計算機及軟件技術(shù)、第三代移動通信技術(shù)、信息管理、信息安全技術(shù),積極開拓以數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟增長點。這次設(shè)計的題目為四人搶答器,主要從搶答、計分和計時模塊加以設(shè)計,然后將之綜合起來,搶答共分四路,當(dāng)有一路搶答成功之后將封鎖其他路的搶答請求消息,直至主持人按下復(fù)位鍵并開始新一輪的搶答。計時部分主持人可以通過外部按鈕自動設(shè)置計時的初始值,最大計時為59s,并且計時結(jié)束時帶有警報信號以起到警示的作用,若時間未到還可通過外部按鍵防止警報信號響起。計分部分對于鎖定的選手每答對一題加一分,答錯一題減一分,其他選手的分不變,對于選手的鎖定通過前面搶答模塊的臺數(shù)顯示狀態(tài)的傳遞來實現(xiàn)。通過用VHDL語言對每個模塊的功能加以實現(xiàn),最后撰寫頂層文件將每個分模塊加以綜合使之成為一個整體。用VHDL語言編寫各模塊的功能,實現(xiàn)現(xiàn)實的模擬,然后用波形圖對每個模塊進行仿真,以檢驗設(shè)計VHDL代碼的正誤并對程序不斷改進,直至仿真波形達到理想的效果,最后將代碼通過管腳鎖定下載到硬件實驗箱上,用硬件顯示進一步檢驗設(shè)計的效果。這次我們使用的是CycloneIII實驗箱,型號是EP3C40Q240C8,共有240個引腳。1軟件及語言相關(guān)介紹1.1quartus軟件介紹及功能QuartusII是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tc1腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,QuartusII通過和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。MaxplusII作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對MaxplusII的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在QuartusII中包含了許多諸如SignalTapII、ChipEditor和RTLViewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了MaxplusII友好的圖形界面及簡便的使用方法。AlteraQuartusII作為一種可編程邏輯的設(shè)計環(huán)境,由于其強大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。QuartusII提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括:可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實體文件;芯片(電路)平面布局連線編輯;LogicLock增量設(shè)計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;功能強大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時/時序分析與關(guān)鍵路徑延時分析;可使用SignalTapII邏輯分析工具進行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件;能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。1.2VHDL語言介紹VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。VHDL語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來,VHDL語言主要具有以下優(yōu)點:(1) VHDL語言功能強大,設(shè)計方式多樣VHDL語言具有強大的語言結(jié)構(gòu),只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。同時,它還具有多層次的電路設(shè)計描述功能。此外,VHDL語言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn),這是其他硬件描述語言所不能比擬的。VHDL語言設(shè)計方法靈活多樣,既支持自頂向下的設(shè)計方式,也支持自底向上的設(shè)計方法;既支持模塊化設(shè)計方法,也支持層次化設(shè)計方法。(2) VHDL語言具有強大的硬件描述能力VHDL語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,VHDL語言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。(3) VHDL語言具有很強的移植能力VHDL語言很強的移植能力主要體現(xiàn)在:對于同一個硬件電路的VHDL語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。(4) VHDL語言的設(shè)計描述與器件無關(guān)采用VHDL語言描述硬件電路時,設(shè)計人員并不需要首先考慮選擇進行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進行電路設(shè)計的優(yōu)化,而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計描述完成以后,VHDL語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。VHDL語言程序易于共享和復(fù)用VHDL語言采用基于庫(library)的設(shè)計方法。在設(shè)計過程中,設(shè)計人員可以建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步步地進行設(shè)計,而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設(shè)計中進行復(fù)用。由于VHDL語言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言,因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享,從而減小硬件電路設(shè)計的工作量,縮短開發(fā)周期。2設(shè)計要求與說明本設(shè)計共分為三大模塊:搶答器鑒別模塊、回答計時模塊、記分模塊,最后是頂層文件綜合模塊。搶答器鑒別模塊在這個模塊中主要實現(xiàn)搶答過程中的搶答功能,可以記錄搶答者的臺號,并且能實現(xiàn)當(dāng)有一路搶答按鍵按下時,該路搶答信號將其余各路搶答信號封鎖并發(fā)出警報的的功能,直至主持人按下復(fù)位鍵警報聲停止,在主持人的允許下開始新一輪的搶答。其中有四個搶答信號a、b、c、d;搶答使能信號en;搶答與警報時鐘信號elk;系統(tǒng)復(fù)位信號rst;搶答臺號狀態(tài)顯示信號state;警報信號ring?;卮鹩嫊r模塊在這個模塊中主要實現(xiàn)回答開始后的計時功能,時間以倒計時顯示,當(dāng)顯示00時警報響起以提醒時間選手到停止回答,當(dāng)主持人按下復(fù)位鍵后警報解除且時間顯示初始值,如果時間未到參賽選手回答完,此時主持人按下停止鍵以防止警報響起并且時間顯示初始值,同時主持人還可以通過兩個按鍵分別對個位和十位的初始值進行設(shè)置,可以根據(jù)實際情況確定回答時間的長短,以免造成時間的浪費。其中有計時脈沖信號elk,使能信號enl,復(fù)位信號rst,回答完時間未到計時停止信號stop,計時時間預(yù)設(shè)置信號ta、tb,其中ta、tb分別對個位和十位進行控制,并且按一下相應(yīng)位數(shù)字減1,以及時間預(yù)設(shè)置使能信號lad,只有高電平時有效,輸出警報信號warn,兩位時間顯示輸出digitl、digit2。計分模塊在這個模塊中主要對各位選手的得分進行控制,答對一題加一分,答錯一題減一分,否則沒有變化。其中主要有輸入脈沖信號elk,復(fù)位信號rst2以對選手的分?jǐn)?shù)進行初始化,加減分使能信號en,加減分控制信號add,參賽選手臺號顯示信號state,輸出有a、b、e、d分?jǐn)?shù)顯示信號a_out、b_out、e_out、d_out。頂層文件綜合模塊在這個模塊中主要將前三個模塊進行例化,把這三個模塊綜合起來,使之成為一個整體以完成整個搶答器的設(shè)計。其中輸入信號主要包括四個參賽選手控制端a、b、c、d,脈沖信號elk,控制搶答和計分部分的使能端en,控制計時部分的使能端enl,控制搶答和計時部分的復(fù)位端rst,控制計分部分的復(fù)位端rst2,以及控制計時停止的端口stop,時間預(yù)設(shè)置信號lad、ta、tb,控制計分部分的端口add,輸出主要包括兩個警報信號端口ring、warn,參賽選手臺號顯示信號states,計時顯示信號digitl、digit2,以及分?jǐn)?shù)顯示部分四個端口a_out、b_out、c_out、d_out,最重要的是要將搶答部分的輸出state端口作為計分模塊的輸入進行輸入以對選手信息進行鎖定。3單元模塊電路設(shè)計3.1搶答器鑒別模塊3.1.1設(shè)計原理圖tailEeje.0tailEeje.0F]_oF]_o?iVSta+usQu.:詛弋口sIIVnifaiqrRevisionNiuneT[叮i一丄沖辺EntityNjiitieFrillyMs+11mingr?:qmrerTien+eLop;iclitiliz==LtioilCcimbinitioriiilABUT5DelicatedLogicregiiterzTotalrngistTotalpinsTotalvir七口4pins;TotalblockrTiernorybitzDSFblock9FitelsmentETotalFLLeTotalDLLsDeviceTiming圖3-1搶答器模塊原理圖3.1.2編譯報告Succ^sfijl-ThuN□丁0114:15:2120129.0luild13202/25/2009SJFull畑r"皿qiriqi/iStrati^IIYes<1怪20/12,480(<1%)9I12.480〔VI%〕g12/343(3%)00/419,328(0%〕0/^6〔0%〕0/6CO%)0/2CO%)EP2S15F4S4C3Final圖3-2搶答模塊編譯報告
3.1.3仿真結(jié)果3.1.4設(shè)計說明當(dāng)主持人按下復(fù)位鍵rst后,警報信號停止鳴叫,搶答臺號狀態(tài)顯示0;當(dāng)主持人按下?lián)尨鹦盘杄n后,搶答開始,四位參賽選手開始搶答,有一路搶答成功后將封鎖其它路得搶答信號,此時警報聲響起并顯示搶答成功選手的臺號。主持人按下復(fù)位鍵后顯示狀態(tài)復(fù)位又開始等待下一輪的搶答。3.2計時模塊3.2.1設(shè)計原理圖圖3-4計時模塊原理圖
3.2.2編譯報告FlowSt:=Ltuw3.2.2編譯報告FlowSt:=LtuwQii:=ltIIVereiotlRevisionN:=jtihTcip-l^welEiitity1T:=jtihF==unilyMhjttimingrequiremanL叮gicu+ilirationCcrriL1na七1orL:ilAL1JT三Dedicatedlogicregiztei-5TotalregiEtersT-jtalpinsTotalvirtualpin5Totilblockmemc?rybitsDEFblock9-bit色1色rr沱nt弓TotalFLLsTotalDLLsDeviceTimingHq-IsLsSuccessful一Thu衛(wèi)口丁0114:24:2720129.0Build13202/25/2009SJFullVersionqi牛q=L噸S+ritixIIYes<1%21/1巳480(<1%)17/12,480(<1%)17IB/343(5%)00/419,328(0%)0/96CO%)0/6(0%)0/2(0)EF2S15F484C3Find.圖3-5計時模塊編譯報告3.2.3仿真結(jié)果3.2.4設(shè)計說明最大計時時間為59s,按下復(fù)位鍵rst以及計時停止信號stop后時間顯示59s,同時將警報解除,然后將使能信號lad置高電平后就可以通過ta、tb對時間初始值進行手動設(shè)置,以根據(jù)實際情況選定計時時間。當(dāng)使能信號en1為高電平時就將預(yù)設(shè)置的值賦給輸出digitl、digit2,開始以倒計時方式計數(shù),當(dāng)顯示00時警報響起,并且回答完時間未到主持人按下stop鍵用于時間復(fù)位并防止警報響起。
3.3計分模塊3.3.1計分模塊原理圖圖3-7計分模塊原理圖圖3-7計分模塊原理圖3.3.2編譯報告FlowSt:i+l-lEQu.:=lt3.3.2編譯報告FlowSt:i+l-lEQu.:=ltt口弓IIVerzionEevielonN:=utieTop-levelEn_tit_y1T:=jtit:F:iiTiilyHettimiiLgrMquirerriHrLtELogicntilizationCorribirL:k+iCirrLLALUTsHelicated.LogicregietersTotaJ.refristerzTot口pinsTotalvirtualpinsTotalblockmemorybitsBSFblock9--bitelementsTotalPLLsTotalDLLsEeviceTimingMedelsSuccesEful-Thu.Sov0114:29:5320129ClBullJ13202/25/2009SJFullVersionStratixIIYes<1%43/12,480(<1%)19/12.4B0(<1%)1924/343(T%)00f419,328(Cl鴛〕0/S6〔0乳〕0/6CO%)0/2〔U憾〕EP2:Si5F4S4C3final圖3-8計分模塊編譯報告3.3.3仿真結(jié)果圖3-9計分模塊仿真圖3.3.4設(shè)計說明當(dāng)主持人按下復(fù)位信號rst2分別給四位選手賦初始值5分,在5分基礎(chǔ)上進行加減。當(dāng)使能端en為1的時候通過控制add端口對當(dāng)前鎖定的選手進行分?jǐn)?shù)加減控制,對于搶答成功的選手,當(dāng)選手回答正確主持人將add置高電平為選手加一分,回答錯誤主持人將add置低電平為選手減一分,其他選手的分?jǐn)?shù)不變。當(dāng)某位選手的分?jǐn)?shù)減到0時不再減,加到最高分時進行清零處理。
3.4頂層文件模塊3.4.1頂層模塊原理圖Jl:u3qiyirlH3」口.!1]>d_Ka口[3JU]—[3.JJ[1J]JJl:u3qiyirlH3」口.!1]>d_Ka口[3JU]—[3.JJ[1J]J[3Jll]en11IsdljtopTStt[qiang:U2■1 >.am口It艮m匸Ai孌至』|?kllTT>圖圖3-10頂層模塊的原理圖3.4.23.4.2編譯報告FlowStatusFlowStatusQii:=l1_七口呂IIVers1onRevieicmU:=jTieTi'flevH:!Entity鳳汕芹FiiiTiilyMettim讓宦TGiiuiremerLtsLi:,gieu+ilii:=LtiorLComLina七i.on:=J_AJLUTsDe>licat^d.1ogicre^ristersToi_H:gi5tei_sTotalpi口呂TotalvirtualpinsTotiLblockmr.rytitsDSPblock9-bitelemHirLtsTotalPLLsTot=alDLL呂DeviceTimingMudelsSuc^zEful-ThuN.:-v0114:34:3520129.0Build13202/25/2009SJFJ.1Version-■=TLg=';TLgStratiKIIISE<1%82/12.480(<1%)40/12.4S0(<14&)4044/343(13%]□□/419.328(0Si)0/9&(0%)0/6(D掘)Q/2(口備)EF2S15F484C3Final圖3-11頂層模塊編譯報告
3.4.3仿真結(jié)果3.4.4設(shè)計說明本部分設(shè)計主要將前面三個模塊當(dāng)中的共同部分以及有關(guān)聯(lián)的部分聯(lián)系起來使之成為一個整體,以實現(xiàn)四路搶答器的功能,重要的是必須將搶答模塊中的輸出state作為計分模塊的輸入,以用來鎖定選手的信息,對選手的分?jǐn)?shù)進行控制,其余各模塊的功能與前面描述的一致。心得體會這次課程設(shè)計歷時整整一個星期。通過這一個星期的課程設(shè)計,我發(fā)現(xiàn)了自己的很多不足,自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。在本設(shè)計中遇到很多難題,這些難題之所以成為設(shè)計中的攔路虎,是因為平常學(xué)習(xí)不夠扎實,基礎(chǔ)知識不牢固,在課程設(shè)計過程中,光有理論知識是不夠的,還必須懂一些實踐中的知識。這次的課程設(shè)計要求自己完成,但也不乏會借鑒前人的經(jīng)驗,在前人的基礎(chǔ)上進行改進和調(diào)整,以實現(xiàn)本次課程設(shè)計的要求。在課程設(shè)計中一個人只知道原理是遠遠不夠的,必須有實踐加以提高才會更了解所學(xué)知識的深刻內(nèi)涵,而這次設(shè)計也正好鍛煉我們這一點,這也是非常寶貴的。本次課程設(shè)計也鞏固和加深了我對EDA基本知識的理解,提高了綜合運用所學(xué)知識的能力,增強了根據(jù)課程需要選學(xué)參考資料,查閱手冊、圖表和文獻資料的自學(xué)能力,然后深入研究,提出方案,對比后得出最終的可行方案。同時我也初步學(xué)習(xí)到了關(guān)于課程設(shè)計的基本方法、步驟和撰寫設(shè)計論文的格式。通過這次課程設(shè)計,我想說:為完成這次課程設(shè)計我們確實很辛苦,但苦中仍有樂。對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶!通過本次課程設(shè)計,鞏固了我們學(xué)習(xí)過的專業(yè)知識,也使我們把理論與實踐從真正意義上結(jié)合起來,考驗我們借助互聯(lián)網(wǎng)搜集查閱相關(guān)文獻資料,和組織材料的綜合能力,從中可以自我檢驗,認(rèn)識到自己哪方面欠缺不足,以便于日后學(xué)習(xí)中的改進、提高,對EDA中功能實現(xiàn)電路有了更進一步的了解,并對硬件的調(diào)試掌握的熟練。感謝老師給了我們這次機會以及對我們的指導(dǎo),在以后的學(xué)習(xí)中我們會更加的努力學(xué)習(xí)專業(yè)知識,并與實踐進行結(jié)合,更好的學(xué)好自己的專業(yè)。在整個過程中我們的指導(dǎo)老師起著舉足輕重的作用,老師的嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度是我們成功的前提,這次課程設(shè)計我得到了各位老師和同學(xué)們的精心指導(dǎo)和幫助,在此表示衷心的感謝。參考文獻潘松,黃繼業(yè).《EDA技術(shù)與VHDL》(第三版)北京:清華大學(xué)出版社楊曉慧,楊旭.《FPGA系統(tǒng)設(shè)計與實例》北京:人民郵電出版社王振江.《FPGA開發(fā)與應(yīng)用》北京:清華大學(xué)出版社宋烈武,等.EDA計數(shù)實用教程?湖北科學(xué)計數(shù)出版社,2006顧斌.數(shù)字電路EDA設(shè)計.西安電子科技大學(xué)出版社,2004李國洪,等.可編程器件EDA設(shè)計與實踐,機械工業(yè)出版社,2004附錄頂層文件源程序libraryieee;--qiangdauseieee.std_logic_1164.all;entityqiyiisport(a,b,c,d,rst,clk,en:instd_logic;state:bufferstd_logic_vector(3downto0);ring:outstd_logic);endqiyi;architecturebehofqiyiissignalst:std_logic_vector(3downto0);beginprocess(a,b,c,d,en,rst,clk)beginif(rst='1')thenring<='0';st<="0000";elsif(en='1')thenif(clk'eventandclk='1')thenif(a='1'orst(0)='1')andnot(st(1)='1'orst(2)='1'orst(3)='1')thenst(0)<='1';ring<='1';endif;if(b='1'orst(1)='1')andnot(st(0)='1'orst(2)='1'orst(3)='1')thenst(1)<='1';ring<='1';endif;if(c='1'orst(2)='1')andnot(st(0)='1'orst(1)='1'orst(3)='1')thenst(2)<='1';ring<='1';endif;if(d='1'orst(3)='1')andnot(st(0)='1'orst(1)='1'orst(2)='1')thenst(3)<='1';ring<='1';endif;endif;endif;endprocess;process(st)beginif(st="0000")thenstate<="0000";elsif(st="0001")thenstate<="0001";elsif(st="0010")thenstate<="0010";elsif(st="0100")thenstate<="0011";elsif(st="1000")thenstate<="0100";endif;endprocess;endbeh; jishi libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityqiangisport(rst,lad,clk,en1,stop:instd_logic;ta,tb:instd_logic;warn:outstd_logic;digit1:outintegerrange0to9;digit2:outintegerrange0to9);endqiang;architecturebehofqiangissignalda:integerrange0to9;signaldb:integerrange0to9;beginprocess(ta,rst)beginif(rst='1')thenda<=9;elsif(ta'eventandta='1')thenif(lad='1')thenif(da=0)thenda<=9;elseda<=da-1;endif;endif;endif;endprocess;process(tb,rst)beginif(rst='1')thendb<=5;elsif(tb'eventandtb='1')thenif(lad='1')thenif(db=0)thendb<=9;elsedb<=db-1;endif;endif;endif;endprocess;process(rst,clk,en1,stop)variabletemp1:integerrange0to9;variabletemp2:integerrange0to9;variableco:std_logic;beginif(rst='1'orstop='1')thentemp1:=9;temp2:=5;co:='0';elsif(clk'eventandclk='1')thenif(en1='1')thentemp1:=da;temp2:=db;elsif(temp1=0)thenif(temp2=0)thentemp1:=0;co:='1';elsetemp1:=9;endif;if(temp2=0)thentemp2:=0;elsetemp2:=temp2-1;endif;elsetemp1:=temp1-1;endif;endif;digit1<=temp1;digit2<=temp2;warn<=co;endprocess;endbeh; jifen libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjiisport(rst2,clk,en,add:instd_logic;state:instd_logic_vector(3downto0);a_out,b_out,c_out,d_out:bufferstd_logic_vector(3downto0));endji;architecturebehofjiisbeginprocess(rst2,clk,en,add,state,a_out,b_out,c_out,d_out)beginif(rst2='1')thena_out<="0101";b_out<="0101";c_out<="0101";d_out<="0101";elsif(en='1')thenif(clk'eventandclk='1')thencasestateiswhen"0001"=>if(add='1')thenif(a_out="1111")thena_out<="0000";elsea_out<=a_out+1;endif;elsif(add='0')thenif(a_out="0000")thena_out<="0000";elsea_out<=a_out-1;endif;endif;when"0010"=>if(add='1')thenif(b_out="1111")thenb_out<="0000";elseb_out<=b_out+1;endif;elsif(add='0')thenif(b_out="0000")thenb_out<="0000";elseb_out<=b_out-1;endif;endif;when"0011"
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024運輸合同書格式正規(guī)范本
- 2025年度智慧社區(qū)物業(yè)管理系統(tǒng)承包合同范本4篇
- 2024食品行業(yè)供應(yīng)鏈管理供貨合同范本3篇
- 2025年度住宅小區(qū)車輛收費員雇傭合同材料3篇
- 2024銀杏樹苗圃基地設(shè)施租賃與苗木采購合同3篇
- 2025年度智能化場消防系統(tǒng)升級改造維修工程合同4篇
- 2025年度新型智能車位買賣合同規(guī)范4篇
- 2025年度新能源汽車生產(chǎn)車間承包合作框架協(xié)議4篇
- 2025年度數(shù)據(jù)中心機房租賃及維護服務(wù)合同4篇
- 2025年度水庫環(huán)境保護與承包服務(wù)協(xié)議4篇
- 2025年度土地經(jīng)營權(quán)流轉(zhuǎn)合同補充條款范本
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 0的認(rèn)識和加、減法(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版(2024)001
- 重癥患者家屬溝通管理制度
- 醫(yī)院安全生產(chǎn)治本攻堅三年行動實施方案
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
- 工程項目合作備忘錄范本
- 信息安全意識培訓(xùn)課件
- Python試題庫(附參考答案)
評論
0/150
提交評論