![基于FPGA的音樂流水燈設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/30/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc1.gif)
![基于FPGA的音樂流水燈設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/30/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc2.gif)
![基于FPGA的音樂流水燈設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/30/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc3.gif)
![基于FPGA的音樂流水燈設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/30/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc4.gif)
![基于FPGA的音樂流水燈設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/30/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc/03673ff8-d265-4dfa-ab44-6a5cdcb4cacc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 西 安 郵 電 大 學(xué) 畢 業(yè) 設(shè) 計(jì)(論 文)題 目: 基于FPGA的音樂流水燈設(shè)計(jì) 畢業(yè)設(shè)計(jì)(論文)誠信聲明書本人聲明:本人所提交的畢業(yè)論文基于FPGA的音樂流水燈設(shè)計(jì)是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立研究、寫作的成果,論文中所引用他人的文獻(xiàn)、數(shù)據(jù)、圖件、資料均已明確標(biāo)注;對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式注明并表示感謝。本人完全清楚本聲明的法律后果,申請學(xué)位論文和資料若有不實(shí)之處,本人愿承擔(dān)相應(yīng)的法律責(zé)任。論文作者簽名: 時(shí)間: 年 月 日指導(dǎo)教師簽名: 時(shí)間: 年 月 日西 安 郵 電 大 學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)生姓名付道文指導(dǎo)教師陰亞芳職稱教授學(xué) 院電子工程學(xué)院
2、系 部電子與信息工程專 業(yè) 電 子信 息工 程題 目基于FPGA的音樂流水燈設(shè)計(jì)任務(wù)與要求通過FPGA實(shí)現(xiàn)音樂流水燈的控制,將不同音階與特定頻率的方波信號對應(yīng)起來,以方波信號驅(qū)動(dòng)蜂鳴器發(fā)出音樂,再根據(jù)不同音階來控制流水燈的閃爍。要求:1. 掌握對應(yīng)FPGA芯片的內(nèi)部結(jié)構(gòu)及引腳功能;2. 設(shè)計(jì)音樂流水燈控制系統(tǒng),包括播放、控制模塊;3存儲2首樂曲,設(shè)計(jì)相應(yīng)程序,通過仿真實(shí)現(xiàn)系統(tǒng)功能。專 業(yè): 電子信息工程 題 目:_ 基于FPGA的音樂流水燈設(shè)計(jì) 工作進(jìn)程起止時(shí)間 工 作 內(nèi) 容2013年3月4日 3月18日 查閱資料,撰寫開題報(bào)告;2013年3月19日 4月4日 掌握Verilog語言以及FP
3、GA硬件的相關(guān)知識;2013年4月5日 4月30日 基于quartus2軟件使用Verilog語言進(jìn)行編程, 注意語言的轉(zhuǎn)換,二進(jìn)制轉(zhuǎn)換成十六進(jìn)制(不同 音階與特定頻率的方波信號對應(yīng))2013年5月1日 5月14日 設(shè)計(jì)相應(yīng)程序,通過quartus2仿真實(shí)現(xiàn)系統(tǒng)功 能2013年5月15日 6月6日 撰寫論文,準(zhǔn)備答辯;2013年6月7日 6月14日 畢業(yè)答辯。主要參考書目(資料):1. Verilog系統(tǒng)設(shè)計(jì)教程2. 數(shù)字信號處理的FPGA實(shí)現(xiàn)主要儀器設(shè)備及材料:1. 計(jì)算機(jī)及其耗材2. 仿真軟件論文(設(shè)計(jì))過程中教師的指導(dǎo)安排:每周五下午匯報(bào)本周工作,安排下周任務(wù);隨機(jī)進(jìn)入機(jī)房檢查并指導(dǎo);每
4、位同學(xué)兩周講一次所作內(nèi)容;畢業(yè)設(shè)計(jì)后期增加指導(dǎo)次數(shù);平時(shí)有問題隨時(shí)打 或發(fā)郵件指導(dǎo)。對計(jì)劃的說明: 指導(dǎo)教師簽字:西安郵電大學(xué)畢業(yè)設(shè)計(jì)(論文)開題報(bào)告課題名稱: 基于FPGA的音樂流水燈設(shè)計(jì) 電子工程 學(xué)院 電子信息工程 系(部) 電子信息工程 專業(yè) 電子 班學(xué)生姓名: 付 學(xué)號: 0 指導(dǎo)教師: 報(bào)告日期: 1 本課題所涉及的問題及應(yīng)用現(xiàn)狀綜述FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服
5、了原有可編程器件門電路數(shù)有限的缺點(diǎn)。眾所周知,現(xiàn)今的娛樂場所都少不了由LED、蜂鳴器等小器件組成的電子設(shè)備,本課題研究的問題就能夠完全實(shí)現(xiàn)這些功能?!盎贔PGA的音樂流水燈設(shè)計(jì)”也可以應(yīng)用于玩具、小車等,發(fā)出悅耳的音樂和顯示炫目的光亮,還可以應(yīng)用于大型電子系統(tǒng)中的顯示部分,實(shí)現(xiàn)良好的人機(jī)操作界面。當(dāng)然,用FPGA實(shí)現(xiàn)音樂流水燈有多種方法,有用HDL語言描述的組合、時(shí)序邏輯電路來實(shí)現(xiàn),更高級一點(diǎn)的就是在FPGA的NIOS處理器來完成?;贔PGA的大型電子系統(tǒng)都需要通過LED或是蜂鳴器來檢測系統(tǒng)的正確性,所以本課題所研究的就可以無縫地嵌入到FPGA系統(tǒng)中、2本課題需要重點(diǎn)研究的關(guān)鍵問題、解決的
6、思路及實(shí)現(xiàn)預(yù)期目標(biāo)的可行性分析關(guān)鍵問題:1:FPGA芯片內(nèi)部硬件工作原理2:音樂播放的基本原理3:verilog語言編程部分解決的思路:首先應(yīng)該熟悉FPGA內(nèi)部硬件的工作原理和音樂播放的基本原理,如果按下鍵,再利用外部按鍵傳遞信號給FPGA,這些信號可以實(shí)現(xiàn)音樂的播放和控制,F(xiàn)PGA解析按鍵傳遞過來的信號,再通過FPGA內(nèi)部的延時(shí),使得蜂鳴器所對應(yīng)的的FPGA芯片端口輸出高低電平的持續(xù)時(shí)間與音樂的音階相對應(yīng),這就達(dá)到蜂鳴器發(fā)出預(yù)定的聲音,同理可以點(diǎn)亮相應(yīng)LED。實(shí)現(xiàn)預(yù)期目標(biāo)的可行性分析:通過對相關(guān)原理的理解,F(xiàn)PGA工作原理的理解,通過按下不同的按鍵,來選定指定要播放的歌曲,同時(shí)FPGA控制L
7、ED閃爍。通過硬件和軟件的的協(xié)調(diào),來完成本課題。3完成本課題的工作方案1. 3月19日 4月4日: 掌握Verilog語言以及FPGA硬件的相關(guān)知識;2. 4月5日 4月30日: 基于QuartusII軟件使用Verilog語言進(jìn)行編程,注意 語言的轉(zhuǎn)換,二進(jìn)制轉(zhuǎn)換成十六進(jìn)制(不同音階與特定頻率的方波信號對應(yīng));3. 5月1日 5月14日: 設(shè)計(jì)相應(yīng)程序,通過quartus2仿真實(shí)現(xiàn)系統(tǒng)功能4. 4月28日-5月30日: 撰寫論文,準(zhǔn)備答辯;5. 6月1日-6月29日: 畢業(yè)答辯。4指導(dǎo)教師審閱意見指導(dǎo)教師(簽字): 2013年 3 月 13 日西安郵電大學(xué)畢業(yè)設(shè)計(jì) (論文)成績評定表學(xué)生姓名
8、付道文性別男學(xué)號05091038專 業(yè)班 級電子0902班課題名稱基于FPGA的音樂流水燈課題類型畢業(yè)設(shè)計(jì)難度難畢業(yè)設(shè)計(jì)(論文)時(shí)間2013.3.42013.6.14 指導(dǎo)教師陰亞芳(職稱 教授 )課題任務(wù)完成情況論文 (千字); 設(shè)計(jì)、計(jì)算說明書 (千字); 圖紙 (張);其它(含附件):指導(dǎo)教師意見分項(xiàng)得分:開題調(diào)研論證 分; 課題質(zhì)量(論文內(nèi)容) 分; 創(chuàng)新 分;論文撰寫(規(guī)范) 分; 學(xué)習(xí)態(tài)度 分; 外文翻譯 分指導(dǎo)教師審閱成績:指導(dǎo)教師(簽字): 年 月 日評閱教師意見分項(xiàng)得分:選題 分; 開題調(diào)研論證 分; 課題質(zhì)量(論文內(nèi)容) 分; 創(chuàng)新 分;論文撰寫(規(guī)范) 分; 外文翻譯 分
9、評閱成績: 評閱教師(簽字): 年 月 日驗(yàn)收小組意見分項(xiàng)得分:準(zhǔn)備情況 分; 畢業(yè)設(shè)計(jì)(論文)質(zhì)量 分; (操作)回答問題 分驗(yàn)收成績: 驗(yàn)收教師(組長)(簽字): 年 月 日答辯小組意見分項(xiàng)得分:準(zhǔn)備情況 分; 陳述情況 分; 回答問題 分; 儀表 分答辯成績: 答辯小組組長(簽字): 年 月 日成績計(jì)算方法指導(dǎo)教師成績 20 () 評閱成績 30 () 驗(yàn)收成績 20 () 答辯成績 30 ()學(xué)生實(shí)得成績(百分制)指導(dǎo)教師成績 評閱成績 驗(yàn)收成績 答辯成績 總評 答辯委員會(huì)意見畢業(yè)論文(設(shè)計(jì))總評成績(等級):學(xué)院答辯委員會(huì)主任(簽字): 學(xué)院(簽章) 年 月 日備注 目錄摘要.IAB
10、STRACII1引言12可編程邏輯器件及FPGA介紹22.1可編程邏輯器件簡介.22.2 FPGA簡介.33 Verilog HDL語言介紹44 QuartusII開發(fā)環(huán)境和Modelsim10.0仿真軟件介紹54.1 QuartusII軟件介紹.54.2 Modelsim10.0軟件介紹.65 設(shè)計(jì)Verilog HDL代碼和Modelsim仿真結(jié)果分析65.1 頂層模塊.65.2 復(fù)位模塊.85.3 按鍵模塊105.4 核心模塊125.5 流水燈模塊225.6 數(shù)碼管模塊255.7 蜂鳴器模塊335.8 簡單的testbench測試代碼355.9 Verilog HDL代碼綜合編譯報(bào)告37
11、結(jié)論39致謝40參考文獻(xiàn)41譯文42摘要 FPGA器件的應(yīng)用是繼單片機(jī)之后,當(dāng)今嵌入式系統(tǒng)開發(fā)中最為熱門的關(guān)鍵技術(shù)之一,在國內(nèi)也有著很廣泛的應(yīng)用群體,相比于單片機(jī)開發(fā)而言,基于FPGA的開發(fā)設(shè)計(jì)與以往的軟件或硬件開發(fā)有著很大的不同,Verilog HDL或VHDL等硬件描述語言的使用也有著很多的技巧和方法。 Verilog HDL語言是一門標(biāo)準(zhǔn)的硬件設(shè)計(jì)語言,它適合于電子系統(tǒng)設(shè)計(jì)的所有階段。由于它容易被機(jī)器和人工閱讀,因此它支持硬件設(shè)計(jì)的開發(fā)、驗(yàn)證、綜合、測試以及硬件設(shè)計(jì)數(shù)據(jù)的交流,便于書寫、維護(hù)、修改和最終硬件電路的獲得。Verilog HDL語言具有簡單、直觀和高效的特點(diǎn)。在各種設(shè)計(jì)工具(
12、如仿真驗(yàn)證、時(shí)序分析、測試分析和綜合)里面,它采用標(biāo)準(zhǔn)的文本格式,具有多層次的抽象。由于具有以上這些特點(diǎn),Verilog HDL語言已經(jīng)被絕大多數(shù)的IC設(shè)計(jì)者所采用。 本文著力介紹通過FPGA來實(shí)現(xiàn)音樂流水燈。在FPGA內(nèi)部存有兩首音樂,通過四個(gè)外部按鍵可以控制音樂的播放、暫停、切換和停止,流水燈點(diǎn)亮的個(gè)數(shù)代表當(dāng)前播放的音階,數(shù)碼管顯示音階的頻率,同時(shí)蜂鳴器發(fā)出悅耳的音樂。關(guān)鍵詞:FPGA Verilog HDL 音樂 流水燈 數(shù)碼管ABSTRACTAfter application of FPGA device is the single chip microcomputer, and to
13、day the most popular one of the key technologies in embedded system development, also has a widespread application in domestic group, compared with the single chip microcomputer development, the development of design based on FPGA with past software or hardware development is a big difference, Veril
14、og or VHDL hardware description language HDL cholesterol also has a lot of the use of techniques and methods.Verilog HDL language is a language of standard hardware design, it is suitable for all stages of electronic system design. Since it is easy to machine and artificial reading, so that it suppo
15、rts the development of hardware design, validation, integration, testing, and the hardware design of data communication, easy to write, maintain, modify, and finally the hardware circuit. Verilog HDL language has the characteristics of simple, intuitive and efficient. In various design tools (such a
16、s simulation, time series analysis, testing analysis and synthesis), it USES a standard text format, with multiple layers of abstraction. Because of these characteristics, Verilog HDL language has been adopted by the majority of the IC designers.This article emphatically introduced by FPGA to realiz
17、e music flowing water light. Inside the FPGA has two music songs, through four external keys can control the music play, pause, and stop switch, water lights up the number of scales that represent the current playback, digital tube display frequency of the scale, at the same time buzzer sends out th
18、e sweet music.Key Words: FPGA Verilog HDL music. water lights digital tube1引言FPGA(FieldProgrammable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。眾所周知,現(xiàn)今的娛樂場所都少不了由LED、蜂鳴器等小器件組成的電子設(shè)備,本課題研究的問題就能夠完全實(shí)現(xiàn)這些功能?!盎贔PGA的音樂流水燈設(shè)計(jì)”也可以應(yīng)用于玩
19、具、小車等,發(fā)出悅耳的音樂和顯示炫目的光亮,還可以應(yīng)用于大型電子系統(tǒng)中的顯示部分,實(shí)現(xiàn)良好的人機(jī)操作界面。當(dāng)然,用FPGA實(shí)現(xiàn)音樂流水燈有多種方法,有用HDL語言描述的組合、時(shí)序邏輯電路來實(shí)現(xiàn),更高級一點(diǎn)的就是在FPGA的NIOS處理器來完成?;贔PGA的大型電子系統(tǒng)都需要通過LED或是蜂鳴器來檢測系統(tǒng)正確性,所以本課題所研究的就可以無縫地嵌入到FPGA系統(tǒng)中。2可編程邏輯器件及FPGA介紹2.1可編程邏輯器件簡介 多年來,人們設(shè)計(jì)數(shù)字電路系統(tǒng)都是使用標(biāo)準(zhǔn)的數(shù)字集成電路芯片,如74/54 系列(TTL)、4000/4500系列(CMOS)等,根據(jù)設(shè)計(jì)的功能從這些標(biāo)準(zhǔn)的芯片中進(jìn)行選擇,然后搭建
20、成一個(gè)完整的數(shù)字電路應(yīng)用系統(tǒng)。使用這種方法設(shè)計(jì)出來的系統(tǒng),不僅芯片數(shù)量多、印板面積大,而且可靠性差,毫無設(shè)計(jì)的靈活性可言。 可編程邏輯器件PLD( ProgrammableLogicDevice)出現(xiàn)后,改變了人們的傳統(tǒng)設(shè)計(jì)方法,可以直接使用PLD芯片進(jìn)行數(shù)字電路系統(tǒng)的設(shè)計(jì)。例如,可以直接設(shè)計(jì)芯片內(nèi)部的數(shù)字邏輯并定義輸入/輸出引腳等,從原來的印板級設(shè)計(jì)上升到芯片級設(shè)計(jì)。由于PLD設(shè)計(jì)時(shí)引腳定義非常靈活,不僅降低了電路原理和印板設(shè)計(jì)的難度,提高了設(shè)計(jì)效率,而且大大減少了芯片的數(shù)量和種類,縮小了印板面積,降低了功耗,并極大地提高了系統(tǒng)工作的可靠性。 可編程邏輯器件是20世紀(jì)70年代發(fā)展起來的一種新
21、型器件,它給數(shù)字系統(tǒng)的設(shè)計(jì)方式帶來了革命性的變化。PLD器件最早是20世紀(jì)70年代中期出現(xiàn)的可編程邏輯陣列PLA(ProgrammableLogicArray),PLA 在結(jié)構(gòu)上由可編程的與陣列和可編程的或陣列構(gòu)成,陣列規(guī)模比較小,編程也很煩瑣,并沒有得到廣泛應(yīng)用。隨后出現(xiàn)了可編程陣列邏輯PAL(ProgrammableArrayLogic),PAL由可編程的與陣固定的或陣列組成,采用熔絲編程方式,它的設(shè)計(jì)比較靈活,器件速度快,因而成為第一個(gè)得到普遍應(yīng)用的PLD器件。20世紀(jì)80年代初,Lattice公司發(fā)明了通用陣列邏GAL(GenericArray Logic)。GAL器件采用了輸出邏輯宏
22、單元(OLMC)的結(jié)構(gòu)和EEPROM 工藝,具有可編程、可擦除、可長期保持?jǐn)?shù)據(jù)的優(yōu)點(diǎn),使用靈活,所以GAL得到了極為廣泛的應(yīng)用,迄今還在大量使用。80年代中期,Altera公司推出了一種新型的可擦除、可編程的邏輯器件EPLD(ErasableProgrammableLogicDevice),EPLD采用CMOS和UVEPROM 工藝制成,集成度更高,設(shè)計(jì)也更靈活,但它的內(nèi)部連線功能并不是很強(qiáng)。EPLD經(jīng)Lattice公司改進(jìn)后就成為CPLD(Complex Programmable Logic Device),即復(fù)雜可編程邏輯器件,采用EEPROM 工藝制作。與EPLD 相比,CPLD 增強(qiáng)了
23、內(nèi)部連線,對邏輯宏單元和I/O 單元也有重大的改進(jìn),它的性能更好,使用更方便。并且,現(xiàn)在的大部分CPLD都具備在系統(tǒng)編程(ISP)功能。CPLD是當(dāng)前的主流PLD器件之一。1985年,Xilinx公司推出了現(xiàn)場可編程門陣列FPGA,這是一種采用單元型結(jié)構(gòu)的新型PLD器件。它采用CMOS的SRAM 工藝制作,在結(jié)構(gòu)上和陣列型PLD不同,它的內(nèi)部由許多獨(dú)立的可編程邏輯單元構(gòu)成,各邏輯單元之間可以靈活地相互連接,具有密度高、速度快、編程靈活、可重新配置等優(yōu)點(diǎn),FPGA 也是當(dāng)前主流的PLD器件之一。2.2FPGA簡介2.2.1 FPGA介紹 FPGA是Fild Programmable Gate A
24、rray的縮寫,即現(xiàn)場可編程邏輯陣列。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來的新型高性能可編程邏輯器件,他一般采用SRAM工藝,也有一些專用器件采用Flash工藝或反熔絲(Anti-Fuse)工藝等,F(xiàn)PGA的集成度很高,其器件密度從萬系統(tǒng)門到數(shù)千萬系統(tǒng)門不等,可以完成及其復(fù)雜的時(shí)序與組合邏輯電路功能,適用于高速,高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元、基本可編程邏輯單元,嵌入式塊RAM,豐富的布線資源、底層嵌入功能單元,內(nèi)嵌專用硬核,F(xiàn)PGA的主要器件供應(yīng)商有Xilinx、Alera、Lattice、Actel和Atmel等。2.2.2 FPGA發(fā)展趨勢
25、 可編程邏輯器件的發(fā)展歷史可編程邏輯器件的發(fā)展可以劃分為4 個(gè)階段,即從20 世紀(jì)70 年代初到70 年代中為第1 階段,20 世紀(jì)70 年代中到80 年代中為第2 階段,20 世紀(jì)80 年代到90 年代末為第3 階段,20 世紀(jì)90 年代末到目前為第4 階段。 第1 階段的可編程器件只有簡單的可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM) 和電可擦只讀存儲器(EEPROM)3 種,由于結(jié)構(gòu)的限制,它們只能完成簡單的數(shù)字邏輯功能。 第2 階段出現(xiàn)了結(jié)構(gòu)上稍微復(fù)雜的可編程陣列邏輯(PAL) 和通用陣列邏輯(GAL) 器件,正式被稱為PLD,能夠完成各種邏輯運(yùn)算功能。典型的PL
26、D 由“與”、“非”陣列組成,用“與或”表達(dá)式來實(shí)現(xiàn)任意組合邏輯,所以PLD 能以乘積和形式完成大量的邏輯組合。 第3 階段賽靈思和Altera 分別推出了與標(biāo)準(zhǔn)門陣列類似的FPGA 和類似于PAL 結(jié)構(gòu)的擴(kuò)展性CPLD,提高了邏輯運(yùn)算的速度,具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn),兼容了PLD 和通用門陣列的優(yōu)點(diǎn),能夠?qū)崿F(xiàn)超大規(guī)模的電路,編程方式也很靈活,成為產(chǎn)品原型設(shè)計(jì)和中小規(guī)模( 一般小于10000) 產(chǎn)品生產(chǎn)的首選。這一階段,CPLD、FPGA 器件在制造工藝和產(chǎn)品性能都獲得長足的發(fā)展,達(dá)到了0.18 工藝和系數(shù)門數(shù)百萬門的規(guī)模。 第4 階段出現(xiàn)了SOPC 和SOC
27、技術(shù),是PLD 和ASIC 技術(shù)融合的結(jié)果,涵蓋了實(shí)時(shí)化數(shù)字信號處理技術(shù)、高速數(shù)據(jù)收發(fā)器、復(fù)雜計(jì)算以及嵌入式系統(tǒng)設(shè)計(jì)技術(shù)的全部內(nèi)容。賽靈思和Altera 也推出了相應(yīng)SOCFPGA 產(chǎn)品,制造工藝達(dá)到65nm ,系統(tǒng)門數(shù)也超過百萬門。并且,這一階段的邏輯器件內(nèi)嵌了硬核高速乘法器、Gbits 差分串行接口、時(shí)鐘頻率高達(dá)500MHz 的PowerPC 微處理器、軟核MicroBlaze、Picoblaze、Nios 以及NiosII,不僅實(shí)現(xiàn)了軟件需求和硬件設(shè)計(jì)的完美結(jié)合,還實(shí)現(xiàn)了高速與靈活性的完美結(jié)合,使其已超越了ASIC 器件的性能和規(guī)模,也超越了傳統(tǒng)意義上FPGA 的概念,使PLD 的應(yīng)用范
28、圍從單片擴(kuò)展到系統(tǒng)級。未來,賽靈思高層透露,該公司正在研制采用全新工藝的新型FPGA,這種FPGA 將集成更大的存儲單元和其他功能器件,F(xiàn)PGA正向超級系統(tǒng)芯片的方向發(fā)展! 2 月5 日,賽靈思發(fā)布了采用40nm 和45nm 的Spartan 6 和Virtex 6FPGA 系列,并開啟了目標(biāo)設(shè)計(jì)平臺這一新的設(shè)計(jì)理念,相信FPGA 的應(yīng)用會(huì)得到更大的發(fā)展!3 Verilog HDL語言介紹硬件描述語言(Hardware Description Language)是硬件設(shè)計(jì)人員和電子設(shè)計(jì)自動(dòng)化(EDA)工具之間的界面其主要目的是用來編寫設(shè)計(jì)文件建立電子系統(tǒng)行為級的仿真模型即利用計(jì)算機(jī)的巨大能力對
29、用Verilog HDL或VHDL建模的復(fù)雜數(shù)字邏輯進(jìn)行仿真然后再自動(dòng)綜合以生成符合要求且在電路結(jié)構(gòu)上可以實(shí)現(xiàn)的數(shù)字邏輯網(wǎng)表(Netlist),根據(jù)網(wǎng)表和某種工藝的器件自動(dòng)生成具體電路然后生成該工藝條件下這種具體電路的延時(shí)模型仿真驗(yàn)證無誤后用于制造ASIC芯片或?qū)懭隒PLD和FPGA器件中,在EDA技術(shù)領(lǐng)域中把用HDL語言建立的數(shù)字模型稱為軟核Soft Core把用HDL建模和綜合后生成的網(wǎng)表稱為固核(Hard Core)對這些模塊的重復(fù)利用縮短了開發(fā)時(shí)間提高了產(chǎn)品開發(fā)率提高了設(shè)計(jì)效率隨著PC平臺上的EDA工具的發(fā)展,PC平臺上的Verilog HDL和VHDL仿真綜合性能已相當(dāng)優(yōu)越這就為大規(guī)
30、模普及這種新技術(shù)鋪平了道路目前國內(nèi)只有少數(shù)重點(diǎn)設(shè)計(jì)單位和高校有一些工作站平臺上的EDA工具而且大多數(shù)只是做一些線路圖和版圖級的仿真與設(shè)計(jì)只有個(gè)別單位展開了利用Verilog HDL和VHDL模型包括可綜合和不可綜合的進(jìn)行復(fù)雜的數(shù)字邏輯系統(tǒng)的設(shè)計(jì)隨著電子系統(tǒng)向集成。 Verilog HDL是一種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。被建模的數(shù)字系統(tǒng)對象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含
31、響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同一種建模語言。此外, Verilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。Verilog HDL語言不僅定義了語法,而且對每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語言從C編程語言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語言的核心子集非常易于學(xué)習(xí)和使用,這對大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語言足以對從最復(fù)
32、雜的芯片到完整的電子系統(tǒng)進(jìn)行描述。Verilog HDL語言最初是于1983年由Gateway Design Automation 公司為其模擬器產(chǎn)品開發(fā)的硬件建模語言。那時(shí)它只是一種專用語言。由于他們的模擬、仿真器產(chǎn)品的廣泛使用,Verilog HDL 作為一種便于使用且實(shí)用的語言逐漸為眾多設(shè)計(jì)者所接受。在一次努力增加語言普及性的活動(dòng)中, Verilog HDL語言于19 90年被推向公眾領(lǐng)域。Open Verilog International(OVI)是促進(jìn)Verilog發(fā)展的國際性組織。1992年, OVI決定致力于推廣Verilog OVI標(biāo)準(zhǔn)成為IEEE標(biāo)準(zhǔn)。這一努力最后獲得成功,
33、 Verilog 語言于1995年成為IEEE標(biāo)準(zhǔn),稱為IEEE Std13641995。完整的標(biāo)準(zhǔn)在Verilog硬件描述語言參考手冊中有詳細(xì)描述。4QuartusII開發(fā)環(huán)境和Modelsim10.0仿真軟件介紹4.1 QuartusII軟件介紹Quartus II 操作簡單方便,接口人性化,設(shè)計(jì)者很容易上手,且在短時(shí)間內(nèi)就可完成設(shè)計(jì),所以很受工程師的認(rèn)可。受到了業(yè)界的好評,成為市場廣為接納的通用接口。Quartus II具有工作群組的設(shè)計(jì)環(huán)境EDA整合、先進(jìn)的編譯特性和突破臨街的驗(yàn)證環(huán)境,是設(shè)計(jì)能更有效、更完善地規(guī)劃百萬門以上的邏輯門設(shè)計(jì),并加以驗(yàn)證。QuartusII的功能主要有以下幾
34、個(gè)方面: 第一款從FPGA至掩膜器件的完整設(shè)計(jì)工具。Quartus II軟件可在CPLD/FPGA開發(fā)中提供Hard Copy掩膜器件的設(shè)計(jì)性能參數(shù)。設(shè)計(jì)者在實(shí)現(xiàn)最終掩膜器件之前,獲得Hard Copy器件的性能、功耗、邏輯單元布局以及I/O分配。Hard Copy規(guī)則檢查器將對原始設(shè)計(jì)進(jìn)行檢查和校驗(yàn),確保設(shè)計(jì)符合工業(yè)標(biāo)準(zhǔn)設(shè)計(jì)規(guī)則,避免轉(zhuǎn)換出錯(cuò)。Hard Copy文件向?qū)⒆詣?dòng)收集相關(guān)文件信息。交付Altera Hard Cory設(shè)計(jì)中心。使用QuartusII,能夠預(yù)測和驗(yàn)證器件的性能,其性能比同樣的FPGA平均快一半。 前期I/O分配和驗(yàn)證。QuartusII設(shè)計(jì)可以在設(shè)計(jì)文件完成之前進(jìn)行
35、I/O分配和驗(yàn)證。設(shè)計(jì)者不需要重新編譯設(shè)計(jì)來檢查I/O分配的有效性。QuartusII還采用新的分配特性,如何多選信號和一次改變一組信號的屬性,設(shè)計(jì)者更容易建立和管理引腳的分配。 QuartusII芯片編輯器允許設(shè)計(jì)者在完成布局布線之后查看Altera器件的內(nèi)部詳細(xì)結(jié)構(gòu),增量編輯邏輯單元LE和I/O單元的配置和鎖相環(huán)參數(shù)。幾分鐘內(nèi)就可以在器件中實(shí)現(xiàn)這些改變,并保持設(shè)計(jì)其他部分的時(shí)間特性,而不必重新編譯整個(gè)設(shè)計(jì)。 少量修改VHDL或Verilog HDL源文件,用QuartusII或第三方綜合軟件進(jìn)行邏輯綜合之后,新的增量布線特性可以在布局布線過程中把邏輯布局限制在新的或改變的邏輯中。這個(gè)功能把
36、編譯效率實(shí)際平均提高40,同時(shí)不影響以前設(shè)計(jì)優(yōu)化區(qū)域的布局和時(shí)序。 QuartusII設(shè)計(jì)軟件默認(rèn)安裝SOPC Builder,自動(dòng)添加、參數(shù)化和鏈接IP核,包括嵌入式處理器、協(xié)處理器、外設(shè)和用戶定義邏輯。 QuartusII軟件是全新的體系,設(shè)計(jì)流程的主要階段都可獨(dú)立執(zhí)行,這些可執(zhí)行階段接受簡單的命令行參數(shù),易于編寫腳本或從MakeFile運(yùn)行,自動(dòng)啟動(dòng)專門的設(shè)計(jì)流程。 QuartusII支持的第三方工具中,綜合工具包括很多,仿真工具也有很多。4.2. Modelsim10.0軟件介紹 Modelsim仿真工具是Model公司開發(fā)的。它支持Verilog、VHDL以及他們的混合仿真,它可以將
37、整個(gè)程序分步執(zhí)行,使設(shè)計(jì)者直接看到他的程序下一步要執(zhí)行的語句,而且在程序執(zhí)行的任何步驟任何時(shí)刻都可以查看任意變量的當(dāng)前值,可以在Dataflow窗口查看某一單元或模塊的輸入輸出的連續(xù)變化等,比Quartus自帶的仿真器功能強(qiáng)大的多,是目前業(yè)界最通用的仿真器之一。 ModelSim分幾種不同的版本:SE、PE和OEM,其中集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA廠商設(shè)計(jì)工具中的均是其OEM版本。比如為Altera提供的OEM版本是ModelSim-Altera,為Xilinx提供的版本為ModelSim XE. SE版本為最高級版本,在功能和性能方面
38、比OEM版本強(qiáng)很多,比如仿真速度方面,還支持PC 、 UNIX 、 LIUNX混合平臺。5 設(shè)計(jì)Verilog HDL代碼和Modelsim仿真結(jié)果分析 本課題一共分為6個(gè)模塊,分別是:頂層模塊、復(fù)位模塊、按鍵模塊、核心模塊、流水燈模塊和數(shù)碼管模塊,下面一一進(jìn)行解析說明。5.1頂層模塊5.1.1分析頂層模塊代碼module top(clk,rst,key,beep,dat,sec,led);input clk,rst;input 2:0 key;output beep;output 7:0 dat,sec,led;wire 2:0 keyout;wire stop;wire 16:0 cnt;
39、wire rst0;reset i1(.clk(clk),.rst(rst),.rst0(rst0);key i2(.clk(clk),.rst(rst0),.key(key),.keyout(keyout);play i3(.clk(clk),.rst(rst0),.key(keyout), t(cnt),.stop(stop);beep i4(.clk(clk),.rst(rst0),.stop(stop),.count(cnt),.bee(beep);segment i5(.clk(clk),.rst(rst0),.count(cnt),.dat1(dat),.sec1(sec);led
40、 i6(.clk(clk),.rst(rst0),.count(cnt),.led(led);endmodule5.1.2RTL視圖從RTL視圖中,可以清晰地看到6個(gè)模塊。5.1.3總結(jié)頂層模塊輸入信號有系統(tǒng)時(shí)鐘、復(fù)位信號、按鍵鍵值;輸出信號有數(shù)碼管的位選、數(shù)碼管的段選和LED端口。復(fù)位信號經(jīng)過復(fù)位模塊處理,然后分別傳遞給其他的模塊;按鍵通過按鍵模塊進(jìn)行處理,然后把鍵值傳遞給核心模塊;核心模塊根據(jù)鍵值把計(jì)數(shù)值和停止信號傳遞給數(shù)碼管、流水燈和蜂鳴器模塊,這三個(gè)模塊分別作出相應(yīng)的操作。5.2復(fù)位模塊在數(shù)字電路系統(tǒng)里面,無論是大系統(tǒng)還是小一點(diǎn)的系統(tǒng),復(fù)位模塊都是必不可少的,以防止FPGA運(yùn)行到不是預(yù)
41、期的狀態(tài),按下復(fù)位鍵,便可以回歸到初試狀態(tài),極大地保證了系統(tǒng)的穩(wěn)定性。5.2.1分析復(fù)位模塊代碼module reset(clk,rst,rst0);input clk,rst;/輸入時(shí)鐘信號和復(fù)位按鍵信號output rst0;/輸出處理后的復(fù)位信號reg c1,c2,c3;/分別定義三個(gè)寄存器always(posedge clk)c1<=rst;/在時(shí)鐘的上升沿鎖存鍵值always(posedge clk or negedge c1)/異步復(fù)位,同步釋放beginif(!c1)beginc2<=0;c3<=0;endelsebeginc2<=1'b1;c3&
42、lt;=c2;endendassign rst0=c3;endmodule5.2.2 modelsim仿真結(jié)果5.2.3總結(jié)復(fù)位模塊剛進(jìn)入復(fù)位模塊時(shí),就采用D觸發(fā)器對復(fù)位信號進(jìn)行處理,以防止出現(xiàn)下圖所示的復(fù)位信號抖動(dòng),引發(fā)整個(gè)電路無故地復(fù)位,增強(qiáng)穩(wěn)定性。異步復(fù)位與同步復(fù)位各有優(yōu)劣,F(xiàn)PGA的寄存器有支持異步復(fù)位專用的端口,采用異步復(fù)位無需增加器件的額外資源,但是異步復(fù)位也存在隱患。異步時(shí)鐘域的亞穩(wěn)態(tài)問題同樣存在于異步復(fù)位信號和系統(tǒng)時(shí)鐘信號之間。同步復(fù)位在時(shí)鐘信號clk的上升沿觸發(fā)是進(jìn)行系統(tǒng)是否復(fù)位的判斷,這降低了亞穩(wěn)態(tài)出現(xiàn)的概率,然而它的缺點(diǎn)就在于需要消耗更多的器件資源,無法充分利用專用的復(fù)位
43、端口CLR。由于異步復(fù)位與同步復(fù)位都存在弊端,所以就采用“異步復(fù)位、同步釋放”的方法。5.3按鍵模塊在按鍵按下的10ms中之內(nèi),按鍵信號會(huì)發(fā)生抖動(dòng),如下圖所示:也就是在按下的10ms內(nèi),按鍵信號類似于多次被按下,這是我們不想得到的結(jié)果,為了避免按鍵抖動(dòng),就需要每20ms檢測一次按鍵值。本課題采用的時(shí)鐘頻率是50MHZ,代碼設(shè)計(jì)按鍵消抖模塊是采用每4096(20'hf_ffff),約80ms檢測一次按鍵,這樣就會(huì)消除抖動(dòng)。5.3.1分析按鍵模塊代碼module key(clk,rst,key,keyout);input clk,rst;/時(shí)鐘信號和異步復(fù)位信號輸入input 2:0 ke
44、y;/輸入3個(gè)按鍵output 2:0 keyout;/處理后的按鍵信號reg 2:0 key1,key2;reg 19:0 cnt;always(posedge clk or negedge rst)beginif(!rst)begincnt<=0;key1<=3'b111;endelsebegincnt<=cnt+1;if(cnt=20'hf_ffff)key1<=key;endendalways(posedge clk or negedge rst)beginif(!rst)key2<=3'b111;elsekey2<=key1
45、;endassign keyout0=(key10)&key20;assign keyout1=(key11)&key21;assign keyout2=(key12)&key22;endmodule5.3.2 按鍵模塊仿真結(jié)果5.3.2總結(jié)按鍵模塊消抖是為了避免在按鍵按下或是抬起時(shí)電平劇烈抖動(dòng)帶來的影響。一般來說,軟件消抖的方法是不斷檢測按鍵值,直到按鍵值穩(wěn)定。實(shí)現(xiàn)方法:假設(shè)未按鍵時(shí)輸入1,按鍵后輸入為0,抖動(dòng)時(shí)不定。可以做以下檢測:檢測到按鍵輸入為0之后,延時(shí)20ms,再次檢測,如果按鍵還為0,那么就認(rèn)為有按鍵輸入。延時(shí)的20ms恰好避開了抖動(dòng)期。5.4核心模塊音高
46、與頻率的對應(yīng)關(guān)系| | 1 | 2 | 3 | 4|5 | 6 | 7 |低音 |261.6Hz |293.7Hz |329.6Hz |349.2Hz | 392Hz | 440Hz |493.9Hz | |中音 |523.3Hz |587.3Hz |659.3Hz |698.5Hz | 784Hz | 880Hz |987.8Hz |高音 |1045.5Hz|1174.7Hz|1318.5Hz|1396.9Hz| 1568Hz | 1760Hz |1975.5Hz|樂譜參數(shù):D=F/2K (D:參數(shù),F:時(shí)鐘頻率,K:音高頻率,F(xiàn)=50MHZ)5.4.1分析核心模塊代碼module play
47、(clk,rst,key,cnt,stop);input clk,rst;/時(shí)鐘信號和復(fù)位信號輸入input2:0key;/三個(gè)控制按鍵輸入output 16:0cnt;/輸出蜂鳴器方波信號output stop;/控制聲音輸出reg 16:0count_end;reg stop;reg 7:0 state1;reg 7:0 state2;reg 1:0 state;reg 23:0 count;parameter L_2 = 17'd85121,/低音2L_3 = 17'd75850,/低音3L_5 = 17'd61224, /低音5L_6 = 17'd545
48、45,/低音6L_7 = 17'd50618, /低音7M_1 = 17'd45863,/中音1M_2 = 17'd40865,/中音2M_3 = 17'd36402,/中音3M_5 = 17'd30612,/中音5M_6 = 17'd27273,/中音6H_1 = 17'd22956;/高音1parameterTIME = 12000000;/一個(gè)節(jié)拍約持續(xù)250msalways(posedge clk or negedge rst)beginif(!rst)state<=2'b11;else if(key2)state&
49、lt;=2'b00;else if(key1)state<=2'b01;else if(key0)state<=2'b10;endalways(posedge clk)begin if(state=2'b11)beginstate1<=0;state2<=0;stop<=1;count_end<=0;count<=0;endelse if(state=2'b01)beginstate2 <= 0;stop<=0;if(count < TIME)/一個(gè)節(jié)拍250mscount = count +
50、1'b1;elsebegincount = 4'd0;if(state1 = 8'd140)state1 <= 8'd0;elsestate1 <= state1 + 1'b1;endcase(state1)8'd1,8'd2,8'd3: count_end = L_3;8'd4,8'd5,8'd6: count_end = L_5;8'd7: count_end = L_6;8'd8,8'd9,8'd10: count_end = M_1;8'd11: count_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能家居合租房租合同規(guī)范
- 2025年度太陽能路燈機(jī)電安裝與照明合同
- 給酒店員工表揚(yáng)信15篇
- 2025年度施工現(xiàn)場安全事故應(yīng)急處理合同
- 2025年度老舊小區(qū)改造工程設(shè)計(jì)與施工一體化合同范本
- 2025年度貨運(yùn)車輛交通事故責(zé)任保險(xiǎn)合同范本
- 用戶體驗(yàn)在網(wǎng)絡(luò)直播行業(yè)中的重要性
- 2025年度國際貨運(yùn)代理合同標(biāo)的跨境物流解決方案
- 2025年度港口堆場租賃及裝卸服務(wù)協(xié)議
- 校園科學(xué)教育實(shí)踐中的技術(shù)革新
- 江蘇省2023年對口單招英語試卷及答案
- 易制毒化學(xué)品安全管理制度匯編
- GB/T 35506-2017三氟乙酸乙酯(ETFA)
- GB/T 25784-20102,4,6-三硝基苯酚(苦味酸)
- 特種設(shè)備安全監(jiān)察指令書填寫規(guī)范(特種設(shè)備安全法)參考范本
- 硬筆書法全冊教案共20課時(shí)
- 《長方形的面積》-完整版課件
- PDCA降低I類切口感染發(fā)生率
- 工業(yè)企業(yè)現(xiàn)場監(jiān)測工況核查表
- 沉淀池及排水溝清理記錄表
- 急診急救信息化課件
評論
0/150
提交評論