版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 第一章緒論</b></p><p><b> 1.1EDA簡(jiǎn)介</b></p><p> 1.1.1EDA的發(fā)展史</p><p> EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Aut
2、omation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(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)芯片的適配編譯、邏輯映射和編程下載等工作。</p><p> 自20
3、世紀(jì)80年代初期誕生至今,自動(dòng)化軟件(組態(tài)軟件)已有20年的發(fā)展歷史。應(yīng)該說(shuō)組態(tài)軟件作為一種應(yīng)用軟件,是隨著PC機(jī)的興起而不斷發(fā)展的。80年代的組態(tài)軟件,像Onspec、Paragon 500、早期的FIX等都運(yùn)行在DOS環(huán)境下,圖形界面的功能不是很強(qiáng),軟件中包含著大量的控制算法,這是因?yàn)镈OS具有很好的實(shí)時(shí)性。90年代,隨著微軟的Windows 3.0風(fēng)靡全球,以Wonderware公司的Intouch為代表的人機(jī)界面軟件開創(chuàng)了Win
4、dows下運(yùn)行工控軟件的先河,由于Windows 3.0不具備實(shí)時(shí)性,所以當(dāng)時(shí),80年代已成名的自動(dòng)化軟件公司在對(duì)于操作系統(tǒng)的支持上,或按兵不動(dòng),或?qū)⒔M態(tài)軟件從DOS向OS/2移植,人們這樣做的原因,是大家都認(rèn)為工控軟件必須具有很強(qiáng)的實(shí)時(shí)性和控制能力,必須運(yùn)行在一個(gè)具備實(shí)時(shí)性的操作系統(tǒng)下,像DOS、OS/2、Win NT(1993年才推出)等。歷史證明,在當(dāng)時(shí)的硬件條件下,上位機(jī)做人機(jī)界面切中了用戶的需求,Wonderware因而在不長(zhǎng)
5、的時(shí)間內(nèi)成為全球最大的獨(dú)立自動(dòng)化軟件廠商,而在80年代靠DOS版組態(tài)軟件起家,后來(lái)向OS/2移植的公司后來(lái)基本上都</p><p> 首先,自動(dòng)化軟件主要包括人機(jī)界面軟件(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等,另外,與通用辦公自動(dòng)化軟件相比,自動(dòng)化軟件還應(yīng)包括相應(yīng)的服務(wù)。 </p><p> 其次,自動(dòng)化軟件主要具備如下功能及特征:工業(yè)過(guò)程動(dòng)態(tài)可視化;數(shù)據(jù)采集和管理;過(guò)程監(jiān)控報(bào)警;報(bào)表功能;為其他企業(yè)級(jí)程序提供數(shù)據(jù);簡(jiǎn)單的回路調(diào)節(jié);批次處理;SPC過(guò)程質(zhì)量控制;符合IEC1131-3標(biāo)準(zhǔn)。
7、 </p><p> 1.1.2EDA的應(yīng)用</p><p><b> ?。?)在教學(xué)方面</b></p><p> 電子技術(shù)的飛速發(fā)展,需要大量新設(shè)備和新技術(shù)的投入,同樣需要掌握這些新技術(shù)的人才’幾乎所有的高校電類專業(yè)都開設(shè)了EDA課程,讓學(xué)生了解EDA技術(shù)的基本概念及原理,掌握HDL語(yǔ)言編寫規(guī)范,掌握邏輯綜合的理論及算法,能夠從事簡(jiǎn)單電
8、子系統(tǒng)的設(shè)計(jì)。學(xué)校通過(guò)EDA實(shí)驗(yàn)教學(xué),加快了EDA人才培訓(xùn)的速度,建立了EDA技術(shù)人才基礎(chǔ),并為學(xué)生今后從事相關(guān)專業(yè)奠定基礎(chǔ)。</p><p> (2)在科學(xué)研究和新產(chǎn)品開發(fā)方面</p><p> 利用電路設(shè)計(jì)和仿真技術(shù),利用虛擬儀器對(duì)產(chǎn)品測(cè)試,將CPLD和FPGA器件的開發(fā)應(yīng)用到設(shè)備中,有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),提高了設(shè)計(jì)效率和靈活性,縮短了產(chǎn)品的開發(fā)周期和
9、提前產(chǎn)品的上市時(shí)間從而使產(chǎn)品占據(jù)市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì)。</p><p> (3)產(chǎn)品設(shè)計(jì)與制造方面</p><p> 利用EDA工具大量的電子系統(tǒng)設(shè)計(jì)工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、系統(tǒng)模擬及測(cè)試環(huán)境的仿真到設(shè)計(jì)出IC版圖或PCB版圖的過(guò)程在計(jì)算機(jī)上處理完成,而且在電子設(shè)備的研制與生PCB的制電路焊接等方面有重要作用。</p><p> 1.1.3
10、EDA技術(shù)的設(shè)計(jì)方法</p><p> 基于PLD的現(xiàn)代設(shè)計(jì)方法與傳統(tǒng)設(shè)計(jì)方法的區(qū)別:</p><p><b> 1.2數(shù)字系統(tǒng)設(shè)計(jì)</b></p><p> 1.2.1數(shù)字系統(tǒng)設(shè)計(jì)模型</p><p> 數(shù)字系統(tǒng)指的是交互式的、以離散形式表示的具有存儲(chǔ)、傳輸、信息處理能力的邏輯子系統(tǒng)的集合。用于描述數(shù)字系統(tǒng)的模
11、型有多種,各種模型描述數(shù)字系統(tǒng)的側(cè)重點(diǎn)不同。下面介紹一種普遍采用的模型。這種模型根據(jù)數(shù)字系統(tǒng)的定義,將整個(gè)系統(tǒng)劃分為兩個(gè)模塊或兩個(gè)子系統(tǒng):數(shù)據(jù)處理子系統(tǒng)和控制子系統(tǒng),如圖1-1所示。</p><p> 1.2.2 數(shù)字系統(tǒng)的設(shè)計(jì)步驟</p><p><b> 1.系統(tǒng)任務(wù)分析</b></p><p> 數(shù)字系統(tǒng)設(shè)計(jì)中的第一步是明確系統(tǒng)的任
12、務(wù)。在設(shè)計(jì)任務(wù)書中,可用各種方式提出對(duì)整個(gè)數(shù)字系統(tǒng)的邏輯要求,常用的方式有自然語(yǔ)言、邏輯流程圖、時(shí)序圖或幾種方法的結(jié)合。當(dāng)系統(tǒng)較大或邏輯關(guān)系較復(fù)雜時(shí),系統(tǒng)任務(wù)(邏輯要求)邏輯的表述和理解都不是一件容易的工作。所以,分析系統(tǒng)的任務(wù)必須細(xì)致、全面,不能有理解上的偏差和疏漏。</p><p><b> 2.確定邏輯算法</b></p><p> 實(shí)現(xiàn)系統(tǒng)邏輯運(yùn)算的方法稱
13、為邏輯算法,也簡(jiǎn)稱為算法。一個(gè)數(shù)字系統(tǒng)的邏輯運(yùn)算往往有多種算法,設(shè)計(jì)者的任務(wù)不但是要找出各種算法,還必須比較優(yōu)劣,取長(zhǎng)補(bǔ)短,從中確定最合理的一種。數(shù)字系統(tǒng)的算法是邏輯設(shè)計(jì)的基礎(chǔ),算法不同,則系統(tǒng)的結(jié)構(gòu)也不同,算法的合理與否直接影響系統(tǒng)結(jié)構(gòu)的合理性。確定算法是數(shù)字系統(tǒng)設(shè)計(jì)中最具創(chuàng)造性的一環(huán),也是最難的一步。</p><p> 3.建立系統(tǒng)及子系統(tǒng)模型</p><p> 當(dāng)算法明確后,應(yīng)根
14、據(jù)算法構(gòu)造系統(tǒng)的硬件框架(也稱為系統(tǒng)框圖),將系統(tǒng)劃分為若干個(gè)部分,各部分分別承擔(dān)算法中不同的邏輯操作功能。如果某一部分的規(guī)模仍嫌大,則需進(jìn)一步劃分。劃分后的各個(gè)部分應(yīng)邏輯功能清楚,規(guī)模大小合適,便于進(jìn)行電路級(jí)的設(shè)計(jì)。 </p><p> 4.系統(tǒng)(或模塊)邏輯描述</p><p> 當(dāng)系統(tǒng)中各個(gè)子系統(tǒng)(指最低層子系統(tǒng))和模塊的邏輯功能和結(jié)構(gòu)確定后,則需采用比較規(guī)范的形式來(lái)描述系統(tǒng)的邏
15、輯功能。設(shè)計(jì)方案的描述方法可以有多種,常用的有方框圖、流程圖和描述語(yǔ)言等。</p><p> 對(duì)系統(tǒng)的邏輯描述可先采用較粗略的邏輯流程圖,再將邏輯流程圖逐步細(xì)化為詳細(xì)邏輯流程圖,最后將詳細(xì)邏輯流程圖表示成與硬件有對(duì)應(yīng)關(guān)系的形式,為下一步的電路級(jí)設(shè)計(jì)提供依據(jù)。</p><p> 5.邏輯電路級(jí)設(shè)計(jì)及系統(tǒng)仿真</p><p> 電路級(jí)設(shè)計(jì)是指選擇合理的器件和連接關(guān)
16、系以實(shí)現(xiàn)系統(tǒng)邏輯要求。電路級(jí)設(shè)計(jì)的結(jié)果常采用兩種方式來(lái)表達(dá):電路圖方式和硬件描述語(yǔ)言方式。EDA軟件允許以這兩種方式輸入,以便作后續(xù)的處理。</p><p> 當(dāng)電路設(shè)計(jì)完成后必須驗(yàn)證設(shè)計(jì)是否正確。在早期,只能通過(guò)搭試硬件電路才能得到設(shè)計(jì)的結(jié)果。目前,數(shù)字電路設(shè)計(jì)的EDA軟件都具有仿真功能,先通過(guò)系統(tǒng)仿真,當(dāng)系統(tǒng)仿真結(jié)果正確后再進(jìn)行實(shí)際電路的測(cè)試。由EDA軟件的驗(yàn)證結(jié)果十分接近實(shí)際結(jié)果,因此,可極大地提高電路設(shè)
17、計(jì)的效率。</p><p><b> 6.系統(tǒng)的物理實(shí)現(xiàn)</b></p><p> 物理實(shí)現(xiàn)是指用實(shí)際的器件實(shí)現(xiàn)數(shù)字系統(tǒng)的設(shè)計(jì),用儀表測(cè)量設(shè)計(jì)的電路是否符合設(shè)計(jì)要求?,F(xiàn)在的數(shù)字系統(tǒng)往往采用大規(guī)模和超大規(guī)模集成電路,由于器件集成度高、導(dǎo)線密集,故一般在電路設(shè)計(jì)完成后即設(shè)計(jì)印刷電路板,在印刷電路板上組裝電路進(jìn)行測(cè)試。需要注意的是,印刷電路板本身的物理特性也會(huì)影響電路的
18、邏輯關(guān)系。</p><p> 第二章任意波形產(chǎn)生器</p><p> 2.1任意波形產(chǎn)生器的系統(tǒng)構(gòu)成</p><p> 目前信號(hào)發(fā)生的主要實(shí)現(xiàn)方法由直接模擬法、直接數(shù)字法兩種。</p><p> 2.1.1直接模擬法</p><p> 圖2-1 直接模擬法框圖</p><p> 這
19、是傳統(tǒng)函數(shù)發(fā)生器的簡(jiǎn)化基本結(jié)構(gòu),一般都是由白由振蕩器產(chǎn)生原始波形,然后經(jīng)過(guò)轉(zhuǎn)換電路將原始波形轉(zhuǎn)換成其他波形,在上圖中三角波是由振蕩器產(chǎn)生的,方波是三角波通過(guò)比較器轉(zhuǎn)變而成的,正弦波是三角波通過(guò)一個(gè)波形整形電路(正弦波整形器)演變而來(lái)的,所需要波形經(jīng)過(guò)放大和衰減輸出,顯然這種方式產(chǎn)生的波形種類有限,每增加一種波形,都要增加相應(yīng)的轉(zhuǎn)換電路,整個(gè)電路變得很復(fù)雜,最重要的是要產(chǎn)生用戶所需要的任意波形復(fù)雜的波形幾乎不可能。</p>
20、<p> 2.1.2直接數(shù)字法</p><p> 直接數(shù)字法是采用直接數(shù)字合成(Direct Digital Synthesis)的方法實(shí)現(xiàn)信號(hào)產(chǎn)生。該技術(shù)具有頻率轉(zhuǎn)換速度快、頻率分辨率高、易于控制的突出特點(diǎn)。直接數(shù)字合成技術(shù)近年來(lái)發(fā)展得很快,而要產(chǎn)生任意波形就必須采用直接數(shù)字很成技術(shù)。隨著DDS技術(shù)的發(fā)展,出現(xiàn)了各種各樣的直接數(shù)字合成的結(jié)構(gòu),但基本上可以發(fā)成兩種:</p><p
21、> (1)基于地址計(jì)數(shù)器的數(shù)字頻率和成法</p><p> (2)基于相位累加器的數(shù)字頻率和成法</p><p> 2.1.3基于地址計(jì)數(shù)器的直接數(shù)字和成法</p><p><b> (1)結(jié)構(gòu)框圖</b></p><p> 圖2-2 基于地址計(jì)數(shù)器的直接數(shù)學(xué)合成結(jié)構(gòu)框圖</p><p
22、> 這是一種最簡(jiǎn)單的直接數(shù)字很成方式,這種直接數(shù)字頻率合成器的結(jié)構(gòu)包括地址計(jì)數(shù)器,存儲(chǔ)器和D/A轉(zhuǎn)換器。</p><p><b> (2)工作原理</b></p><p> 將波形數(shù)據(jù)存儲(chǔ)于存儲(chǔ)器中,而后用可程控的時(shí)鐘信號(hào)為存儲(chǔ)器提供掃描地址,與每個(gè)地址相對(duì)應(yīng)的數(shù)據(jù)則代表波形在等間隔取樣點(diǎn)上的幅度值。數(shù)據(jù)被送至DAC,從而產(chǎn)生一個(gè)正比于其數(shù)字編碼的電壓值,
23、每個(gè)電壓值保持一個(gè)時(shí)鐘周期,直至新的數(shù)據(jù)送至DAC,經(jīng)數(shù)模轉(zhuǎn)換后得到所需要的模擬電壓波形。在存儲(chǔ)器里的數(shù)據(jù)產(chǎn)生的波形是對(duì)“取樣波形”的階梯近似。</p><p> 假定地址計(jì)數(shù)器的時(shí)鐘頻率為fc,波形一周期內(nèi)有n個(gè)采樣值,那么很成的波形頻率為</p><p> 如果改變地址計(jì)數(shù)器的時(shí)鐘頻率或ROM的地址步進(jìn)大小,合成波形的頻率都會(huì)隨著改變。而要改變波形,只要在只讀存儲(chǔ)器中寫入不同的數(shù)據(jù)
24、。</p><p> 2.1.4基于相位累加器的直接數(shù)字合成法</p><p><b> (1)結(jié)構(gòu)框圖</b></p><p> 圖2-3 基于相位累加器直接數(shù)字合成結(jié)構(gòu)框圖</p><p> 這種結(jié)構(gòu)中主要由相位累加器、數(shù)據(jù)ROM, D/A變換器組成,它是種全新的直接數(shù)字合成方式。(目前國(guó)內(nèi)外文獻(xiàn)種提到的DD
25、S一般是指這種方式,下面不作說(shuō)明均指這種方式)。</p><p><b> (2)工作原理</b></p><p> 將要產(chǎn)生的波形數(shù)據(jù)存入波形存儲(chǔ)器,然后在參考時(shí)鐘的作用下,對(duì)輸入的頻率數(shù)據(jù)進(jìn)行累加,并且將累加器的輸出一部分作為讀取波形發(fā)生器的地址,將讀出的波形數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換為相應(yīng)的電壓信號(hào),D/A轉(zhuǎn)換器輸出的一系列的階梯電壓信號(hào)經(jīng)低通濾波后便輸出了光滑的很成
26、波形信號(hào)。以合成正弦波為例,通常我們考慮一個(gè)正弦波時(shí)習(xí)慣使用正弦波的幅度一時(shí)間表達(dá)式。</p><p> S (t) =Asin(ax+),正弦函數(shù)幅度的非線性使依據(jù)幅度產(chǎn)生任意頻率的正弦波非常困難,但我們注意到,正弦波的相位是線性變化的,DDS技術(shù)的關(guān)鍵就在于充分利用了正弦波相位線性變化這一特性,在DDS芯片種,其核心部件是相位累加和SIN函數(shù)表,下面作簡(jiǎn)單介紹:</p><p>
27、相位累加器在功能上說(shuō)實(shí)質(zhì)是一個(gè)N位快速可循環(huán)累加器,N位的相位累加器在每一個(gè)時(shí)鐘來(lái)臨時(shí)與頻率控制所決定的相位增量A累加一次,計(jì)數(shù)大于時(shí)則白動(dòng)溢出,保留后面N比特的數(shù)字于累加器中。每當(dāng)相位累加器計(jì)數(shù)滿后,可白動(dòng)循環(huán)重新累加,所以輸出相位可以保持連續(xù)變化,這就保證了輸出正弦波的連續(xù)性。</p><p> 相位累加器的輸出是隨時(shí)間不斷線性變化的用N位二進(jìn)制數(shù)表達(dá)的相位信息,相位信息是無(wú)法直接利用的,必須設(shè)法把相位信息
28、轉(zhuǎn)換成幅度信息,在DDS技術(shù)中,人們把對(duì)應(yīng)于不同相位的Sine函數(shù)的幅度存儲(chǔ)在Rom中,一般地,只要取相位累加器的高A位作為尋址信號(hào),就完全可以滿足精度的需要了。</p><p> 2.2任意波形產(chǎn)生器的作用</p><p> 一般來(lái)講任意波形發(fā)生器,是一種特殊的信號(hào)源,綜合具有其它信號(hào)源生成能力,因而適合各種仿真實(shí)驗(yàn)的需要。主要有這樣的功能:</p><p>
29、<b> (1)函數(shù)功能</b></p><p> 函數(shù)信號(hào)源是使用最廣的通用信號(hào)源,它能提供正弦波、鋸齒波、方波、脈沖波等波形,有的還同時(shí)具有調(diào)制和掃頻能力、眾所周知,在基礎(chǔ)實(shí)驗(yàn)中設(shè)計(jì)一種電路,需要驗(yàn)證其性能、可靠性與穩(wěn)定性,就需要給它施加理想的波形以辨別真?zhèn)?。如可使用信?hào)源的DC補(bǔ)償功能對(duì)固態(tài)電路控制DC偏壓電平;可對(duì)一個(gè)懷疑有故障的數(shù)字電路,利用信號(hào)源的方波輸出作為數(shù)字電路的時(shí)鐘,
30、同時(shí)使用方波加DC補(bǔ)償產(chǎn)生有效的邏輯電平模式輸出,觀察該電路的運(yùn)行狀況,而證實(shí)故障缺陷的地方……,總之,利用任意波形發(fā)生器這方面的基礎(chǔ)功能,能仿真基礎(chǔ)實(shí)驗(yàn)室所必須的信號(hào)。</p><p><b> (2)任意波形</b></p><p> 在實(shí)際的電子環(huán)境所設(shè)計(jì)的電路在運(yùn)行中,由于各種干擾和響應(yīng)的存在,實(shí)際電路往往存在各種信號(hào)缺陷和瞬變信號(hào),由于任意波形發(fā)生器特殊
31、的功能,為了增強(qiáng)任意波形生成能力,它往往依賴計(jì)算機(jī)通訊輸出波形數(shù)據(jù)。在計(jì)算機(jī)傳輸中,通過(guò)波形編輯軟件生成波形,有利于擴(kuò)充儀器的能力,更進(jìn)一步仿真模擬實(shí)驗(yàn)。同時(shí)由于編輯一個(gè)任意波形有時(shí)需要花費(fèi)很長(zhǎng)的時(shí)間和精力,并且每次編輯的波形可能有所差異,一般會(huì)在任意波形發(fā)生器內(nèi)配置一定數(shù)量的非易失性存儲(chǔ)器??梢园阉枰牟ㄐ螐挠?jì)算機(jī)接口下載到任意波形發(fā)生器的存儲(chǔ)器中。</p><p> 綜上所述,不論是在生產(chǎn)還是在科研與教學(xué)
32、上,任意波形發(fā)生器是電子工程師信號(hào)仿真實(shí)驗(yàn)的最佳工具。隨著我國(guó)經(jīng)濟(jì)和科技的發(fā)展,對(duì)相應(yīng)的測(cè)試儀器和測(cè)試手段也提出了更高的要求,而任意波形發(fā)生器己成為測(cè)試儀器中至關(guān)主要的一類,因此開發(fā)任意波形發(fā)生器具有重大意義。</p><p> 2.3任意波形產(chǎn)生器的應(yīng)用場(chǎng)合</p><p> 任意波形發(fā)生器是利用DDS(直接數(shù)字頻率合成)技術(shù),通過(guò)在波形存儲(chǔ)器內(nèi)存儲(chǔ)待輸出信號(hào)的波形采樣數(shù)據(jù),并對(duì)波形
33、存儲(chǔ)器進(jìn)行順序的循環(huán)尋址來(lái)合成波形。只要改變波形存儲(chǔ)器中的波形采樣數(shù)據(jù),就可以方便的得到需要波形的信號(hào)。因此任意波形發(fā)生器不僅能產(chǎn)生正弦、余弦、方波、三角波和鋸齒波等常見信號(hào),還可以通過(guò)各種編輯手段生成任意的波形采樣數(shù)據(jù),方便的合成傳統(tǒng)信號(hào)發(fā)生器所不能生成的任意波形信號(hào),從而滿足各種測(cè)試和實(shí)驗(yàn)的需要。</p><p> 任意波形產(chǎn)生器的設(shè)計(jì)</p><p><b> 3.1設(shè)
34、計(jì)要求</b></p><p> 電路要求可以產(chǎn)生方波、正弦波、三角波,波形的頻率可調(diào),通過(guò)控制開關(guān)控制產(chǎn)生的波形,并通過(guò)控制按鍵控制設(shè)計(jì)信號(hào)的頻率,改變頻率的方法可以采用分頻和DDS的原理進(jìn)行控制信號(hào)頻率。并進(jìn)行D/A轉(zhuǎn)換電路與濾波電路的設(shè)計(jì),通過(guò)采用施密特觸發(fā)器對(duì)波形進(jìn)行整形,設(shè)計(jì)一頻率測(cè)量電路對(duì)所產(chǎn)生的頻率進(jìn)行測(cè)量,通過(guò)數(shù)碼管顯示出來(lái),并在數(shù)碼管上顯示當(dāng)前的波形代碼。</p>&
35、lt;p><b> 3.2設(shè)計(jì)思路</b></p><p> ?。?)提出設(shè)計(jì)說(shuō)明書,即用自然語(yǔ)言表達(dá)系統(tǒng)項(xiàng)目的功能特點(diǎn)和技術(shù)參數(shù)等。</p><p> (2)建立VHDL行為模型,這一步是將設(shè)計(jì)說(shuō)明書轉(zhuǎn)化為VHDL行為模型。</p><p> ?。?)VHDL行為仿真。這一階段可以利用VHDL仿真器(如ModelSim)對(duì)頂層系統(tǒng)的
36、行為模型進(jìn)行仿真測(cè)試,檢查模擬結(jié)果,繼而進(jìn)行修改和完善。</p><p> (4)VHDL-RTL級(jí)建模。如上所述,VHDL只有部分語(yǔ)句集合可用于硬件功能行為的建模,因此在這一階段,必須將VHDL的行為模型表達(dá)為VHDL行為代碼(或稱VHDL-RTL級(jí)模型)。</p><p> ?。?)前端功能仿真。</p><p><b> (6)邏輯綜合。<
37、/b></p><p> ?。?)測(cè)試向量生成。這一階段主要是針對(duì)ASIC設(shè)計(jì)的。FPGA設(shè)計(jì)的時(shí)序測(cè)試文件主要產(chǎn)生于適配器。對(duì)ASIC的測(cè)試向量文件是綜合器結(jié)合含有版圖硬件特性的工藝庫(kù)后產(chǎn)生的,用于對(duì)ASIC的功能測(cè)試。</p><p> ?。?)功能仿真。利用獲得的測(cè)試向量對(duì)ASIC的設(shè)計(jì)系統(tǒng)和子系統(tǒng)的功能進(jìn)行仿真。</p><p> ?。?)結(jié)構(gòu)綜合。主
38、要將綜合產(chǎn)生的表達(dá)邏輯連接關(guān)系的網(wǎng)表文件,結(jié)合具體的目標(biāo)硬件環(huán)境進(jìn)行標(biāo)準(zhǔn)單元調(diào)用、布局、布線和滿足約束條件的結(jié)構(gòu)優(yōu)化配置,即結(jié)構(gòu)綜合。</p><p> (10)門級(jí)時(shí)序仿真。在這一級(jí)中將使用門級(jí)仿真器或仍然使用VHDL仿真器(因?yàn)榻Y(jié)構(gòu)綜合后能同步生成VHDL格式的時(shí)序仿真文件)進(jìn)行門級(jí)時(shí)序仿真,在計(jì)算機(jī)上了解更接近硬件目標(biāo)器件工作的功能時(shí)序。</p><p> ?。?1)硬件測(cè)試。這是
39、對(duì)最后完成的硬件系統(tǒng)(如ASIC或FPGA)進(jìn)行檢查和測(cè)試。</p><p><b> 3.3設(shè)計(jì)流程</b></p><p> 3.4設(shè)計(jì)步驟及程序</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> 測(cè)頻模塊 </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硬件實(shí)現(xiàn)及調(diào)試結(jié)果</p><p><b> 3.5.
93、1硬件實(shí)現(xiàn)</b></p><p><b> 電路模塊組成部分:</b></p><p><b> 3.5.2調(diào)試結(jié)果</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> 第四章課程設(shè)計(jì)心得</b></p><p> 這次課程設(shè)計(jì)的任務(wù)是根據(jù)任意波形發(fā)生器的特點(diǎn)和應(yīng)用情況,結(jié)合新一代高性能芯片設(shè)計(jì)一種使用簡(jiǎn)單、性能優(yōu)良的任意波形發(fā)生器,該任意波形發(fā)生器能產(chǎn)生正弦波、方波,三角波等常用的標(biāo)準(zhǔn)信號(hào),還能根據(jù)用戶的需要生成任意波
95、形。 </p><p> 通過(guò)這次課程設(shè)計(jì)我深刻體會(huì)到EDA編程的復(fù)雜,一個(gè)示波器要這么多程序,我們學(xué)的知識(shí)是不能完成這么復(fù)雜的設(shè)計(jì)的。可見我們學(xué)的知識(shí)只是九牛一毛,要想學(xué)的更多還要不斷的鉆研和實(shí)踐,才能達(dá)到設(shè)計(jì)一個(gè)示波器或別的器件的能力。</p><p> 所以我們要不斷地學(xué)習(xí)以此來(lái)提高自己。</p><p> 雖然這次課程設(shè)計(jì)有一個(gè)星期的時(shí)間,但是我們真正
96、上課的時(shí)間只有一天,因?yàn)閷W(xué)校只有一個(gè)EDA實(shí)驗(yàn)室,而課程設(shè)計(jì)的班級(jí)卻比較多,所以學(xué)校要多建幾間這樣的實(shí)驗(yàn)室。還有調(diào)試時(shí)芯片只有一塊是好的,老師雖然在那調(diào)了好久,也修了好久也沒(méi)找出那塊好板子,所以學(xué)校要在實(shí)驗(yàn)設(shè)備方面也要加強(qiáng)管理,定時(shí)檢查和修理。</p><p> 通過(guò)這次課程設(shè)計(jì)我深刻體會(huì)到理論與實(shí)踐要相結(jié)合的重要性,還有就是要很好的掌握一種軟件是不容易的,我們要都看一些課外書,只停留在上課時(shí)老師講的重點(diǎn)要領(lǐng)上
97、,這樣只會(huì)學(xué)到一點(diǎn)膚淺的知識(shí),要想學(xué)到更多就得付出努力。</p><p> 最后,感謝老師的教導(dǎo),讓我們學(xué)到了許多新知識(shí),相信在以后的學(xué)習(xí)過(guò)程中會(huì)用到,謝謝老師的付出。</p><p> 附錄一 引腳配置</p><p> 附錄二:下載板與主板主要器件連接關(guān)系</p><p><b> 參考文獻(xiàn)</b&
98、gt;</p><p> 1 史海明. 個(gè)人儀器多功能任意波形發(fā)生器的研制,儀表技術(shù),1988,1:26~29</p><p> 2 趙柏樹,李紀(jì)武. 一種可調(diào)頻和占空比的函數(shù)發(fā)生器,電子技術(shù)應(yīng)用,1997,8:21~22</p><p> 3 王彤威. 任意波形發(fā)生器VXI模塊的研制,哈爾濱理工大學(xué)碩士學(xué)位論文,1997:1~6</p><
99、;p> 4 田良. 數(shù)字合成應(yīng)用集成電路的性能及應(yīng)用,國(guó)外電子測(cè)量技術(shù),1996,5:14~17</p><p> 5 李衍忠,蔡英杰,姬強(qiáng)等. DDS譜質(zhì)分析及其雜散抑制研究綜述,現(xiàn)代雷達(dá),2000年8月:33~38</p><p> 6 張玉興,彭新泉. 相位舍位對(duì)DDS譜分布的影響,電子科技大學(xué)學(xué)報(bào),1997 4 26 :137~142 </p><p
100、> 7 張玉興,彭新泉. 直接數(shù)宇頻率合成器的頻譜分析,DDS技術(shù)與應(yīng)用研討會(huì)論文集,1997,12:13~ 20</p><p> 8. 王英軍,黃小輝.?dāng)?shù)字電視新形勢(shì)下的綜合業(yè)務(wù)管理[J].有線電視技術(shù),2004(6):78-80.</p><p> 9.吳小強(qiáng). 數(shù)字電視用戶管理系統(tǒng)[J].有線電視技術(shù),2004(4):83-86.</p><p>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda交通燈課程設(shè)計(jì)報(bào)告(eda)
- eda課程設(shè)計(jì)報(bào)告--eda數(shù)字搶答器
- eda技術(shù)課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- eda數(shù)字秒表課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)
- eda頻率計(jì)課程設(shè)計(jì)報(bào)告
- 游戲機(jī)eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告--洗衣機(jī)
- 電子時(shí)鐘eda課程設(shè)計(jì)報(bào)告
- 數(shù)字鐘eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告--數(shù)字鐘
- eda課程設(shè)計(jì)報(bào)告---頻率計(jì)
- eda課程設(shè)計(jì)報(bào)告---數(shù)字鐘設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論