版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 論文題目: 函數(shù)信號發(fā)生器的FPGA設(shè)計 </p><p> 學(xué) 院: </p><p> 專業(yè)年級: </p><p> 學(xué) 號: </p&
2、gt;<p> 姓 名: </p><p> 指導(dǎo)教師、職稱: </p><p> 2010 年 5 月 16 日</p><p> Design Of Signal Generator based on FPGA</p
3、><p> College: Computer and Information Science </p><p> Specialty and Grade:</p><p> Electronic Information Engineering ,2006 </p><p> Number:
4、 </p><p> Name: </p><p> Advisor: </p><p> Submitted time: May 16, 20
5、10 </p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p> 1 引言- 1 -</p><p> 1.1 編寫函數(shù)信號發(fā)生器的目的及意義- 1 -
6、</p><p> 1.2本設(shè)計的主要內(nèi)容- 2 -</p><p> 2 FPGA概述- 3 -</p><p> 2.1 FPGA技術(shù)的發(fā)展歷程和動向- 3 -</p><p> 2.2 FPGA的設(shè)計方法- 3 -</p><p> 2.3 FPGA的設(shè)計流程- 4 -</p>
7、<p> 2.3.1 基于“自頂向下”設(shè)計方法的FPGA設(shè)計流程- 4 -</p><p> 2.3.2 基于“自頂向下”設(shè)計流程的優(yōu)點- 5 -</p><p> 2.4 VHDL硬件描述語言介紹- 5 -</p><p> 2.4.1 VHDL語言的發(fā)展歷史- 5 -</p><p> 2.4.2 VHDL語言
8、的特點- 6 -</p><p> 2.4.3 VHDL語言的開發(fā)流程- 7 -</p><p> 2.4.4 VHDL語言設(shè)計總結(jié)- 7 -</p><p> 2.5 Quartus II軟件介紹- 9 -</p><p> 2.5.1 Quartus II 概述- 9 -</p><p> 2.
9、5.2 Quartus II的設(shè)計流程- 10 -</p><p> 2.5.3 Quartus II設(shè)計方法- 10 -</p><p> 3 函數(shù)信號發(fā)生器的FPGA設(shè)計- 12 -</p><p> 3.1 三角波信號發(fā)生器的設(shè)計- 12 -</p><p> 3.1.1 三角波的VHDL描述- 12 -</p&
10、gt;<p> 3.1.2 三角波信號發(fā)生器的邏輯電路圖- 13 -</p><p> 3.2 正弦波信號發(fā)生器的設(shè)計- 14 -</p><p> 3.2.1 正弦波的VHDL描述- 14 -</p><p> 3.2.2 正弦波信號發(fā)生器的邏輯電路圖- 17 -</p><p> 3.3 方波信號發(fā)生器的設(shè)
11、計- 18 -</p><p> 3.3.1 方波的VHDL描述- 18 -</p><p> 3.3.2 方波信號發(fā)生器的邏輯電路圖- 20 -</p><p> 3.4 波形選擇模塊的設(shè)計- 20 -</p><p> 3.4.1 波形選擇模塊的VHDL描述- 20 -</p><p> 3.4
12、.2 波形選擇模塊的邏輯電路圖- 22 -</p><p> 3.5 頂層模塊的設(shè)計- 22 -</p><p> 3.5.1 頂層模塊的VHDL描述- 22 -</p><p> 3.5.2 頂層模塊的邏輯電路圖- 24 -</p><p> 4 函數(shù)信號發(fā)生器的仿真結(jié)果及分析- 25 -</p><p
13、> 4.1 三角波信號發(fā)生器的仿真結(jié)果及分析- 25 -</p><p> 4.2 正弦波信號發(fā)生器的仿真結(jié)果及分析- 26 -</p><p> 4.3 方波信號發(fā)生器的仿真結(jié)果及分析- 26 -</p><p> 5 結(jié)束語- 27 -</p><p> 5.1 總結(jié)- 27 -</p><p
14、> 5.2 下一步展望- 27 -</p><p> 參考文獻(xiàn)- 28 -</p><p> 致 謝- 29 -</p><p><b> 摘要</b></p><p> 函數(shù)信號發(fā)生器是各種測試和實驗過程中不可缺少的工具,在通信、測量、雷達(dá)、控制、教學(xué)等領(lǐng)域應(yīng)用十分廣泛。在科技飛速發(fā)展的今天,F(xiàn)P
15、GA在函數(shù)信號發(fā)生器的領(lǐng)域的應(yīng)用已經(jīng)非常普遍。隨著我國經(jīng)濟(jì)和科技的發(fā)展,對相應(yīng)的測試儀器和測試手段也提出了更高的要求,信號發(fā)生器己成為測試儀器中至關(guān)重要的一類,因此開發(fā)信號發(fā)生器具有重大意義。</p><p> 函數(shù)信號發(fā)生器能夠產(chǎn)生正弦波、方波、三角波等等各波形信號,還能夠?qū)⑵渲腥我鈨煞N信號或三種信號疊加產(chǎn)生疊加波形。波形頻率可以調(diào)節(jié),通過撥碼開關(guān)可以選擇波形以不同頻率輸出。輸出的波形信息是8位二進(jìn)制數(shù)字量,
16、可通過D/A期間轉(zhuǎn)換為模擬量后進(jìn)行放大輸出。</p><p> 設(shè)計通過硬件描述語言VHDL來實現(xiàn),并使用 Altera的QuartusII軟件進(jìn)行編譯、調(diào)試與仿真,驗證了函數(shù)信號發(fā)生器完全可以實現(xiàn)預(yù)定的功能。</p><p> 關(guān)鍵詞:函數(shù)信號發(fā)生器;FPGA;VHDL;Quartus II軟件</p><p><b> Abstract</
17、b></p><p> Function signal generator is the most essential tool in all kinds of test and experiment. It is very widely used in communications, measuring, radar, control, teaching etc .In the days of rapi
18、d development of science and technology, FPGA has been prevalently applied in the field of function signal generator . Along with the fast development of economy and science in our country, the corresponding testing inst
19、rument and test method entail higher speed and quality, signal generator has become a vi</p><p> Function signal generator can generate sine wave, triangular, square, etc. various waveform signal, including
20、 superposition waveform produced by any two or three kinds of signals. Because wave frequency is adjustable so dial through code switch it can output different frequency waveform . The output waveform information is 8 bi
21、nary Numbers,also it can be transformed to analog through the D/A to be amplified and then output.</p><p> The design is accomplished by the VHDL hardware description language and use QuartusII software fo
22、r compile, debug and simulation. It is verified to prove that the function signal generator can achieve predetermined function.</p><p> Key words: Function signal generator; FPGA;VHDL; QuartusII software.&
23、lt;/p><p><b> 1 引言</b></p><p> 1.1 編寫函數(shù)信號發(fā)生器的目的及意義</p><p> 函數(shù)信號發(fā)生器是各種測試和實驗過程中不可缺少的工具,在電子工程、通信工程、自動控制、遙測控制、測量儀器、儀表和計算機(jī)等技術(shù)領(lǐng)域,應(yīng)用十分地廣泛;并且在這些技術(shù)領(lǐng)域,經(jīng)常需要用到各種各樣波形的函數(shù)信號發(fā)生器。不論是在生產(chǎn)、
24、科研還是教學(xué)上,信號發(fā)生器都是電子工程師信號仿真實驗的最佳工具,而且,信號發(fā)生器的設(shè)計方法多,設(shè)計技術(shù)也越來越先進(jìn)。隨著集成電路的迅速發(fā)展,用集成電路可很方便地構(gòu)成各種波形的函數(shù)信號發(fā)生器。用集成電路實現(xiàn)的各種波形的函數(shù)信號發(fā)生器與其它各種波形的函數(shù)信號發(fā)生器相比,其波形質(zhì)量、幅度和頻率穩(wěn)定性等性能指標(biāo),都有了很大的提高。</p><p> 同時,隨著我國經(jīng)濟(jì)和科技的發(fā)展,對相應(yīng)的測試儀器和測試手段也提出了更高
25、的要求,信號發(fā)生器己成為測試儀器中至關(guān)重要的一類,因此開發(fā)信號發(fā)生器具有重大意義。但傳統(tǒng)的信號發(fā)生器大多采用專用芯片或單片機(jī)或模擬電路,成本高或控制方式不靈活或波形種類較少等不能滿足要求。</p><p> 函數(shù)信號發(fā)生器能夠產(chǎn)生正弦波、方波、三角波等等各波形信號,還能夠?qū)⑵渲腥我鈨煞N信號或三種信號疊加產(chǎn)生疊加波形。波形頻率可以調(diào)節(jié),通過撥碼開關(guān)可以選擇波形以不同頻率輸出。輸出的波形信息是8位二進(jìn)制數(shù)字量,可通
26、過D/A期間轉(zhuǎn)換為模擬量后進(jìn)行放大輸出。</p><p> 目前我國在研制函數(shù)信號發(fā)生器等方面有可喜的成果。但總的來說,我國函數(shù)信號發(fā)生器還沒有形成真正的產(chǎn)業(yè)。中國在函數(shù)信號發(fā)生器這個產(chǎn)業(yè)的發(fā)展中,出現(xiàn)了很多的問題。如產(chǎn)業(yè)結(jié)構(gòu)不合理、產(chǎn)業(yè)集中于勞動力密集型產(chǎn)品;技術(shù)密集型產(chǎn)品明顯落后于發(fā)達(dá)工業(yè)國家;生產(chǎn)要素決定性作用正在削弱;產(chǎn)業(yè)能源消耗大、產(chǎn)出率低、環(huán)境污染嚴(yán)重、對自然資源破壞力大;企業(yè)總體規(guī)模偏小,技術(shù)創(chuàng)新
27、能力薄弱、管理水平落后等。就目前國內(nèi)的成熟產(chǎn)品來看,核心部分多為專用芯片,存在著成本高、控制不靈活等特點,并且我國目前函數(shù)信號發(fā)生器的種類和性能都與國外同類產(chǎn)品存在著較大的差距。因此,開發(fā)出高性價比的函數(shù)信號發(fā)生器,保持與國外同類產(chǎn)品在性價比上的優(yōu)勢,打破國外技術(shù)壟斷和封鎖,對發(fā)展我國電子產(chǎn)業(yè)有非常重大的意義,具有廣泛的應(yīng)用前景,加緊對這類產(chǎn)品的研制顯得非常緊迫。</p><p> 本課題利用FPGA(File
28、d Programmable Gate Array的縮寫,即現(xiàn)場可編程邏輯門陣列)技術(shù)進(jìn)行設(shè)計;使用超高速集成電路硬件描述語言(VHSIC Hardware Description Language),簡稱VHDL語言實現(xiàn);同時,利用Altera的QuartusII軟件進(jìn)行編程、調(diào)試、仿真,其可提供一個非常容易適應(yīng)特定設(shè)計所需要的完整的多平臺設(shè)計環(huán)境。本設(shè)計驗證了函數(shù)信號發(fā)生器的完全可以實現(xiàn)預(yù)定的功能,具有一定的實用性。</p&g
29、t;<p> 1.2本設(shè)計的主要內(nèi)容</p><p> 在熟悉FPGA設(shè)計相關(guān)知識的基礎(chǔ)上,設(shè)計一種函數(shù)信號發(fā)生器,能穩(wěn)定地產(chǎn)生方波、正弦波、三角波等等各波形,并設(shè)置一個波形選擇開關(guān),通過此開關(guān)可以選擇以上各波形之一并輸出。</p><p> 本設(shè)計采用自上而下的切割重組設(shè)計方法。因此,設(shè)計的第一個步驟就是劃分確定整體的結(jié)構(gòu),將設(shè)計劃分為幾個小塊,然后把這些小塊一一實現(xiàn)
30、,最后再把這些小塊組合起來,實現(xiàn)整個FPGA預(yù)定的功能。同時研究函數(shù)信號發(fā)生器的原理,編寫相應(yīng)的代碼,利用Quartus II軟件工具進(jìn)行仿真調(diào)試。</p><p><b> 2 FPGA概述</b></p><p> 2.1 FPGA技術(shù)的發(fā)展歷程和動向</p><p> FPGA是英文Field Programmable Gate A
31、rray的縮寫,即現(xiàn)場可編程門陣列[9],它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。作為一種可編程邏輯器件,F(xiàn)PGA的出現(xiàn)是可編程邏輯器件發(fā)展變化的必然,它的出現(xiàn)推動著可編程邏輯器件的進(jìn)一步發(fā)展。因此說,了解了可編程邏輯器件的發(fā)展歷程,也就了解了FPGA的發(fā)展歷程。</p><p> 可編程邏輯器件[5](Programmable Logic Device,PLD)是20世紀(jì)70年代發(fā)
32、展起來的一種新型器件。它的應(yīng)用不僅簡化了電路設(shè)計,降低了成本,提高了系統(tǒng)的可靠性,而且給數(shù)字系統(tǒng)的設(shè)計方式帶來了革命性的變化??删幊踢壿嬈骷陌l(fā)展是以微電子制作技術(shù)的不斷進(jìn)步為基礎(chǔ)的,其結(jié)構(gòu)和工藝的變化經(jīng)歷了一個不斷發(fā)展變革的過程。</p><p> 20世紀(jì)70年代,早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)3種。</p
33、><p> 隨后,出現(xiàn)了一類結(jié)構(gòu)稍微復(fù)雜的可編程芯片,即可編程邏輯陣列(Programmable Logic Array,PLA)。PLA在結(jié)構(gòu)上由一個可編程的與陣列和可編程的或陳列構(gòu)成,陣列規(guī)模小,編程過程復(fù)雜繁瑣。PLA既有現(xiàn)場可編程的,也有掩膜可編程的。在這之后出現(xiàn)了可編程陣列邏輯(Programmable Array Logic,PAL)器件。</p><p> 這些早期的PLD器
34、件的一個共同特點是可以實現(xiàn)速度特性較好的邏輯功能,但由于其結(jié)構(gòu)過于簡單,因此,只能用于實現(xiàn)較小規(guī)模的電路設(shè)計。</p><p> 為了彌補這一缺陷,20世紀(jì)80年代中期,著名的可編程邏輯器件廠商Altera和Xilinx分別推出了擴(kuò)展型的復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)和類似于標(biāo)準(zhǔn)門陣列的現(xiàn)場可編程門陣列(Field Programmable G
35、ate Array,F(xiàn)PGA)。</p><p> 如今,F(xiàn)PGA器件已成為當(dāng)前主流的可編程邏輯器件之一。經(jīng)過近20年的發(fā)展,可編程邏輯器件已經(jīng)取得了長足的進(jìn)步,資源更加豐富,使用越來越方便。將來的可編程邏輯器件,密度會更高、速度會更快、功耗會更低,同時還會增加更多新的功能,向著集成了可編程邏輯、CPU、存儲器等組件的可編程單片系統(tǒng)(System On Programmable Chip ,SOPC)方向發(fā)展。
36、</p><p> 2.2 FPGA的設(shè)計方法</p><p> FPGA的常用設(shè)計方法包括“自頂向下”和“自下而上”[6]。目前大規(guī)模FPGA設(shè)計一般選擇“自頂向下”的設(shè)計方法。所謂“自頂向下”設(shè)計方法,簡單地說,就是采用可完全獨立于芯片廠商及其產(chǎn)品結(jié)構(gòu)的描述語言,在功能級對設(shè)計產(chǎn)品進(jìn)行定義,并結(jié)合功能仿真技術(shù),以確保設(shè)計的正確性,在功能定義完成后,利用邏輯綜合技術(shù),把功能描述轉(zhuǎn)換成
37、某一具體結(jié)構(gòu)芯片的網(wǎng)表文件,輸出給廠商的布局布線器進(jìn)行布局布線。布局布線結(jié)果還可反標(biāo)回同一仿真器,進(jìn)行包括功能和時序的后驗證,以保證布局布線所帶來的門延時和線延時不會影響設(shè)計的性能。</p><p> “自頂向下”設(shè)計方法的優(yōu)越性是顯而易見的。首先,由于功能描述可完全獨立于芯片結(jié)構(gòu),在設(shè)計的最初階段,設(shè)計師可不受芯片結(jié)構(gòu)的約束,集中精力進(jìn)行產(chǎn)品設(shè)計,進(jìn)而避免了傳統(tǒng)設(shè)計方法所帶來的重新再設(shè)計風(fēng)險,大大縮短了設(shè)計周
38、期。</p><p> 其次,設(shè)計的再利用得到保證。目前的電子產(chǎn)品正向模塊化方向發(fā)展。所謂模塊化就是對以往設(shè)計成果進(jìn)行修改、組合和再利用,產(chǎn)生全新的或派生設(shè)計。而“自頂向下”設(shè)計方法的功能描述可與芯片結(jié)構(gòu)無關(guān)。因此,可以以一種IP(Intelligence Property 知識產(chǎn)權(quán))的方式進(jìn)行存檔,以便將來重新利用。</p><p> 第三,設(shè)計規(guī)模大大提高。簡單的語言描述即可完成復(fù)
39、雜的功能,而不需要手工繪圖。</p><p> 第四,芯片選擇更加靈活。設(shè)計師可在較短的時間內(nèi)采用各種結(jié)構(gòu)芯片來完成同一功能描述,從而在設(shè)計規(guī)模、速度、芯片價格及系統(tǒng)性能要求等方面進(jìn)行平衡,選擇最佳結(jié)果。目前,最為常用的功能描述方法是采用均已成為國際標(biāo)準(zhǔn)的兩種硬件描述語言VHDL和Veilog HDL。</p><p> 2.3 FPGA的設(shè)計流程</p><p&g
40、t; 2.3.1 基于“自頂向下”設(shè)計方法的FPGA設(shè)計流程</p><p> FPGA開發(fā)采用的是一種高層次設(shè)計方法[4],這是一種“自頂向下”的方法,適應(yīng)了當(dāng)今芯片開發(fā)的復(fù)雜程度提高、上市時間緊迫的特點。</p><p> 這種設(shè)計方法首先從系統(tǒng)設(shè)計入手,在頂層進(jìn)行功能方框的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級進(jìn)行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)進(jìn)行描述,在系統(tǒng)一級(層)進(jìn)行驗
41、證。然后用綜合優(yōu)化工具生成具體門電路的網(wǎng)表,其對應(yīng)的物理實現(xiàn)級(層)可以是印刷電路板或?qū)S眉呻娐贰S捎谠O(shè)計的主要仿真和調(diào)試過程是在高層次上完成的,這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,避免設(shè)計工作的浪費,而且也減少了邏輯功能仿真的工作量,提高了設(shè)計的一次成功率。其設(shè)計流程步驟如下:</p><p> (1)按照“自頂向下”的設(shè)計方法進(jìn)行系統(tǒng)劃分。</p><p> ?。?)輸入VHDL
42、代碼。這是高層次設(shè)計中最為普遍的輸入方式,用任何文本編輯器都可以。此外,還可以采用圖形輸入方式(如框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點。</p><p> ?。?)將以上的設(shè)計輸入編譯成標(biāo)準(zhǔn)的VHDL文件,然后將文件調(diào)入仿真軟件進(jìn)行功能仿真,檢查邏輯功能是否正確。對于大型設(shè)計,進(jìn)行代碼級的功能仿真主要是檢驗系統(tǒng)功能設(shè)計的正確性,因為對于大型設(shè)計,綜合、試配要花費數(shù)小時,在綜合前對源代碼仿真,就可
43、以大大減少設(shè)計重復(fù)的次數(shù)和時間。</p><p> ?。?)利用綜合器對源代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)表文件,即將源文件調(diào)入邏輯綜合軟件進(jìn)行邏輯分析處理。</p><p> (5)如果整個設(shè)計超出器件的宏單元或I/0單元資源,可以將設(shè)計劃分到多片同系列的器件中。</p><p> ?。?)將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PG
44、A中。</p><p> 2.3.2 基于“自頂向下”設(shè)計流程的優(yōu)點</p><p> 基于“自頂向下”設(shè)計流程的優(yōu)點[7]如下:</p><p> ?。?)設(shè)計流程從功能描述開始到物理實現(xiàn)的完成與設(shè)計人員的開發(fā)思路符合,方便設(shè)計人員進(jìn)行開發(fā)。</p><p> ?。?)功能設(shè)計完全獨立于物理實現(xiàn)。</p><p>
45、; (3)設(shè)計再利用較方便。設(shè)計結(jié)果完全可以以一種知識產(chǎn)權(quán)(Intellectual Property,IP)的方式作為設(shè)計成果,應(yīng)用于其他電子產(chǎn)品設(shè)計中,做到設(shè)計成果再利用。</p><p> ?。?)易于設(shè)計的更改。</p><p> ?。?)設(shè)計并處理大規(guī)模、復(fù)雜電路。目前的FPGA器件正向高集成度、深亞微米工藝發(fā)展。為設(shè)計系統(tǒng)的小型化、低功耗、高可靠性等提供了集成的手段。<
46、/p><p> ?。?)設(shè)計周期縮短,生產(chǎn)率大大提高,產(chǎn)品上市時間提前,性能明顯提高,產(chǎn)品競爭力加強(qiáng)。據(jù)統(tǒng)計,采用“自頂向下”設(shè)計流程的生產(chǎn)率可達(dá)到傳統(tǒng)設(shè)計方法的2-4倍。</p><p> FPGA是近幾年集成電路中發(fā)展最快的產(chǎn)品。隨著可編程邏輯器件的高速發(fā)展,可編程邏輯器件將進(jìn)一步擴(kuò)大其領(lǐng)地,向著更高密度和更大容量方向邁進(jìn)。</p><p> 2.4 VHDL硬
47、件描述語言介紹</p><p> 目前,硬件描述語言可謂是百家爭鳴,有VHDL、Superlog、Verilog、SystemC、Cynlib、C++、C Level等。本設(shè)計采用VHDL語言來編寫程序的。</p><p> 2.4.1 VHDL語言的發(fā)展歷史</p><p> VHDL語言的基礎(chǔ)知識與其他高級語言有許多相同之處[1],但因VHDL語言是一種描
48、述硬件電路的語言,故其基礎(chǔ)知識也有自己的特點,如VHDL語言中信號是一種特有的對象。VHDL語言還可以由設(shè)計人員自己定義數(shù)據(jù)類型,這一點也是其他高級語言做不到的。</p><p> 自從硬件描述語言產(chǎn)生以后,眾多EDA公司和科研單位紛紛研制開發(fā)了適應(yīng)自身EDA開發(fā)工具的硬件描述語言。這些硬件描述語言具有很大的差異,并且只能在本公司的EDA開發(fā)工具上使用,這大大限制了硬件描述語言的使用。因些電路設(shè)計人員需要一種強(qiáng)
49、大的面向設(shè)計的多層次、多領(lǐng)域并得到了廣大EDA廠商認(rèn)同的標(biāo)準(zhǔn)化硬件描述語言。</p><p> ?。?)20世紀(jì)70年代末和80年代初,美國國防部提出了VHSIC(Very High Speed Integrated Circuit)計劃,VHSIC計劃的目標(biāo)是為下一代集成電路的生產(chǎn)、實現(xiàn)階段性的工藝極限以及完成10萬門級以上的設(shè)計,建立一項新的描述方法。</p><p> ?。?)198
50、1年,美國國防部提出了一種新的硬件描述語言——超高速集成電路硬件描述語言(VHSIC Hardware Description Language),簡稱VHDL語言。這個語言只是一個使電路文體化的一種標(biāo)準(zhǔn),目的是使文本描述的電路設(shè)計能夠為其他人所理解,同時也可以作為一種模型語言并能采用軟件進(jìn)行模擬。</p><p> ?。?)1986年,IEEE致力于VHDL語言的標(biāo)準(zhǔn)化工作,并成立了一個VHDL語言標(biāo)準(zhǔn)化小組。
51、經(jīng)過多次反復(fù)的修改與擴(kuò)充,直到1987年12月,VHDL語言才被接納為IEEE 1076標(biāo)準(zhǔn)。1988年,Milstd454規(guī)定所有為美國國防部設(shè)計的ASIC產(chǎn)品必須采用VHDL語言來進(jìn)行描述。1993年,IEEE 1076標(biāo)準(zhǔn)被修訂,更新為新的VHDL語言標(biāo)準(zhǔn)IEEE 1164。1996年,IEEE1076.3成為VHDL語言的綜合標(biāo)準(zhǔn)。</p><p> 2.4.2 VHDL語言的特點</p>
52、<p> VHDL語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。但是它也并不是一種完全理想的硬件描述語言。同樣,它也具有一些自身的缺點,或者說VHDL語言還有一些需要不斷完善的地方。圖2-1為VHDL硬件描述語言的優(yōu)缺點對照。</p><p> 圖2-1 VHDL優(yōu)缺點對照</p><p> 2.4.3 VHDL語言的開
53、發(fā)流程</p><p> VHDL語言作為一種標(biāo)準(zhǔn)化的硬件描述語言[3],在對硬件電路進(jìn)行描述的過程中應(yīng)該遵循一定的流程。對于設(shè)計人員來說,掌握VHDL語言的開發(fā)流程圖和開發(fā)步驟是具有普遍指導(dǎo)意義的。采用VHDL語言進(jìn)行硬件電路設(shè)計的流程圖如圖2-2所示。</p><p> 圖2-2 VHDL設(shè)計流程圖</p><p> 2.4.4 VHDL語言設(shè)計總結(jié)<
54、;/p><p> 通過前面對VHDL的學(xué)習(xí),基本掌握了基于FPGA的VHDL語言的設(shè)計方法和理念。以下是基于FPGA的VHDL設(shè)計的一些經(jīng)驗。</p><p> 養(yǎng)成良好的編程習(xí)慣是非常重要的[2],特別是在剛開始學(xué)習(xí)VHDL設(shè)計時,一定要注意編寫代碼的格式和風(fēng)格,這對以后的學(xué)習(xí)和工作都有重大的促進(jìn)意義。</p><p> 良好的編程習(xí)慣就是在滿足功能和性能目標(biāo)的
55、前提下,增強(qiáng)代碼的可讀性、可移植性。良好的代碼編寫風(fēng)格的通則簡要地概括如下:</p><p> ?。?)對所有的信號名、變量名和端口名都用小寫,這樣做是為了和業(yè)界的習(xí)慣保持一致;對常量名和用戶定義的類型用大寫。</p><p> (2)使用有意義的信號名、端口名、函數(shù)名和參數(shù)名。</p><p> ?。?)信號名長度不要太長,要注意簡潔明了。對于超過28個字符的信
56、號名,有些EDA工具不能夠識別,再者太長的信號名也不容易記憶。因此,在描述清楚的前提下,根據(jù)信號本身的功能,盡可能采用較短的信號命名,最好是利用信號功能的英文單詞縮寫來命名。</p><p> ?。?)對于時鐘信號使用clk作為信號名,如果設(shè)計中存在多個時鐘,使用clk作為時鐘信號的前綴,如clk1、clk2、clk_interace等。</p><p> (5)對來自同一驅(qū)動源的信號,
57、在不同的子模塊中采用相同的名字,這要求在芯片總體設(shè)計時就定義好頂層子模塊間連線的名字,端口和連接端口的信號盡可能采用相同的名字。</p><p> ?。?)對于低電平有效的信號,應(yīng)該以一個下劃線跟一個小字母b或n表示(a2b_req_n、a2b_req_b)。注意,在同一個設(shè)計中要使用同一個小寫字母表示低電平有效。</p><p> ?。?)對于復(fù)位信號使用rst作為信號名,如果復(fù)位信號是
58、低電平有效,建議使用rst_n。</p><p> ?。?)盡量遵守業(yè)界已經(jīng)習(xí)慣的一些約定。如*_r表示寄存器輸出,*_a表示異步信號等等一些習(xí)慣的約定。</p><p> (9)在源文件、批處理文件的開始處應(yīng)該包含一個文件頭,文件頭是程序中很重要的一部分,有助于程序閱讀者對程序的理解,提高程序的可讀性。文件頭一般包含如下的內(nèi)容:文件名,設(shè)計者,模塊名,模塊的實現(xiàn)功能概述,使用的仿真軟件
59、以及軟件運行的平臺,使用的綜合工具以及工具運行的平臺,文件創(chuàng)建時間,文件修改時間。</p><p> (10)使用適當(dāng)簡短的語句注釋所有的進(jìn)程、函數(shù)、端口含義、信號含義、變量含義及信號組、變量組的意義等。注釋應(yīng)在代碼附近,要求簡明扼要,只要足夠說明設(shè)計意圖即可,避免過于復(fù)雜。</p><p> ?。?1)每一行語句獨立成行。</p><p> ?。?2)建議采用縮
60、進(jìn)提高續(xù)行和嵌套語句的可讀性。</p><p> ?。?3)在RTL源碼的設(shè)計中任何元素,包括端口、信號變量函數(shù)、任務(wù)、模塊等的命名都不能取Verilog和VHDL的保留字。例如:將輸出端口命名為out,就和VHDL的保留字OUT相同,編譯時就會報錯。</p><p> (14)在進(jìn)行模塊的端口申明時,每行只申明一個端口,并建議采用以下順序:輸入信號的clk、rst、enables ot
61、her control signals、data and adderss signals,然后再申明輸出信號的clk、rst、enables other control signals、data signals。</p><p> (15)在例化模塊時,使用名字顯式映射而不要采用位置相關(guān)的映射,這樣可以提高代碼的可讀性和避免編譯連線錯誤。</p><p> (16)如果同一段代碼要重復(fù)
62、多次,盡可能使用函數(shù),如果有可能,可以將函數(shù)通用化,以使得它可以復(fù)用。</p><p> ?。?7)盡可能使用循環(huán)語句和寄存器組來提高源代碼的可讀性,這樣可以有效地減少代碼行數(shù)。</p><p> ?。?8)代碼編寫時的數(shù)據(jù)類型只使用IEEE定義的標(biāo)準(zhǔn)類型。</p><p> ?。?9)在設(shè)計中不要直接使用數(shù)字,作為例外,可以使用0和1。</p>&l
63、t;p> ?。?0)不要在源代碼中使用嵌入式的dc_shell綜合命令。</p><p> ?。?1)在設(shè)計中避免實例化具體的門級電路。</p><p> 2.5 Quartus II軟件介紹</p><p> 2.5.1 Quartus II 概述</p><p> Quartus II是Altera公司的綜合性PLD開發(fā)軟件[
64、8],支持原理圖、VHDL、Verilog-HDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。</p><p> Altera公司的Quartus II軟件提供完整的多平臺設(shè)計環(huán)境,能夠直接滿足特定的設(shè)計需要,為FPGA/CPLD開發(fā)提供全面的設(shè)計環(huán)境。設(shè)計軟件提供完整的
65、多平臺設(shè)計環(huán)境,能夠直接滿足特定設(shè)計需要,為可編程芯片系統(tǒng)(SOPC)提供全面的設(shè)計環(huán)境。Quartus II軟件含有FPGA和CPLD設(shè)計所有階段的解決方案。在Quartus II軟件中,設(shè)計者可以依照個人偏好,自定義開發(fā)環(huán)境的布局、菜單、命令和圖表等。</p><p> Quartus II的前身——MAX+plus II,雖然是一個非常成功的開發(fā)環(huán)境,但是隨著集成電路的發(fā)展,規(guī)模的飛速擴(kuò)大,MAX+plu
66、s II這種基于底層的開發(fā)環(huán)境越來越不能滿足現(xiàn)在對系統(tǒng)級開發(fā)的要求,隨著用戶要求的不斷提高,Altera公司終于發(fā)布了它的替代產(chǎn)品——Quartus II。</p><p> Quartus II軟件的一些特性及功能如下:</p><p> ?、啪幾g和時序逼近的增強(qiáng)特性。</p><p> ?、茣r序估算迅速提高時序性能。</p><p>
67、?、荢OPC Builder——提高設(shè)計效率。</p><p> ?、菼/O引腳分配和確認(rèn)。</p><p> ?、蒆ardCopy II結(jié)構(gòu)化ASIC HardCopy II移植支持。</p><p><b> ?、蔕S支持。</b></p><p> ?、薗uartus II軟件增加的器件支持。</p>
68、<p> 2.5.2 Quartus II的設(shè)計流程</p><p> 用戶首先對所做項目進(jìn)行設(shè)計[10],明確設(shè)計目的、設(shè)計要求。然后利用原理圖輸入方式或文本輸入方式進(jìn)行設(shè)計輸入。輸入完成后進(jìn)行編譯,若編譯過程中發(fā)現(xiàn)錯誤,則應(yīng)檢查設(shè)計輸入以修改錯誤,直至沒有錯誤產(chǎn)生。編譯完成后進(jìn)行仿真,檢查是否達(dá)到設(shè)計要求,若未達(dá)到要求,需重新檢查設(shè)計輸入及編譯過程,不斷迭代、收斂直至滿足設(shè)計要求。最后將設(shè)計配
69、置到目標(biāo)器件中進(jìn)行硬件驗證與測試。</p><p> Quartus II的設(shè)計流程圖如圖2-3所示。</p><p> 圖2-3 Quartus II的設(shè)計流程圖</p><p> 2.5.3 Quartus II設(shè)計方法</p><p> 在建立新設(shè)計時,應(yīng)重視和考慮Quartus II軟件提供的設(shè)計方法,包括自上而下或自下而上的
70、漸進(jìn)式設(shè)計流程,以及基于模塊的設(shè)計流程。不管是否使用EDA設(shè)計輸入和綜合工具,都可以使用這些設(shè)計流程。</p><p> 自上而下與自下而上的設(shè)計方法比較:</p><p> Quartus II軟件同時支持自上而下和自下而上的編譯過程。在自上而下的編譯過程中,一個設(shè)計人員或工程負(fù)責(zé)人在軟件中對整個設(shè)計進(jìn)行編譯。不同的設(shè)計人員或者IP提供者設(shè)計并驗證設(shè)計的不同部分,工程負(fù)責(zé)人在設(shè)計實體
71、完成后將其加入到工程中。工程負(fù)責(zé)人從整體上編譯并優(yōu)化頂層工程。在設(shè)計中完成的部分得到適配結(jié)果,當(dāng)設(shè)計的其他部分改動時,其性能保持不變。</p><p> 在自下而上的設(shè)計過程中,每個設(shè)計人員在各自的工程中對其設(shè)計進(jìn)行優(yōu)化后,將每一個底層工程集成到一個頂層工程中。漸進(jìn)式編譯提供導(dǎo)出和導(dǎo)入功能來實現(xiàn)這種設(shè)計方法。</p><p> 作為底層模塊設(shè)計人員,可以針對設(shè)計,導(dǎo)出優(yōu)化后的網(wǎng)表和一組
72、分配。然后,工程負(fù)責(zé)人將每一個設(shè)計模塊作為設(shè)計分區(qū)導(dǎo)入到頂層工程中。在這種情況下,工程負(fù)責(zé)人必須指導(dǎo)底層模塊設(shè)計人員,保證每一分區(qū)使用適當(dāng)?shù)钠骷Y源。</p><p> 在完整的漸進(jìn)式編譯流程中,如果以前出于保持性能不變的原因而采用自下而上的方法,那么現(xiàn)在可以采用自上而下方法來達(dá)到同樣的目的。這一功能之所以重要出于兩方面的原因。第一,自上而下流程要比對應(yīng)的自下而上流程執(zhí)行起來簡單一些。第二,自上而下的方法為設(shè)計
73、軟件提供整個設(shè)計的信息,因此,可以進(jìn)行全局優(yōu)化,而在自下而上的設(shè)計方法中,軟件在編譯每一個底層分區(qū)時,并不知道頂層設(shè)計其他分區(qū)的情況,因此,必須進(jìn)行資源均衡和時序預(yù)算。</p><p> 3 函數(shù)信號發(fā)生器的FPGA設(shè)計</p><p> 3.1 三角波信號發(fā)生器的設(shè)計</p><p> 3.1.1 三角波的VHDL描述</p><p>
74、; delta.vhd:設(shè)定一個變量n,定義其范圍為“00000111”到“11111000”,每到一個脈沖,分別對它進(jìn)行+8或-8,然后把改變后的n送到輸出y,生成了三角波信號。三角波產(chǎn)生電路的VHDL描述如下。</p><p> ----------------------------------delta.vhd(三角波) ----------------------------------</p
75、><p> LIBRARY IEEE;</p><p> USE ieee.std_logic_1164.ALL;</p><p> USE ieee.std_logic_unsigned.ALL;</p><p> ENTITY delta IS</p><p> PORT(clk,clr:in std_log
76、ic;</p><p> y:OUT std_logic_vector(7 DOWNTO 0));</p><p> END delta;</p><p> ARCHITECTURE rtl OF delta IS</p><p><b> BEGIN</b></p><p> PROC
77、ESS(clk,clr)</p><p> VARIABLE n:std_logic_vector(7 DOWNTO 0);</p><p> VARIABLE f:std_logic; </p><p><b> BEGIN</b></p><p> IF clr=
78、'0'THEN </p><p> n:="00000000";</p><p> ELSIF CLK'EVENT AND clk='1'THEN</p><p> IF f='0'THEN</p><p
79、> IF n="11111000"THEN</p><p> n:="11111111";</p><p><b> f:='1';</b></p><p><b> ELSE</b></p><p><b> n:=
80、n+8;</b></p><p><b> END IF;</b></p><p><b> ELSE</b></p><p> IF n="00000111"THEN</p><p> n:="00000000";</p>
81、<p><b> f:='0';</b></p><p><b> ELSE</b></p><p><b> n:=n-8;</b></p><p><b> END IF;</b></p><p><b>
82、 END IF;</b></p><p><b> END IF;</b></p><p><b> y<=n;</b></p><p> END PROCESS;</p><p><b> END rtl;</b></p><p&
83、gt; 3.1.2 三角波信號發(fā)生器的邏輯電路圖</p><p> 通過電路觀察器(RTL Viewer)可查看設(shè)計文件通過分析與綜合之后生成的邏輯電路構(gòu)成。三角波信號發(fā)生器的RTL圖如圖3-1所示。</p><p> 圖3-1 三角波信號發(fā)生器的RTL圖</p><p> 3.2 正弦波信號發(fā)生器的設(shè)計</p><p> 3.2.
84、1 正弦波的VHDL描述</p><p> sin.vhd:通過定義正弦數(shù)據(jù)表,每到一個脈沖,逐次查找并輸出相應(yīng)的正弦數(shù)據(jù),生成了正弦波形。當(dāng)給輸入信號clr賦于1值時,檢測到時鐘clk的上升沿。如果tmp達(dá)到63時則清0,否則tmp就做加1的操作。正弦波產(chǎn)生電路的VHDL描述如下。</p><p> ---------------------------------- sin.vhd
85、(正弦波) ----------------------------------</p><p> LIBRARY IEEE;</p><p> USE ieee.std_logic_1164.ALL;</p><p> USE ieee.std_logic_unsigned.ALL;</p><p> USE ieee.std_lo
86、gic_ARITH.ALL;</p><p> ENTITY sin IS</p><p> PORT(clk,clr:IN std_logic;</p><p> d:OUT std_logic_vector(7 DOWNTO 0)); </p><p><b> END;</b></p>
87、<p> ARCHITECTURE rtl OF sin IS</p><p><b> BEGIN</b></p><p> PROCESS(clk,clr)</p><p> VARIABLE tmp:integer RANGE 0 TO 63;</p><p><b> BEGIN&
88、lt;/b></p><p> IF clr='0'THEN</p><p> d<="00000000";</p><p> ELSIF clk'event AND clk='1'THEN </p><p> IF tmp=63 THE
89、N </p><p> tmp:=0; </p><p><b> ELSE</b></p><p> tmp:=tmp+1; </p><p>&
90、lt;b> END IF; </b></p><p> CASE tmp IS </p><p> WHEN 00=>d<=conv_std_logic_vector(255,8);</p><p> WHEN 01=>d<=conv_std_logic_ve
91、ctor(254,8);</p><p> WHEN 02=>d<=conv_std_logic_vector(252,8);</p><p> WHEN 03=>d<=conv_std_logic_vector(249,8);</p><p> WHEN 04=>d<=conv_std_logic_vector(245,8
92、);</p><p> WHEN 05=>d<=conv_std_logic_vector(239,8);</p><p> WHEN 06=>d<=conv_std_logic_vector(233,8);</p><p> WHEN 07=>d<=conv_std_logic_vector(225,8);</p&g
93、t;<p> WHEN 08=>d<=conv_std_logic_vector(217,8);</p><p> WHEN 09=>d<=conv_std_logic_vector(207,8);</p><p> WHEN 10=>d<=conv_std_logic_vector(197,8);</p><p&
94、gt; WHEN 11=>d<=conv_std_logic_vector(186,8);</p><p> WHEN 12=>d<=conv_std_logic_vector(174,8);</p><p> WHEN 13=>d<=conv_std_logic_vector(162,8);</p><p> WHEN
95、14=>d<=conv_std_logic_vector(150,8);</p><p> WHEN 15=>d<=conv_std_logic_vector(137,8);</p><p> WHEN 16=>d<=conv_std_logic_vector(124,8);</p><p> WHEN 17=>d&l
96、t;=conv_std_logic_vector(112,8);</p><p> WHEN 18=>d<=conv_std_logic_vector(99,8); </p><p> WHEN 19=>d<=conv_std_logic_vector(87,8); </p><p> WHEN 20=>d<=conv_st
97、d_logic_vector(75,8);</p><p> WHEN 21=>d<=conv_std_logic_vector(64,8); </p><p> WHEN 22=>d<=conv_std_logic_vector(53,8); </p><p> WHEN 23=>d<=conv_std_logic_vec
98、tor(43,8);</p><p> WHEN 24=>d<=conv_std_logic_vector(34,8); </p><p> WHEN 25=>d<=conv_std_logic_vector(26,8); </p><p> WHEN 26=>d<=conv_std_logic_vector(19,8);&
99、lt;/p><p> WHEN 27=>d<=conv_std_logic_vector(13,8); </p><p> WHEN 28=>d<=conv_std_logic_vector(8,8); </p><p> WHEN 29=>d<=conv_std_logic_vector(4,8);</p>&
100、lt;p> WHEN 30=>d<=conv_std_logic_vector(1,8); </p><p> WHEN 31=>d<=conv_std_logic_vector(0,8); </p><p> WHEN 32=>d<=conv_std_logic_vector(0,8);</p><p> WHE
101、N 33=>d<=conv_std_logic_vector(1,8); </p><p> WHEN 34=>d<=conv_std_logic_vector(4,8); </p><p> WHEN 35=>d<=conv_std_logic_vector(8,8);</p><p> WHEN 36=>d&l
102、t;=conv_std_logic_vector(13,8); </p><p> WHEN 37=>d<=conv_std_logic_vector(19,8); </p><p> WHEN 38=>d<=conv_std_logic_vector(26,8);</p><p> WHEN 39=>d<=conv_std
103、_logic_vector(34,8); </p><p> WHEN 40=>d<=conv_std_logic_vector(43,8); </p><p> WHEN 41=>d<=conv_std_logic_vector(53,8);</p><p> WHEN 42=>d<=conv_std_logic_vect
104、or(64,8); </p><p> WHEN 43=>d<=conv_std_logic_vector(75,8); </p><p> WHEN 44=>d<=conv_std_logic_vector(87,8);</p><p> WHEN 45=>d<=conv_std_logic_vector(99,8); &
105、lt;/p><p> WHEN 46=>d<=conv_std_logic_vector(112,8);</p><p> WHEN 47=>d<=conv_std_logic_vector(124,8);</p><p> WHEN 48=>d<=conv_std_logic_vector(137,8);</p>
106、<p> WHEN 49=>d<=conv_std_logic_vector(150,8);</p><p> WHEN 50=>d<=conv_std_logic_vector(162,8);</p><p> WHEN 51=>d<=conv_std_logic_vector(174,8);</p><p>
107、 WHEN 52=>d<=conv_std_logic_vector(186,8);</p><p> WHEN 53=>d<=conv_std_logic_vector(197,8);</p><p> WHEN 54=>d<=conv_std_logic_vector(207,8);</p><p> WHEN 55=
108、>d<=conv_std_logic_vector(217,8);</p><p> WHEN 56=>d<=conv_std_logic_vector(225,8);</p><p> WHEN 57=>d<=conv_std_logic_vector(233,8);</p><p> WHEN 58=>d<=
109、conv_std_logic_vector(239,8);</p><p> WHEN 59=>d<=conv_std_logic_vector(245,8);</p><p> WHEN 60=>d<=conv_std_logic_vector(249,8);</p><p> WHEN 61=>d<=conv_std_l
110、ogic_vector(252,8);</p><p> WHEN 62=>d<=conv_std_logic_vector(254,8);</p><p> WHEN 63=>d<=conv_std_logic_vector(255,8); </p><p> WHEN OTHERS=>NULL;</p><
111、p><b> END CASE;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END rtl;</b></p><p> 3.2.2 正弦波信號發(fā)生器的邏輯電路圖</p&g
112、t;<p> 正弦波信號發(fā)生器的RTL圖如圖3-2所示。</p><p> 圖3-2 正弦波信號發(fā)生器的RTL圖</p><p> 3.3 方波信號發(fā)生器的設(shè)計</p><p> 3.3.1 方波的VHDL描述</p><p> square.vhd:設(shè)定一個變量cnt,每到一個脈沖,檢測它是否小于31,若小于31,則
113、把高電平送到輸出,并對cnt+1,否則就輸出低電平,并賦值cnt為0,生成了方波信號。方波產(chǎn)生電路的VHDL描述如下。</p><p> ---------------------------------- square .vhd(方波) ----------------------------------</p><p> LIBRARY IEEE;</p><p
114、> USE ieee.std_logic_1164.ALL;</p><p> ENTITY square IS</p><p> PORT(clk,clr:IN std_logic;</p><p> q:OUT std_logic_vector(7 DOWNTO 0)); </p><p&
115、gt;<b> END;</b></p><p> ARCHITECTURE rtl OF square IS</p><p> SIGNAL a:std_logic;</p><p><b> BEGIN</b></p><p> PROCESS(clk,clr)</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的函數(shù)信號發(fā)生器設(shè)計畢業(yè)論文
- 2010畢業(yè)論文設(shè)計-函數(shù)信號發(fā)生器的fpga設(shè)計
- 函數(shù)信號發(fā)生器的設(shè)計【畢業(yè)論文】
- 畢業(yè)論文 基于fpga的信號發(fā)生器設(shè)計
- 簡易函數(shù)信號發(fā)生器設(shè)計【畢業(yè)論文】
- 畢業(yè)論文--基于fpga的信號發(fā)生器設(shè)計
- 基于fpga的dds信號發(fā)生器設(shè)計【畢業(yè)論文】
- 基于fpga的智能函數(shù)發(fā)生器畢業(yè)論文
- 基于fpga的正交信號發(fā)生器設(shè)計【畢業(yè)論文】
- 多波形函數(shù)信號發(fā)生器的設(shè)計-畢業(yè)論文
- dds信號發(fā)生器的fpga實現(xiàn)【畢業(yè)論文】
- 基于fpga的dds信號發(fā)生器-畢業(yè)論文
- 畢業(yè)論文--多功能函數(shù)信號發(fā)生器
- 多波形函數(shù)信號發(fā)生器的設(shè)計-畢業(yè)論文
- 基于fpga的任意信號發(fā)生器畢業(yè)論文
- 基于fpga的函數(shù)信號發(fā)生器
- 基于FPGA的函數(shù)信號發(fā)生器設(shè)計.pdf
- 函數(shù)信號發(fā)生器論文
- 基于fpga的dds信號發(fā)生器的研究畢業(yè)論文
- 基于單片機(jī)的函數(shù)信號發(fā)生器設(shè)計畢業(yè)論文
評論
0/150
提交評論