

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目錄</b></p><p><b> 第一章緒論</b></p><p><b> 1.1EDA簡介</b></p><p> 1.1.1EDA的發(fā)展史</p><p> EDA是電子設計自動化(Electronic Design Aut
2、omation)的縮寫,在20世紀90年代初從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。</p><p> 自20
3、世紀80年代初期誕生至今,自動化軟件(組態(tài)軟件)已有20年的發(fā)展歷史。應該說組態(tài)軟件作為一種應用軟件,是隨著PC機的興起而不斷發(fā)展的。80年代的組態(tài)軟件,像Onspec、Paragon 500、早期的FIX等都運行在DOS環(huán)境下,圖形界面的功能不是很強,軟件中包含著大量的控制算法,這是因為DOS具有很好的實時性。90年代,隨著微軟的Windows 3.0風靡全球,以Wonderware公司的Intouch為代表的人機界面軟件開創(chuàng)了Win
4、dows下運行工控軟件的先河,由于Windows 3.0不具備實時性,所以當時,80年代已成名的自動化軟件公司在對于操作系統(tǒng)的支持上,或按兵不動,或將組態(tài)軟件從DOS向OS/2移植,人們這樣做的原因,是大家都認為工控軟件必須具有很強的實時性和控制能力,必須運行在一個具備實時性的操作系統(tǒng)下,像DOS、OS/2、Win NT(1993年才推出)等。歷史證明,在當時的硬件條件下,上位機做人機界面切中了用戶的需求,Wonderware因而在不長
5、的時間內成為全球最大的獨立自動化軟件廠商,而在80年代靠DOS版組態(tài)軟件起家,后來向OS/2移植的公司后來基本上都</p><p> 首先,自動化軟件主要包括人機界面軟件(HMI),像Intouch、iFix、組態(tài)王等;基于PC的控制軟件,統(tǒng)稱軟PLC或軟邏輯,像亞控的KingAct以及即將推出的組態(tài)王嵌入版、西門子的WinAC等;還包括生產(chǎn)執(zhí)行管理軟件,許多專家也將這一類軟件歸為MES(Manufacturi
6、ng Execution System),像Intellution公司的iBatch、Wonderware公司的InTrack等,另外,與通用辦公自動化軟件相比,自動化軟件還應包括相應的服務。 </p><p> 其次,自動化軟件主要具備如下功能及特征:工業(yè)過程動態(tài)可視化;數(shù)據(jù)采集和管理;過程監(jiān)控報警;報表功能;為其他企業(yè)級程序提供數(shù)據(jù);簡單的回路調節(jié);批次處理;SPC過程質量控制;符合IEC1131-3標準。
7、 </p><p> 1.1.2EDA的應用</p><p><b> (1)在教學方面</b></p><p> 電子技術的飛速發(fā)展,需要大量新設備和新技術的投入,同樣需要掌握這些新技術的人才’幾乎所有的高校電類專業(yè)都開設了EDA課程,讓學生了解EDA技術的基本概念及原理,掌握HDL語言編寫規(guī)范,掌握邏輯綜合的理論及算法,能夠從事簡單電
8、子系統(tǒng)的設計。學校通過EDA實驗教學,加快了EDA人才培訓的速度,建立了EDA技術人才基礎,并為學生今后從事相關專業(yè)奠定基礎。</p><p> ?。?)在科學研究和新產(chǎn)品開發(fā)方面</p><p> 利用電路設計和仿真技術,利用虛擬儀器對產(chǎn)品測試,將CPLD和FPGA器件的開發(fā)應用到設備中,有利于早期發(fā)現(xiàn)結構設計上的錯誤,避免設計工作的浪費,提高了設計效率和靈活性,縮短了產(chǎn)品的開發(fā)周期和
9、提前產(chǎn)品的上市時間從而使產(chǎn)品占據(jù)市場競爭優(yōu)勢。</p><p> ?。?)產(chǎn)品設計與制造方面</p><p> 利用EDA工具大量的電子系統(tǒng)設計工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、系統(tǒng)模擬及測試環(huán)境的仿真到設計出IC版圖或PCB版圖的過程在計算機上處理完成,而且在電子設備的研制與生PCB的制電路焊接等方面有重要作用。</p><p> 1.1.3
10、EDA技術的設計方法</p><p> 基于PLD的現(xiàn)代設計方法與傳統(tǒng)設計方法的區(qū)別:</p><p><b> 1.2數(shù)字系統(tǒng)設計</b></p><p> 1.2.1數(shù)字系統(tǒng)設計模型</p><p> 數(shù)字系統(tǒng)指的是交互式的、以離散形式表示的具有存儲、傳輸、信息處理能力的邏輯子系統(tǒng)的集合。用于描述數(shù)字系統(tǒng)的模
11、型有多種,各種模型描述數(shù)字系統(tǒng)的側重點不同。下面介紹一種普遍采用的模型。這種模型根據(jù)數(shù)字系統(tǒng)的定義,將整個系統(tǒng)劃分為兩個模塊或兩個子系統(tǒng):數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng),如圖1-1所示。</p><p> 1.2.2 數(shù)字系統(tǒng)的設計步驟</p><p><b> 1.系統(tǒng)任務分析</b></p><p> 數(shù)字系統(tǒng)設計中的第一步是明確系統(tǒng)的任
12、務。在設計任務書中,可用各種方式提出對整個數(shù)字系統(tǒng)的邏輯要求,常用的方式有自然語言、邏輯流程圖、時序圖或幾種方法的結合。當系統(tǒng)較大或邏輯關系較復雜時,系統(tǒng)任務(邏輯要求)邏輯的表述和理解都不是一件容易的工作。所以,分析系統(tǒng)的任務必須細致、全面,不能有理解上的偏差和疏漏。</p><p><b> 2.確定邏輯算法</b></p><p> 實現(xiàn)系統(tǒng)邏輯運算的方法稱
13、為邏輯算法,也簡稱為算法。一個數(shù)字系統(tǒng)的邏輯運算往往有多種算法,設計者的任務不但是要找出各種算法,還必須比較優(yōu)劣,取長補短,從中確定最合理的一種。數(shù)字系統(tǒng)的算法是邏輯設計的基礎,算法不同,則系統(tǒng)的結構也不同,算法的合理與否直接影響系統(tǒng)結構的合理性。確定算法是數(shù)字系統(tǒng)設計中最具創(chuàng)造性的一環(huán),也是最難的一步。</p><p> 3.建立系統(tǒng)及子系統(tǒng)模型</p><p> 當算法明確后,應根
14、據(jù)算法構造系統(tǒng)的硬件框架(也稱為系統(tǒng)框圖),將系統(tǒng)劃分為若干個部分,各部分分別承擔算法中不同的邏輯操作功能。如果某一部分的規(guī)模仍嫌大,則需進一步劃分。劃分后的各個部分應邏輯功能清楚,規(guī)模大小合適,便于進行電路級的設計。 </p><p> 4.系統(tǒng)(或模塊)邏輯描述</p><p> 當系統(tǒng)中各個子系統(tǒng)(指最低層子系統(tǒng))和模塊的邏輯功能和結構確定后,則需采用比較規(guī)范的形式來描述系統(tǒng)的邏
15、輯功能。設計方案的描述方法可以有多種,常用的有方框圖、流程圖和描述語言等。</p><p> 對系統(tǒng)的邏輯描述可先采用較粗略的邏輯流程圖,再將邏輯流程圖逐步細化為詳細邏輯流程圖,最后將詳細邏輯流程圖表示成與硬件有對應關系的形式,為下一步的電路級設計提供依據(jù)。</p><p> 5.邏輯電路級設計及系統(tǒng)仿真</p><p> 電路級設計是指選擇合理的器件和連接關
16、系以實現(xiàn)系統(tǒng)邏輯要求。電路級設計的結果常采用兩種方式來表達:電路圖方式和硬件描述語言方式。EDA軟件允許以這兩種方式輸入,以便作后續(xù)的處理。</p><p> 當電路設計完成后必須驗證設計是否正確。在早期,只能通過搭試硬件電路才能得到設計的結果。目前,數(shù)字電路設計的EDA軟件都具有仿真功能,先通過系統(tǒng)仿真,當系統(tǒng)仿真結果正確后再進行實際電路的測試。由EDA軟件的驗證結果十分接近實際結果,因此,可極大地提高電路設
17、計的效率。</p><p><b> 6.系統(tǒng)的物理實現(xiàn)</b></p><p> 物理實現(xiàn)是指用實際的器件實現(xiàn)數(shù)字系統(tǒng)的設計,用儀表測量設計的電路是否符合設計要求?,F(xiàn)在的數(shù)字系統(tǒng)往往采用大規(guī)模和超大規(guī)模集成電路,由于器件集成度高、導線密集,故一般在電路設計完成后即設計印刷電路板,在印刷電路板上組裝電路進行測試。需要注意的是,印刷電路板本身的物理特性也會影響電路的
18、邏輯關系。</p><p> 第二章任意波形產(chǎn)生器</p><p> 2.1任意波形產(chǎn)生器的系統(tǒng)構成</p><p> 目前信號發(fā)生的主要實現(xiàn)方法由直接模擬法、直接數(shù)字法兩種。</p><p> 2.1.1直接模擬法</p><p> 圖2-1 直接模擬法框圖</p><p> 這
19、是傳統(tǒng)函數(shù)發(fā)生器的簡化基本結構,一般都是由白由振蕩器產(chǎn)生原始波形,然后經(jīng)過轉換電路將原始波形轉換成其他波形,在上圖中三角波是由振蕩器產(chǎn)生的,方波是三角波通過比較器轉變而成的,正弦波是三角波通過一個波形整形電路(正弦波整形器)演變而來的,所需要波形經(jīng)過放大和衰減輸出,顯然這種方式產(chǎn)生的波形種類有限,每增加一種波形,都要增加相應的轉換電路,整個電路變得很復雜,最重要的是要產(chǎn)生用戶所需要的任意波形復雜的波形幾乎不可能。</p>
20、<p> 2.1.2直接數(shù)字法</p><p> 直接數(shù)字法是采用直接數(shù)字合成(Direct Digital Synthesis)的方法實現(xiàn)信號產(chǎn)生。該技術具有頻率轉換速度快、頻率分辨率高、易于控制的突出特點。直接數(shù)字合成技術近年來發(fā)展得很快,而要產(chǎn)生任意波形就必須采用直接數(shù)字很成技術。隨著DDS技術的發(fā)展,出現(xiàn)了各種各樣的直接數(shù)字合成的結構,但基本上可以發(fā)成兩種:</p><p
21、> (1)基于地址計數(shù)器的數(shù)字頻率和成法</p><p> (2)基于相位累加器的數(shù)字頻率和成法</p><p> 2.1.3基于地址計數(shù)器的直接數(shù)字和成法</p><p><b> (1)結構框圖</b></p><p> 圖2-2 基于地址計數(shù)器的直接數(shù)學合成結構框圖</p><p
22、> 這是一種最簡單的直接數(shù)字很成方式,這種直接數(shù)字頻率合成器的結構包括地址計數(shù)器,存儲器和D/A轉換器。</p><p><b> (2)工作原理</b></p><p> 將波形數(shù)據(jù)存儲于存儲器中,而后用可程控的時鐘信號為存儲器提供掃描地址,與每個地址相對應的數(shù)據(jù)則代表波形在等間隔取樣點上的幅度值。數(shù)據(jù)被送至DAC,從而產(chǎn)生一個正比于其數(shù)字編碼的電壓值,
23、每個電壓值保持一個時鐘周期,直至新的數(shù)據(jù)送至DAC,經(jīng)數(shù)模轉換后得到所需要的模擬電壓波形。在存儲器里的數(shù)據(jù)產(chǎn)生的波形是對“取樣波形”的階梯近似。</p><p> 假定地址計數(shù)器的時鐘頻率為fc,波形一周期內有n個采樣值,那么很成的波形頻率為</p><p> 如果改變地址計數(shù)器的時鐘頻率或ROM的地址步進大小,合成波形的頻率都會隨著改變。而要改變波形,只要在只讀存儲器中寫入不同的數(shù)據(jù)
24、。</p><p> 2.1.4基于相位累加器的直接數(shù)字合成法</p><p><b> (1)結構框圖</b></p><p> 圖2-3 基于相位累加器直接數(shù)字合成結構框圖</p><p> 這種結構中主要由相位累加器、數(shù)據(jù)ROM, D/A變換器組成,它是種全新的直接數(shù)字合成方式。(目前國內外文獻種提到的DD
25、S一般是指這種方式,下面不作說明均指這種方式)。</p><p><b> (2)工作原理</b></p><p> 將要產(chǎn)生的波形數(shù)據(jù)存入波形存儲器,然后在參考時鐘的作用下,對輸入的頻率數(shù)據(jù)進行累加,并且將累加器的輸出一部分作為讀取波形發(fā)生器的地址,將讀出的波形數(shù)據(jù)經(jīng)D/A轉換為相應的電壓信號,D/A轉換器輸出的一系列的階梯電壓信號經(jīng)低通濾波后便輸出了光滑的很成
26、波形信號。以合成正弦波為例,通常我們考慮一個正弦波時習慣使用正弦波的幅度一時間表達式。</p><p> S (t) =Asin(ax+),正弦函數(shù)幅度的非線性使依據(jù)幅度產(chǎn)生任意頻率的正弦波非常困難,但我們注意到,正弦波的相位是線性變化的,DDS技術的關鍵就在于充分利用了正弦波相位線性變化這一特性,在DDS芯片種,其核心部件是相位累加和SIN函數(shù)表,下面作簡單介紹:</p><p>
27、相位累加器在功能上說實質是一個N位快速可循環(huán)累加器,N位的相位累加器在每一個時鐘來臨時與頻率控制所決定的相位增量A累加一次,計數(shù)大于時則白動溢出,保留后面N比特的數(shù)字于累加器中。每當相位累加器計數(shù)滿后,可白動循環(huán)重新累加,所以輸出相位可以保持連續(xù)變化,這就保證了輸出正弦波的連續(xù)性。</p><p> 相位累加器的輸出是隨時間不斷線性變化的用N位二進制數(shù)表達的相位信息,相位信息是無法直接利用的,必須設法把相位信息
28、轉換成幅度信息,在DDS技術中,人們把對應于不同相位的Sine函數(shù)的幅度存儲在Rom中,一般地,只要取相位累加器的高A位作為尋址信號,就完全可以滿足精度的需要了。</p><p> 2.2任意波形產(chǎn)生器的作用</p><p> 一般來講任意波形發(fā)生器,是一種特殊的信號源,綜合具有其它信號源生成能力,因而適合各種仿真實驗的需要。主要有這樣的功能:</p><p>
29、<b> (1)函數(shù)功能</b></p><p> 函數(shù)信號源是使用最廣的通用信號源,它能提供正弦波、鋸齒波、方波、脈沖波等波形,有的還同時具有調制和掃頻能力、眾所周知,在基礎實驗中設計一種電路,需要驗證其性能、可靠性與穩(wěn)定性,就需要給它施加理想的波形以辨別真?zhèn)?。如可使用信號源的DC補償功能對固態(tài)電路控制DC偏壓電平;可對一個懷疑有故障的數(shù)字電路,利用信號源的方波輸出作為數(shù)字電路的時鐘,
30、同時使用方波加DC補償產(chǎn)生有效的邏輯電平模式輸出,觀察該電路的運行狀況,而證實故障缺陷的地方……,總之,利用任意波形發(fā)生器這方面的基礎功能,能仿真基礎實驗室所必須的信號。</p><p><b> (2)任意波形</b></p><p> 在實際的電子環(huán)境所設計的電路在運行中,由于各種干擾和響應的存在,實際電路往往存在各種信號缺陷和瞬變信號,由于任意波形發(fā)生器特殊
31、的功能,為了增強任意波形生成能力,它往往依賴計算機通訊輸出波形數(shù)據(jù)。在計算機傳輸中,通過波形編輯軟件生成波形,有利于擴充儀器的能力,更進一步仿真模擬實驗。同時由于編輯一個任意波形有時需要花費很長的時間和精力,并且每次編輯的波形可能有所差異,一般會在任意波形發(fā)生器內配置一定數(shù)量的非易失性存儲器??梢园阉枰牟ㄐ螐挠嬎銠C接口下載到任意波形發(fā)生器的存儲器中。</p><p> 綜上所述,不論是在生產(chǎn)還是在科研與教學
32、上,任意波形發(fā)生器是電子工程師信號仿真實驗的最佳工具。隨著我國經(jīng)濟和科技的發(fā)展,對相應的測試儀器和測試手段也提出了更高的要求,而任意波形發(fā)生器己成為測試儀器中至關主要的一類,因此開發(fā)任意波形發(fā)生器具有重大意義。</p><p> 2.3任意波形產(chǎn)生器的應用場合</p><p> 任意波形發(fā)生器是利用DDS(直接數(shù)字頻率合成)技術,通過在波形存儲器內存儲待輸出信號的波形采樣數(shù)據(jù),并對波形
33、存儲器進行順序的循環(huán)尋址來合成波形。只要改變波形存儲器中的波形采樣數(shù)據(jù),就可以方便的得到需要波形的信號。因此任意波形發(fā)生器不僅能產(chǎn)生正弦、余弦、方波、三角波和鋸齒波等常見信號,還可以通過各種編輯手段生成任意的波形采樣數(shù)據(jù),方便的合成傳統(tǒng)信號發(fā)生器所不能生成的任意波形信號,從而滿足各種測試和實驗的需要。</p><p> 任意波形產(chǎn)生器的設計</p><p><b> 3.1設
34、計要求</b></p><p> 電路要求可以產(chǎn)生方波、正弦波、三角波,波形的頻率可調,通過控制開關控制產(chǎn)生的波形,并通過控制按鍵控制設計信號的頻率,改變頻率的方法可以采用分頻和DDS的原理進行控制信號頻率。并進行D/A轉換電路與濾波電路的設計,通過采用施密特觸發(fā)器對波形進行整形,設計一頻率測量電路對所產(chǎn)生的頻率進行測量,通過數(shù)碼管顯示出來,并在數(shù)碼管上顯示當前的波形代碼。</p>&
35、lt;p><b> 3.2設計思路</b></p><p> ?。?)提出設計說明書,即用自然語言表達系統(tǒng)項目的功能特點和技術參數(shù)等。</p><p> ?。?)建立VHDL行為模型,這一步是將設計說明書轉化為VHDL行為模型。</p><p> ?。?)VHDL行為仿真。這一階段可以利用VHDL仿真器(如ModelSim)對頂層系統(tǒng)的
36、行為模型進行仿真測試,檢查模擬結果,繼而進行修改和完善。</p><p> ?。?)VHDL-RTL級建模。如上所述,VHDL只有部分語句集合可用于硬件功能行為的建模,因此在這一階段,必須將VHDL的行為模型表達為VHDL行為代碼(或稱VHDL-RTL級模型)。</p><p> ?。?)前端功能仿真。</p><p><b> ?。?)邏輯綜合。<
37、/b></p><p> (7)測試向量生成。這一階段主要是針對ASIC設計的。FPGA設計的時序測試文件主要產(chǎn)生于適配器。對ASIC的測試向量文件是綜合器結合含有版圖硬件特性的工藝庫后產(chǎn)生的,用于對ASIC的功能測試。</p><p> ?。?)功能仿真。利用獲得的測試向量對ASIC的設計系統(tǒng)和子系統(tǒng)的功能進行仿真。</p><p> ?。?)結構綜合。主
38、要將綜合產(chǎn)生的表達邏輯連接關系的網(wǎng)表文件,結合具體的目標硬件環(huán)境進行標準單元調用、布局、布線和滿足約束條件的結構優(yōu)化配置,即結構綜合。</p><p> ?。?0)門級時序仿真。在這一級中將使用門級仿真器或仍然使用VHDL仿真器(因為結構綜合后能同步生成VHDL格式的時序仿真文件)進行門級時序仿真,在計算機上了解更接近硬件目標器件工作的功能時序。</p><p> ?。?1)硬件測試。這是
39、對最后完成的硬件系統(tǒng)(如ASIC或FPGA)進行檢查和測試。</p><p><b> 3.3設計流程</b></p><p> 3.4設計步驟及程序</p><p> 分頻模塊 </p><p> LIBRARY IEEE;</p>
40、<p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY fp IS</p><p> port(clk:in std_logic; --input 1K Hz</p><p> k:in st
41、d_logic_vector(3 downto 0);</p><p> clko:buffer std_logic); --out 1 hz</p><p><b> end fp;</b></p><p> architecture a of fp is</p><p> signal temp:std_l
42、ogic_vector(3 downto 0);</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' then<
43、;/p><p> if temp<k then</p><p> temp<=temp+1;</p><p><b> else</b></p><p> temp<="0000";</p><p> clko<=not clko;</p&g
44、t;<p> end if;end if;</p><p> end process;</p><p><b> end a;</b></p><p> 正弦函數(shù)模塊 </p><p> library ieee;</p
45、><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity sin is</p><p> port(clk4
46、:in std_logic;</p><p> k:in integer range 15 downto 0;</p><p> dd4:out integer range 255 downto 0);</p><p><b> end sin;</b></p><p> architecture dacc of
47、 sin is</p><p> signal q: integer range 63 downto 0;</p><p><b> begin</b></p><p> process(clk4)</p><p><b> begin</b></p><p> i
48、f (clk4'event and clk4='1') then</p><p><b> q<=q+k;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(q)</p&
49、gt;<p><b> begin</b></p><p><b> case q is</b></p><p> when 00=>dd4<=255;</p><p><b> …..</b></p><p> when others=&g
50、t;null;</p><p><b> end case;</b></p><p> end process;</p><p><b> end dacc;</b></p><p> 三角波 </p>
51、<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity tria is</p><p> port(clk3:in std_logic;</
52、p><p> k:in integer range 15 downto 0;</p><p> dd3:out integer range 255 downto 0);</p><p><b> end tria;</b></p><p> architecture dacc of tria is</p>
53、<p> signal b:std_logic;</p><p> signal c:integer range 255 downto 0;</p><p><b> begin</b></p><p> process(clk3)</p><p><b> begin</b>
54、;</p><p> if (clk3'event and clk3='1') then</p><p> if(b='0') then</p><p><b> c<=c+k;</b></p><p> if(c>=250) then</p>&
55、lt;p><b> b<='1';</b></p><p><b> end if;</b></p><p> elsif(b='1') then</p><p><b> c<=c-k;</b></p><p> i
56、f(c<=1) then</p><p><b> b<='0';</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> dd3<=c;</
57、b></p><p><b> end if;</b></p><p> end process;</p><p><b> end dacc;</b></p><p> 方波 <
58、;/p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity
59、 square is</p><p> port(clk1 : in std_logic;</p><p> k:in integer range 15 downto 0;</p><p> dd1 : buffer integer range 255 downto 0);</p><p> end square;</p>
60、<p> architecture dacc of square is</p><p> signal q: integer range 255 downto 0;</p><p><b> begin</b></p><p> process(clk1)</p><p><b> be
61、gin</b></p><p> if (clk1'event and clk1='1') then</p><p><b> q<=q+k;</b></p><p><b> end if;</b></p><p> end process;<
62、;/p><p> process(q)</p><p><b> begin</b></p><p><b> case q is</b></p><p> when 0 to 127=>dd1<=255;</p><p> when 128 to 255=
63、>dd1<=127;</p><p> when others=>null;</p><p><b> end case;</b></p><p> end process;</p><p><b> end dacc;</b></p><p>
64、特殊波形 </p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;
65、</p><p> use ieee.std_logic_unsigned.all;</p><p> entity sintra is</p><p> port(clk4:in std_logic;</p><p> k:in integer range 15 downto 0;</p><p> dd4
66、:out integer range 255 downto 0);</p><p> end sintra;</p><p> architecture dacc of sintra is</p><p> signal q: integer range 63 downto 0;</p><p><b> begin<
67、/b></p><p> process(clk4)</p><p><b> begin</b></p><p> if (clk4'event and clk4='1') then</p><p><b> q<=q+k;</b></p>
68、<p><b> end if;</b></p><p> end process;</p><p> process(q)</p><p><b> begin</b></p><p><b> case q is</b></p><
69、p> when 00=>dd4<=255;</p><p><b> ……..</b></p><p> when 63=>dd4<=247;</p><p> when others=>null;</p><p><b> end case;</b>&
70、lt;/p><p> end process;</p><p><b> end dacc;</b></p><p> 分頻1Hz </p><p> LIBRARY IEEE;</p><p>
71、 USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY fp1HZ IS</p><p> PORT(clk:in std_logic; --10M</p><p> clk1Hz: buffer STD_LO
72、GIC);</p><p> END fp1hz;</p><p> ARCHITECTURE one OF fp1hz IS</p><p> SIGNAL test: integer range 0 to 6000000;</p><p><b> begin</b></p><p>
73、 process(clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' then</p><p> if test<5000000 then</p><p> test<=test+1;</p>
74、<p><b> else</b></p><p><b> test<=0;</b></p><p> clk1hz<=not clk1hz;</p><p><b> end if;</b></p><p><b> end i
75、f;</b></p><p> end process;</p><p><b> end one;</b></p><p> 測頻模塊 </p><p> LIBRARY IEEE;</p><p> USE IEEE
76、.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY freq IS</p><p> PORT(fsin: in STD_LOGIC; </p><p> clk: IN STD_LOGIC; </
77、p><p> dout0,dout1,dout2,dout3: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p><b> END freq;</b></p><p> ARCHITECTURE one OF freq IS</p><p> SIGNAL test_en: STD
78、_LOGIC; </p><p> SIGNAL clear: STD_LOGIC; </p><p> SIGNAL data: STD_LOGIC_VECTOR(15 DOWNTO 0); </p><p><b> BEGIN</b></p><p> PROCESS(clk)<
79、;/p><p><b> BEGIN</b></p><p> IF clk'event AND clk='1' THEN test_en<=NOT test_en;</p><p><b> END IF;</b></p><p> END PROCESS; &l
80、t;/p><p> clear<=NOT clk AND NOT test_en;</p><p> PROCESS(fsin)</p><p><b> BEGIN</b></p><p> IF clear='1' THEN data<="0000000000000000&q
81、uot;;</p><p> ELSIF fsin'event AND fsin='0' </p><p><b> THEN</b></p><p> IF data(15 DOWNtO 0)="1001100110011001" </p><p> THEN dat
82、a<=data+"0110011001100111";</p><p> elsIF data(11 DOWNtO 0)="100110011001" </p><p> THEN data<=data+"011001100111";</p><p> ELSIF data(7 DOWNT
83、O 0)="10011001" </p><p> THEN data<=data+"01100111";</p><p> ELSIF data(3 DOWNTO 0)="1001" </p><p> THEN data<=data+"0111";</p>
84、;<p> ELSE data<=data+1;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(test_en,data)</p&g
85、t;<p><b> BEGIN</b></p><p> IF test_en'event AND test_en='0' THEN </p><p> dout0<=data(3 downto 0);</p><p> dout1<=data(7 downto 4);</p&g
86、t;<p> dout2<=data(11 downto 8);</p><p> dout3<=data(15 downto 12); </p><p><b> END IF; </b></p><p> END PROCESS;</p><p><b> END o
87、ne;</b></p><p> 控制模塊 </p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</
88、p><p> use ieee.std_logic_unsigned.all</p><p> entity control is</p><p> port(sel:in std_logic_vector(1 downto 0);</p><p> k0,k1,k2,k3:in integer range 255 downto 0;&l
89、t;/p><p> qout:out integer range 255 downto 0);</p><p> end control;</p><p> architecture a of control is</p><p><b> begin</b></p><p> proces
90、s(sel,k0,k1,k2,k3)</p><p><b> begin</b></p><p> if sel=“00” then </p><p><b> qout<=k0;</b></p><p> elsif sel=“01” then </p>&
91、lt;p><b> qout<=k1;</b></p><p> elsif sel=“10” then </p><p><b> qout<=k2;</b></p><p> elsif sel=“11” then </p><p><b> qout&
92、lt;=k3;</b></p><p><b> end if;</b></p><p> end process;</p><p><b> end a;</b></p><p> 3.5硬件實現(xiàn)及調試結果</p><p><b> 3.5.
93、1硬件實現(xiàn)</b></p><p><b> 電路模塊組成部分:</b></p><p><b> 3.5.2調試結果</b></p><p> 1、不同分頻產(chǎn)生方波如圖</p><p> 2、不同分頻產(chǎn)生三角波如圖</p><p> 3、不同分頻產(chǎn)生任
94、意波如圖:</p><p> 4、不同分頻產(chǎn)生正弦波如圖:</p><p><b> 第四章課程設計心得</b></p><p> 這次課程設計的任務是根據(jù)任意波形發(fā)生器的特點和應用情況,結合新一代高性能芯片設計一種使用簡單、性能優(yōu)良的任意波形發(fā)生器,該任意波形發(fā)生器能產(chǎn)生正弦波、方波,三角波等常用的標準信號,還能根據(jù)用戶的需要生成任意波
95、形。 </p><p> 通過這次課程設計我深刻體會到EDA編程的復雜,一個示波器要這么多程序,我們學的知識是不能完成這么復雜的設計的??梢娢覀儗W的知識只是九牛一毛,要想學的更多還要不斷的鉆研和實踐,才能達到設計一個示波器或別的器件的能力。</p><p> 所以我們要不斷地學習以此來提高自己。</p><p> 雖然這次課程設計有一個星期的時間,但是我們真正
96、上課的時間只有一天,因為學校只有一個EDA實驗室,而課程設計的班級卻比較多,所以學校要多建幾間這樣的實驗室。還有調試時芯片只有一塊是好的,老師雖然在那調了好久,也修了好久也沒找出那塊好板子,所以學校要在實驗設備方面也要加強管理,定時檢查和修理。</p><p> 通過這次課程設計我深刻體會到理論與實踐要相結合的重要性,還有就是要很好的掌握一種軟件是不容易的,我們要都看一些課外書,只停留在上課時老師講的重點要領上
97、,這樣只會學到一點膚淺的知識,要想學到更多就得付出努力。</p><p> 最后,感謝老師的教導,讓我們學到了許多新知識,相信在以后的學習過程中會用到,謝謝老師的付出。</p><p> 附錄一 引腳配置</p><p> 附錄二:下載板與主板主要器件連接關系</p><p><b> 參考文獻</b&
98、gt;</p><p> 1 史海明. 個人儀器多功能任意波形發(fā)生器的研制,儀表技術,1988,1:26~29</p><p> 2 趙柏樹,李紀武. 一種可調頻和占空比的函數(shù)發(fā)生器,電子技術應用,1997,8:21~22</p><p> 3 王彤威. 任意波形發(fā)生器VXI模塊的研制,哈爾濱理工大學碩士學位論文,1997:1~6</p><
99、;p> 4 田良. 數(shù)字合成應用集成電路的性能及應用,國外電子測量技術,1996,5:14~17</p><p> 5 李衍忠,蔡英杰,姬強等. DDS譜質分析及其雜散抑制研究綜述,現(xiàn)代雷達,2000年8月:33~38</p><p> 6 張玉興,彭新泉. 相位舍位對DDS譜分布的影響,電子科技大學學報,1997 4 26 :137~142 </p><p
100、> 7 張玉興,彭新泉. 直接數(shù)宇頻率合成器的頻譜分析,DDS技術與應用研討會論文集,1997,12:13~ 20</p><p> 8. 王英軍,黃小輝.數(shù)字電視新形勢下的綜合業(yè)務管理[J].有線電視技術,2004(6):78-80.</p><p> 9.吳小強. 數(shù)字電視用戶管理系統(tǒng)[J].有線電視技術,2004(4):83-86.</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設計報告
- eda課程設計報告
- eda課程設計報告
- eda課程設計報告
- eda交通燈課程設計報告(eda)
- eda課程設計報告--eda數(shù)字搶答器
- eda技術課程設計報告
- eda課程設計-- eda與數(shù)字系統(tǒng)課程設計
- eda數(shù)字秒表課程設計報告
- eda課程設計
- eda課程設計
- eda課程設計
- eda頻率計課程設計報告
- 游戲機eda課程設計報告
- eda課程設計報告--洗衣機
- 電子時鐘eda課程設計報告
- 數(shù)字鐘eda課程設計報告
- eda課程設計報告--數(shù)字鐘
- eda課程設計報告---頻率計
- eda課程設計報告---數(shù)字鐘設計
評論
0/150
提交評論