基于FPGA的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于FPGA的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于FPGA的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于FPGA的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于FPGA的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目 錄緒論51 eda技術(shù)簡介61.1 eda的論述61.2 eda的開發(fā)流程61.3 eda常用的開發(fā)工具72 波形發(fā)生器的硬件設(shè)計(jì)82.1波形發(fā)生器系統(tǒng)的結(jié)構(gòu)82.2波形發(fā)生器所用的硬件介紹.9 2.2.1 fpga芯片的介紹.92.2.2 d/a模塊轉(zhuǎn)換介紹93波形發(fā)生器的軟件設(shè)計(jì)103.1各種波形模塊設(shè)計(jì)與仿真113.1.1遞增斜波產(chǎn)生模塊設(shè)計(jì)與仿真113.1.2遞減斜波產(chǎn)生模塊設(shè)計(jì)與仿真113.1.3三角波產(chǎn)生模塊設(shè)計(jì)與仿真12 3.1.4階臺(tái)波產(chǎn)生模塊設(shè)計(jì)與仿真13 3.1.5正弦波產(chǎn)生模塊設(shè)計(jì)與仿真14 3.1.6方波產(chǎn)生模塊設(shè)計(jì)與仿真15 3.1.7波形選擇模塊設(shè)計(jì)與仿真16

2、3.2頂層設(shè)計(jì).164 波形發(fā)生器的調(diào)試與運(yùn)行.17 4.1波形發(fā)生器的調(diào)試.174.2fpga的配置設(shè)計(jì).20 4.2.1 管腳分配.20 4.2.2 下載.20結(jié)論21參考文獻(xiàn)22附錄.22致謝23插圖索引圖1查找表結(jié)構(gòu)原理圖6圖2 fpga的流程圖7圖3波形發(fā)生器的結(jié)構(gòu)8圖4芯片0832的內(nèi)部結(jié)構(gòu)圖9圖5波形發(fā)生器的軟件模塊10圖6遞增斜波仿真圖17圖7遞減斜波仿真圖18圖8三角波仿真圖.18圖9階臺(tái)波仿真圖.18圖10正弦波仿真圖.19圖11方波仿真圖 .19基于fpga的多功能波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)摘 要應(yīng)用eda技術(shù)完成一個(gè)電子產(chǎn)品的設(shè)計(jì), 以 fpga芯片中集成一個(gè)在電子生產(chǎn)或檢

3、測(cè)中通常用到波形發(fā)生器。在max+plus軟件開發(fā)平臺(tái),輸入原理圖或硬件描述語言hdl完成的設(shè)計(jì)文件,系統(tǒng)將自動(dòng)地完成邏輯編譯、綜合、仿真、目標(biāo)芯片的適配編譯、下載等的工作。設(shè)計(jì)的工作是利用編程的方式來進(jìn)行對(duì)系統(tǒng)的功能的描述,在eda工具的幫助下,應(yīng)用相應(yīng)的可編程器件,實(shí)現(xiàn)設(shè)計(jì)的最終結(jié)果。使常用到的波形發(fā)生器微型化,設(shè)計(jì)簡單化,使用簡單化?!娟P(guān)鍵詞】:fpga eda 六種波形design and implementation of multiple functions wave generator based on fpgaabstracteda application of technol

4、ogy to complete an electronic product design to fpga chip integrated in a production or electronic detection function in usually used in signal generator。 max+plus in the software development platform for the importation of schematic or hardware description language hdl design document completed, th

5、e system will automatically compile the completion of logic, integrated, simulation, the goal of the chips fit to compile, download, and so on。 design work is to use programming on the way to carry out the function of the system described in the eda tools with the help of the appropriate application

6、 of the programmable devices, designed to achieve the final result。 used to make the micro-function signal generator, simple design, simple to use。【key words】:fpga eda six kinds of waveform緒論eda(electronic design automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù)。它提供了基于計(jì)算機(jī)和信息技術(shù)的電路系統(tǒng)設(shè)計(jì)方法。eda技術(shù)的發(fā)展和推廣應(yīng)用極大地推動(dòng)了電子工業(yè)的發(fā)展

7、,隨著eda技術(shù)的發(fā)展,硬件電子電路的設(shè)計(jì)幾乎全部可以依靠計(jì)算機(jī)來完成。這樣就大大縮短了硬件電子電路設(shè)計(jì)的周期從而使制造商可以快速開發(fā)出品種多批量小的產(chǎn)品,以滿足市的眾多需求。eda技術(shù)的推廣是當(dāng)今世界的一個(gè)技術(shù)熱點(diǎn)。eda技術(shù)是現(xiàn)代電子工業(yè)中不可缺少的一項(xiàng)技術(shù)。傳統(tǒng)設(shè)計(jì)應(yīng)用分立元件或通用數(shù)字電路芯片,設(shè)計(jì)周期長,花費(fèi)大,而且往往局部功能優(yōu)化,而整體功能較差。eda 以計(jì)算機(jī)為平臺(tái),根據(jù)硬件描述語言,如vhdl,自動(dòng)地完成邏輯編譯、化簡分割、綜合及優(yōu)化,布局布線,仿真直至對(duì)特定目標(biāo)芯片的適配編譯,邏輯映射和編程下載等工作。以自頂向下的設(shè)計(jì)方法,使硬件設(shè)計(jì)軟件化,擺脫了傳統(tǒng)手工設(shè)計(jì)的眾多缺點(diǎn)。其

8、方法簡單,頻率穩(wěn)定度高,易于程控。隨著eda技術(shù)的深入發(fā)展,基于硬件描述語言的方法將有取代傳統(tǒng)手工設(shè)計(jì)方法的趨勢(shì)。嘗試用vhdl設(shè)計(jì)來產(chǎn)生正弦波,其頻率切換非常便捷,調(diào)試、修改也非常節(jié)省時(shí)間。fpga是英文field programmable gate array的縮寫,即現(xiàn)場可編程門陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊cl

9、b(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個(gè)部分。它與分立元件相比,具有速度快、容量大、功耗小和可靠性高等優(yōu)點(diǎn)。由于集成度高,設(shè)計(jì)方法先進(jìn)、現(xiàn)場可編程,可以設(shè)計(jì)各種數(shù)字電路,因此,在通信、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域內(nèi)得到了廣泛應(yīng)用。不久的將來將全部取代分立數(shù)字元件,目前一些數(shù)字集成電路生產(chǎn)廠商已經(jīng)停止了分立數(shù)字集成電路的生產(chǎn)。此外,fpga還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。因此,fpga技術(shù)的應(yīng)用前景

10、非常廣闊。vhdl(very high speed integrated circuit hardware description language,超高速集成電路硬件描述語言)誕生于1982年,是由美國國防部開發(fā)的一種快速設(shè)計(jì)電路的工具,目前已經(jīng)成為ieee(the institute of electrical and electronics engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計(jì)方法,vhdl具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(top to down)和基于庫(librarybased)的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計(jì)

11、入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)用vhdl對(duì)電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯(cuò),然后在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,下載到具體的fpga器件中去,從而實(shí)現(xiàn)可編程的專用集成電路(asic)的設(shè)計(jì)。波形發(fā)生器在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。例如在通信、廣播、電視系統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻)、視頻信號(hào)或脈沖信號(hào)運(yùn)載出去,就需要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等領(lǐng)域內(nèi),如高頻感應(yīng)加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的振蕩器。現(xiàn)在波形發(fā)生器

12、的實(shí)現(xiàn)方法通常有以下幾種:(1)用分立元件組成的波形發(fā)生器:通常是單一波形發(fā)生器且頻率不高,其工作不很穩(wěn)定,不易調(diào)試。(2)可以由晶體管、運(yùn)放ic等通用器件制作,更多的則是用專門的波形發(fā)生器ic產(chǎn)生。早期的波形發(fā)生器ic,如l8038、ba205、r2207/2209等,它們的功能較少,精度不高,頻率上限只有300khz,無法產(chǎn)生更高頻率的信號(hào),調(diào)節(jié)方式也不夠靈活,頻率和占空比不能獨(dú)立調(diào)節(jié),二者互相影響。(3)利用單片集成芯片的波形發(fā)生器:能產(chǎn)生多種波形,達(dá)到較高的頻率,且易于調(diào)試。鑒于此,美國馬克西姆公司開發(fā)了新一代波形發(fā)生器,它克服了(2)中芯片的缺點(diǎn),可以達(dá)到更高的技術(shù)指標(biāo),是上述芯片望

13、塵莫及的。此波形發(fā)生器頻率高、精度好,因此它被稱為高頻精密波形發(fā)生器ic。在鎖相環(huán)、壓控振蕩器、頻率合成器、脈寬調(diào)制器等電路的設(shè)計(jì)上都是優(yōu)選的器件。1. eda技術(shù)簡介1.1 eda的論述eda(electronic design automation)即電子設(shè)計(jì)自動(dòng)化,它是近幾年來迅速發(fā)展起來的將計(jì)算機(jī)軟件。硬件。微電子技術(shù)交叉運(yùn)用的現(xiàn)代電子學(xué)科,是20世紀(jì)90年代從cad。cam。cat和cae的概念發(fā)展而來的。eda技術(shù)就是以計(jì)算機(jī)為工作平臺(tái)。以eda軟件工具為開發(fā)環(huán)境。以硬件描述語言為設(shè)計(jì)語言。以asic為實(shí)現(xiàn)載體的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過程。在eda軟件平臺(tái)上,根據(jù)原理圖或硬件描述語言h

14、dl完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯。化簡。分割。綜合及優(yōu)化。布局布線。仿真。目標(biāo)芯片的適配編譯。邏輯映射和編程下載等工作。設(shè)計(jì)者的工作只限于軟件的方式來完成對(duì)就的硬件功能的描述了,要eda工具的幫助下,就應(yīng)用相應(yīng)的fpga器件就可以得到最后的設(shè)計(jì)結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個(gè)設(shè)計(jì)和修改過程如同完成軟件設(shè)計(jì)一樣方便和高效。當(dāng)然我們這說的是eda是狹義的eda,主要是指數(shù)字系統(tǒng)的自動(dòng)化設(shè)計(jì)。在這設(shè)計(jì)中是基于max+plus為eda的開發(fā)工具,以altera生產(chǎn)的fpga為核心芯片,采用康草科技的產(chǎn)品作為核心板,用這兩者作為我們的橋梁,滿足開發(fā)的需求。 在一切工作開始之前先了解下我們的工具fp

15、ga芯片和max+plus軟件。目前我們的要求集成電路的集成度超來超高,由于需求的推使,經(jīng)歷了pla。pal。gal至現(xiàn)在的fpga。各種性能和集成度都不斷改進(jìn),能實(shí)現(xiàn)的功能也不斷地豐富,當(dāng)然開發(fā)起來也變得容易和快速,相應(yīng)的投資也越小。因?yàn)樯婕暗降拿嬉卜浅V,在此只對(duì)用到的fpga作簡要的說明。fpga器件在結(jié)構(gòu)上,由邏輯功能塊排列,它的結(jié)構(gòu)可以分為三部分:可編程邏輯功能塊;可編程i/o單元;可編程內(nèi)部連線資源??删幊踢壿媺K是fpga的主體,可以根據(jù)設(shè)計(jì)靈活改變其內(nèi)部的連接,完成不同的邏輯功能;可編程i/o它們是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)i/o信號(hào)的驅(qū)動(dòng)與匹配需求。可編程內(nèi)

16、部連線資源是連通fpga內(nèi)部所有單元,連線的長度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度。常見fpga的可編程邏輯功能塊結(jié)構(gòu)主要有3種類型:查表結(jié)構(gòu)、多路開關(guān)結(jié)構(gòu)和多級(jí)與非門結(jié)構(gòu)。查找表結(jié)構(gòu)的fpga用得相當(dāng)?shù)亩?所以就以它的邏輯實(shí)現(xiàn)原理為例,如下圖所示 圖1 查找表結(jié)構(gòu)原理圖a,b,c,d由fpga芯片的管腳輸入后進(jìn)入可編程連線,然后作為地址線連到查找表lut,lut中已經(jīng)事先寫入了所有可能的邏輯結(jié)果,通過地址查找到相應(yīng)的數(shù)據(jù)然后輸出,這樣組合邏輯就實(shí)現(xiàn)了。 該電路中d觸發(fā)器是直接利用lut后面d觸發(fā)器來實(shí)現(xiàn)。時(shí)鐘信號(hào)clk由i/o腳輸入后進(jìn)入芯片內(nèi)部的時(shí)鐘專用通道,直接連接到觸發(fā)器的時(shí)

17、鐘端。觸發(fā)器的輸出與i/o腳相連,把結(jié)果輸出到芯片管腳,就完成了圖1。1所示電路的功能。(以上這些步驟都是由軟件自動(dòng)完成的,不需要人為干預(yù))fpga的開發(fā)工具也是很多的, max+plus平臺(tái)是由altera公司的開發(fā)工具之一。1.2 eda的開發(fā)流程做每一個(gè)工程跟畫畫一樣,我們先要有準(zhǔn)備好作畫時(shí)的工具,比如紙、筆、墨。工具有了,更重要的就是思考應(yīng)怎樣出色地完成作品,都思考好了才動(dòng)手畫,最后得出滿意的作品。在做每一個(gè)工程,在它的開發(fā)前都是要先了解它要用到哪些工具,它的基本的開發(fā)流程,它具體要經(jīng)過哪些過程,這樣在做工程時(shí)才不會(huì)亂作一團(tuán)忙忙碌碌而無所獲?,F(xiàn)在我們擁有了開發(fā)所用到的軟硬件。接下來就到

18、我們策劃了。基于fpga的開發(fā)流程如圖2所示 : 圖2 fpga的流程圖示圖說明:構(gòu)思是一開始的必要的一個(gè)項(xiàng)目構(gòu)思,在它的之后才動(dòng)手做我們的項(xiàng)目。建立工程是每個(gè)項(xiàng)目是著手做的第一步, max+plus以工程單元對(duì)設(shè)計(jì)過程進(jìn)行管理。建立頂層圖,可以這樣理解,頂層圖是一個(gè)容器,將整個(gè)工程的各個(gè)模塊包容在里面,編譯時(shí)就是將這些模塊整合在一起。采用altera公司提供的各種功能模塊。max+plus軟件環(huán)境里包含了大量的常用功能模塊,例如計(jì)數(shù)器、累加器等等。如果采用這些功能模塊將節(jié)省你許多寶貴的開發(fā)時(shí)間,帶來事半功倍的效果。當(dāng)然也可以自己去構(gòu)造屬于自己的功能模塊。將各個(gè)功能模塊用線連起來,這個(gè)過程就像

19、protel連結(jié)各電器元件,把各個(gè)芯片連接起來,組成系統(tǒng)。這時(shí)設(shè)計(jì)的系統(tǒng)就差不多出來了,下一步要為該設(shè)計(jì)選擇芯片載體,才真正在物理上實(shí)現(xiàn)系統(tǒng)功能。這一步的主要工作是:選擇芯片型號(hào),為頂層圖的各個(gè)輸入輸出信號(hào)分配芯片的管腳,設(shè)置編譯選項(xiàng),目的是讓編譯器知道更多更好的信息。編譯,這個(gè)過程像軟件開發(fā)里的編譯,但這過程比軟件的編譯要復(fù)雜得多,它畢竟最終要實(shí)現(xiàn)硬件里的物理結(jié)構(gòu),包含了優(yōu)化邏輯的組合。綜合邏輯以及布線等步驟。在max+plus這些集成環(huán)境會(huì)幫你自動(dòng)完成這幾個(gè)步驟的工作。如果設(shè)計(jì)出錯(cuò)了,系統(tǒng)就會(huì)有相應(yīng)的提示,那么就要根據(jù)提示進(jìn)行改正,直到編譯成功。編譯后會(huì)生成.sof和.pof的文件,前者是

20、通過jtag下載到fpga內(nèi)部,設(shè)計(jì)就能實(shí)現(xiàn)預(yù)期的功能,但斷電后fpga里的信息會(huì)丟失,后者可以下載到fpga的配置芯片(eeprom或flash芯片),掉電后這些配置信息不會(huì)丟失,重新上電后通過該配置芯片對(duì)fpga的內(nèi)部ram進(jìn)行配置。對(duì)于復(fù)雜的設(shè)計(jì),工程編譯了以后可以用max+plus的仿真功能或其它仿真軟件(如modelsim)對(duì)設(shè)計(jì)反復(fù)進(jìn)行仿真的驗(yàn)證,直到滿足要求。1.3 eda常用的開發(fā)工具eda工具在eda技術(shù)應(yīng)用中占據(jù)極其重要的位置,eda的核心是利用計(jì)算機(jī)完成電子設(shè)計(jì)全過程自動(dòng)化,因此,基于計(jì)算機(jī)環(huán)境的eda軟件的支持是必不可少的。eda工具大致可以分為如下5個(gè)模塊: 1.設(shè)計(jì)

21、輸入編輯器 2.仿真器 3.hdl綜合器 4.適配器 5.下載器當(dāng)然這樣的分類并不是絕對(duì)的,現(xiàn)在往往把各個(gè)eda工具集成在一起,如用到的max+plus。一、設(shè)計(jì)輸入編輯器 設(shè)計(jì)輸入編輯器是工程設(shè)計(jì)的第一部,常用的設(shè)計(jì)輸入方法有hdl語言輸入(目前用得最多的是verilog和vhdl),原理圖輸入、ip core輸入(是指那些已設(shè)計(jì)好了的模塊)。二、仿真器它有很多仿真工具但在這講述一下基于fpga的hdl的仿真,按仿真的描述的能級(jí)別的不同,hdl仿真器可以分為單獨(dú)或綜合完成以下各步驟:系統(tǒng)級(jí)的仿真、行為仿真、rtl級(jí)仿真、門級(jí)時(shí)序仿真。這個(gè)過程按仿真是否考慮延時(shí)分類,可以分為功能仿真的時(shí)序仿真

22、,根據(jù)輸入仿真文件的不同,可以由不同的仿真器完成,也可以由同一個(gè)仿真器完成。 三、hdl綜合器 綜合器的功能就是將設(shè)計(jì)者在eda平臺(tái)上完成的針對(duì)某個(gè)系統(tǒng)的hdl、原理圖或狀態(tài)圖形描述,針對(duì)給定的硬件結(jié)構(gòu)組件,進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門級(jí)電路甚至更底層的電路描述文件。由此可知綜合器是軟件描述與硬件實(shí)現(xiàn)的一座橋梁。綜合的過程就是將電路的高級(jí)語言描述轉(zhuǎn)換成低級(jí)的、可與fpga的門陳列基本結(jié)構(gòu)相映射的網(wǎng)表文件。四、適配器 適配器的功能是將由綜合生成的網(wǎng)表文件配置于指定的目標(biāo)器件中,產(chǎn)生最終的下載文件。適配器的目標(biāo)器件(fpga芯片)必須屬于原綜合器指定的目標(biāo)器件系列。五、下載器 編程下載就

23、是把設(shè)計(jì)下載到對(duì)應(yīng)的實(shí)際器件,實(shí)現(xiàn)硬件設(shè)計(jì)。2 波形發(fā)生器的硬件設(shè)計(jì)2.1波形發(fā)生器系統(tǒng)的結(jié)構(gòu)通過波形發(fā)生器可以得到正弦波、三角波、方波。這些波形的生產(chǎn)都是通過fpga的核心芯片,各種運(yùn)算都在fpga中進(jìn)行,直接輸出選擇的波形。其總的結(jié)構(gòu)示意圖如3: 圖3 波形發(fā)生器的結(jié)構(gòu)其中clk接在核心板上的50m的晶振,由于50m 的頻率太高了,要對(duì)這個(gè)頻率進(jìn)行分頻,為了簡單起見,不再專門設(shè)計(jì)一個(gè)分頻器,而調(diào)用max+plus里自帶的計(jì)數(shù)器功能宏模塊,采用計(jì)數(shù)器來代替分頻器。reset是用于復(fù)位之用,而sel是用于波形的選擇。通過了fpga芯片和dac0832就可以得到波形的輸出。其中fpga是波形發(fā)生

24、器系統(tǒng)的結(jié)構(gòu)中的核心,相當(dāng)于電腦的cpu。從dac0832輸出的是電流,如要在dac0832要輸出端輸出電壓,可以用一個(gè)運(yùn)器,對(duì)輸出波形進(jìn)行i/v轉(zhuǎn)換,在放大器在的輸入端加一個(gè)可變電阻,即可得到所需幅值。對(duì)于芯片所用到的電源核心板上已有提供,可以直接用。2.2波形發(fā)生器所用的硬件介紹采用此技術(shù)的目的就是減少耗材,同時(shí)減小器件的體積提高性能,在相同的硬件結(jié)構(gòu)系統(tǒng)中得到所需的功能。所以在這里用到的器件不多。波形發(fā)生器制作過程中用到的硬件有:4.5v的電源、以altera公司生產(chǎn)的芯片,和以這個(gè)目標(biāo)芯片為核心的核心板,核心板上有穩(wěn)壓管及其供電系統(tǒng)、50mhz的晶振、sdram:8mbyte、flas

25、h:2mbyte、提供配置模式:jtag和epcs,此外所有io配置管腳通過插針引出,下載設(shè)計(jì)到目標(biāo)芯片時(shí)用到的并口下載數(shù)據(jù)線;還用到選擇波形的按鈕。由于這些波形產(chǎn)生都是在fpag芯片中產(chǎn)生,產(chǎn)生的都是數(shù)字信號(hào),比如三角波,它從00000000,clk來一個(gè)上升延信號(hào)系統(tǒng)會(huì)自動(dòng)給它加1,變成了00000001,再把這個(gè)8位二進(jìn)制的信號(hào)輸出來,這樣周而復(fù)始地工作。而fpga是只數(shù)字信號(hào)處理器,在模擬號(hào)轉(zhuǎn)換它是顯得很無助的。所以在它的輸出端接上一個(gè)數(shù)模轉(zhuǎn)換器,把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出。所以它由兩部分組成:數(shù)據(jù)產(chǎn)生,數(shù)據(jù)的轉(zhuǎn)換。2.2.1 fpga芯片的介紹1所要的頻率就是把50mhz的頻率通過

26、分頻的辦法得到所要的頻率。用通常的方法是專門設(shè)計(jì)一個(gè)分頻器,但也可以通過調(diào)用max+plus自帶的計(jì)數(shù)器的模塊宏。用到設(shè)置設(shè)計(jì)寬度為256,即可取0到256分頻范圍,在這我們都選擇為250,由此可以計(jì)算輸出的頻率:f=50mhz/500=100khz。t=10微秒2可以用3個(gè)物理的按鈕給波形選擇的信號(hào),但這樣實(shí)行挺麻煩的,而且外圍電路要復(fù)雜并也浪費(fèi)了fpga的片內(nèi)資源。我們可以利用片內(nèi)的資源去設(shè)計(jì)一個(gè)三位的六進(jìn)制的加法計(jì)數(shù)器,用一個(gè)按鈕就可以進(jìn)行波形的選擇。當(dāng)復(fù)位時(shí)輸出全為1,每按一次就是加法計(jì)數(shù)器就自動(dòng)變?yōu)?,出來的就是選擇波形的信號(hào)。3芯片的核心器件是波形發(fā)生器的處理部分。波形發(fā)生器是由正

27、弦波產(chǎn)生模塊(sin)、三角波產(chǎn)生模塊(delat)、方波產(chǎn)生模塊(square)和輸出波形選擇模塊(ch3a1)它們都是跟著輸入的時(shí)鐘的上升延而產(chǎn)生相應(yīng)的數(shù)字信號(hào),而輸出到0832的則要由sel產(chǎn)生的選擇信號(hào)來決定。2.2.2 d/a轉(zhuǎn)換模塊介紹1d/a轉(zhuǎn)換器的類型很多,從輸入電路來說,一般的d/a轉(zhuǎn)換器都帶有輸入寄存器,與微機(jī)能直接對(duì)接。在這采用dac0832分辨率8位的d/a轉(zhuǎn)換集成電路芯片。它具有連接簡單,轉(zhuǎn)換控制方便、價(jià)格低廉等特點(diǎn),在各微機(jī)系統(tǒng)中得到廣泛的應(yīng)用。如下面是dac0832的結(jié)構(gòu)框圖:圖4 芯片0832的內(nèi)部結(jié)構(gòu)圖 8位d/a轉(zhuǎn)換器,實(shí)際上是一個(gè)t型電阻網(wǎng)絡(luò),在外部運(yùn)算放

28、大器配合下完成d/a轉(zhuǎn)換工作。dac0832的內(nèi)部包括兩個(gè)8位寄存器、1個(gè)8位轉(zhuǎn)換器和相應(yīng)輔助電路:8位輸入寄存器為第一級(jí)鎖存器,它的鎖存信號(hào)為ile。當(dāng)ile為高電平、cs和wr1為低電平時(shí),輸入寄存器的輸出隨輸入而變化。此后,wr1由低變高時(shí),ile變?yōu)榈碗娖?,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中。我們這里這種工作方式。 8位dac寄存器為第二級(jí)鎖存器,它的鎖存信號(hào)也稱為通道控制信號(hào)。wr2和xfeb同時(shí)為低電平時(shí),le2為高電平,這時(shí),8位的dac寄存器的輸出隨輸入而變化,此后,當(dāng)wr2由低變高時(shí),le2變?yōu)榈碗娖?,將輸入寄存器的信息鎖存到dac寄存器。2dac0832內(nèi)部有兩個(gè)寄存器,能實(shí)現(xiàn)

29、雙緩沖、單緩沖和直通三種工作方式。我們用dac0832的單緩沖的工作方式,也就只有用一個(gè)寄存器受到控制,這時(shí)將另一個(gè)寄存器的有關(guān)控制信號(hào)預(yù)設(shè)置成有效,使之開通。3dac0832c 以電流形式輸出轉(zhuǎn)換結(jié)果,若要得到電壓形式的輸出結(jié)果需另加i/v轉(zhuǎn)換電路,這時(shí)可采用運(yùn)算放大器。于我們用到的單極性輸出電路,輸出電壓的格式為:vout=-(d×vref/256)式中d為輸入數(shù)字量的十進(jìn)制值。因?yàn)檗D(zhuǎn)換結(jié)果iout1接運(yùn)算放大器的反相端,所以式中有一個(gè)負(fù)號(hào)。若vref=+5v,當(dāng)d=0-255(00hffh)時(shí),vout=-(04。98)v。調(diào)整運(yùn)算放大器的調(diào)零電位器??梢詫?duì)d/a芯片進(jìn)行零點(diǎn)補(bǔ)

30、償,調(diào)節(jié)外接于反饋回路的電位器rp1可以調(diào)整滿量程。3 波形發(fā)生器的軟件設(shè)計(jì)設(shè)計(jì)的波形發(fā)生器就是為了得到正弦波、三角波、方波這三種波形,并可通過按鈕選擇輸出波形。波形發(fā)生器可以由正弦波產(chǎn)生模塊(sin)、三角波產(chǎn)生模塊(delat)、方波產(chǎn)生模塊(square)和輸出波形選擇模塊(ch3a1)。下圖為波形發(fā)生器內(nèi)部的頂層設(shè)計(jì)的規(guī)劃圖:圖5 波形發(fā)生器的軟件模塊如圖可以看到,控制輸入有三大塊,一個(gè)是個(gè)按鈕的數(shù)據(jù)選擇命令的輸入,一個(gè)是時(shí)時(shí)鐘輸入,它的頻率將決定輸出波形的頻率,還有一個(gè)是復(fù)位鍵。在芯片里面要處理的就有波形產(chǎn)生器產(chǎn)生相應(yīng)的數(shù)據(jù)后輸出8位的數(shù)據(jù)到數(shù)據(jù)選擇模塊中,通過按鈕發(fā)出選擇數(shù)據(jù)的指令

31、,3選1的數(shù)據(jù)選擇器選擇相應(yīng)的數(shù)據(jù)進(jìn)行輸出,把這些數(shù)據(jù)輸入d/a模塊中,通過d/a模塊對(duì)數(shù)據(jù)轉(zhuǎn)換,在它的輸出端就可得到相應(yīng)的波形。3.1各種波形模塊設(shè)計(jì)與仿真3.1.1正弦波產(chǎn)生模塊設(shè)計(jì)與仿真運(yùn)行max+plus軟件建立工程,在此之間現(xiàn)在任意一個(gè)盤里建立一個(gè)名為wave generator(波形發(fā)生器)文件夾。依次點(diǎn)擊file -new后彈出指定工程名的對(duì)話框,選擇text editor file這項(xiàng),確定點(diǎn)ok。出現(xiàn)一個(gè)文本輸入框,點(diǎn)擊保存按鈕,在file name輸入sin.vhd,建立一個(gè)了設(shè)計(jì)正弦波的vhdl文檔,使文件保存在wave generator文件夾里,進(jìn)入了vhdl的編輯窗

32、口。在文本輸入窗中輸入正弦波的程序,然后進(jìn)行編譯與仿真。選擇“000”的值,于是由上面的設(shè)置可以直接按波形仿真按鈕,進(jìn)入仿真介面.可在菜單中選擇:processsimulator命令,也可以用工具欄的按鈕.仿真介面與編譯的差不多,只是status下只有simulator狀態(tài)進(jìn)度,仿真完成了后它會(huì)提示你. 當(dāng)提示信息提示仿真成功之后,可以看到如下的仿真波形, 如圖6是正弦波形仿真結(jié)果:圖6 正弦波仿真圖可以從圖6中觀察得到out 是用十六進(jìn)制的數(shù)來表示的,上面一個(gè)周期取了64個(gè)值, 從fe按程序選擇的查表值輸出,形成輸出形成正弦波,達(dá)到了設(shè)計(jì)要求.當(dāng)復(fù)位信號(hào)為零時(shí)復(fù)位,out 置00.當(dāng)它的值為

33、1時(shí),各器件開始工作,輸出隨clk的上升延的到來而選擇對(duì)應(yīng)的值,與程序設(shè)置的正弦波一致, cs.wr同時(shí)也進(jìn)入了工作狀態(tài),使得dac0832進(jìn)行轉(zhuǎn)換。這也達(dá)到了設(shè)計(jì)的要求.clk的輸入時(shí)鐘t=10us ,可以用計(jì)算正弦波的周期。它的一個(gè)周期它自加減了64次,自加減一次的時(shí)間就是10us,所以正弦波的周期是64*20=1280us。3.1.3三角波產(chǎn)生模塊設(shè)計(jì)與仿真依次點(diǎn)擊file -new后彈出指定工程名的對(duì)話框,選擇text editor file這項(xiàng),確定點(diǎn)ok。出現(xiàn)一個(gè)文本輸入框,點(diǎn)擊保存按鈕,在file name輸入delta.vhd,建立一個(gè)了設(shè)計(jì)三角波的vhdl文檔,使文件保存在w

34、ave generator文件夾里。進(jìn)入了vhdl的編輯窗口,在文本輸入窗中輸入三角波的程序,然后進(jìn)行運(yùn)行與仿真。選擇“010”的值,按仿真按鈕可以直接進(jìn)行仿真,提示信息提示你仿真成功之后,可以看到如下的仿真波形, 如圖7是三角波波形仿真結(jié)果: 圖7 三角波仿真圖可以從圖9中觀察得到out 是用十六進(jìn)制的數(shù)來表示的,從00自減到了0f后低位就自動(dòng)置f,輸出隨線性遞減,達(dá)到了設(shè)計(jì)要求.當(dāng)復(fù)位信號(hào)為零時(shí)復(fù)位,out 置ff.當(dāng)它的值為1時(shí),各器件開始工作,輸出隨clk的上升延的到來而跳變. cs.wr同時(shí)也進(jìn)入了工作狀態(tài),使得dac0832進(jìn)行轉(zhuǎn)換。這也達(dá)到了設(shè)計(jì)的要求。clk的輸入時(shí)鐘t=10u

35、s ,可以用計(jì)算遞三角波的周期。它的一個(gè)周期從00h一直計(jì)數(shù)到ffh,再從ffh自減到00h 它自加減了256*2次,自加減一次的時(shí)間就是10us,所以三角波的周期是256*2*10=5120us,即5.12ms。3.1.6方波產(chǎn)生模塊(square)依次點(diǎn)擊file -new后彈出指定工程名的對(duì)話框,選擇text editor file這項(xiàng),確定點(diǎn)ok。出現(xiàn)一個(gè)文本輸入框,點(diǎn)擊保存按鈕,在file name輸入square.vhd,建立一個(gè)了設(shè)計(jì)方波的vhdl文檔,使文件保存在wave generator文件夾里。在文本輸入窗中輸入方波的程序。選擇“101”的值,按仿真按鈕可以直接進(jìn)行仿真,

36、提示信息提示你仿真成功之后,可以看到如下的仿真波形, 如圖8是方波形仿真結(jié)果:圖8 方波仿真圖可以從圖8中觀察得到out 是用十六進(jìn)制的數(shù)來表示的,它的值經(jīng)過128個(gè)時(shí)鐘脈沖秒跳變一次,形成輸出方波,也就是從00經(jīng)過128個(gè)時(shí)鐘脈沖后變?yōu)閒f,從而實(shí)現(xiàn)了0101 的值變化,達(dá)到了設(shè)計(jì)要求.當(dāng)復(fù)位信號(hào)為零時(shí)復(fù)位,out 置00.當(dāng)它的值為1時(shí),各器件開始工作,輸出隨clk的相應(yīng)的上升延的到來而改變相應(yīng)的值,與程序設(shè)置的方波的要求是一致的,cs.wr同時(shí)也進(jìn)入了工作狀態(tài),使得dac0832進(jìn)行轉(zhuǎn)換。這也達(dá)到了設(shè)計(jì)的要求.clk的輸入時(shí)鐘t=10us ,可以用計(jì)算方波的周期。它的一個(gè)周期持續(xù)了256

37、個(gè)時(shí)鐘周期,所以方波的周期是256*10=2560us。3.1.7波形選擇模塊(ch3a1)依次點(diǎn)擊file -new后彈出指定工程名的對(duì)話框,選擇text editor file這項(xiàng),確定點(diǎn)ok。出現(xiàn)一個(gè)文本輸入框,點(diǎn)擊保存按鈕,在file name輸入ch3a1.vhd,建立一個(gè)了設(shè)計(jì)波性選擇的vhdl文檔,使文件保存在wave generator文件夾里。在文本輸入窗中輸入波性選擇模塊的程序,然后對(duì)該程序進(jìn)行編譯與仿真,波形選擇模塊是對(duì)所需要的波形進(jìn)行選擇。3.2 頂層設(shè)計(jì)這一步是把各個(gè)元件連接起來, 在max+plus里面提供多種選擇。比如可以用vhdl語言里面自帶的元件例化語句,把各

38、元件端口通過用vhdl的描述,系統(tǒng)按你的描述自動(dòng)你連接。當(dāng)然大家知道開發(fā)復(fù)雜的程序要花大量的心血,而且不小心容易出錯(cuò)。所以max+plus提供一個(gè)vhdl與原理圖混合設(shè)計(jì)方式的平臺(tái),方法是使用vhdl語言描述底層模塊,把vhdl描述的功能模塊轉(zhuǎn)換成對(duì)應(yīng)的元件符號(hào)存在元件庫中,再就用原理圖設(shè)計(jì)方法設(shè)計(jì)頂層原理呼文件,在很多且復(fù)雜的設(shè)計(jì)中采用的是兩者的結(jié)合,這樣就可以減輕設(shè)計(jì)的工作量。在wave generator的文件夾中新建一個(gè)名為top的文件夾,用于存放頂層文件。利用上面的方法進(jìn)入原理圖設(shè)計(jì)系統(tǒng),步驟如下: filenewdevice design file.執(zhí)行后就可以進(jìn)入原理圖編輯窗口了

39、.原理圖輸入窗口左邊有一豎工具欄,點(diǎn)擊symbol tool的快捷鍵進(jìn)入元件庫,在libraries:下面的窗口可以找到你要的元件符號(hào).一般情況下它只有一個(gè)max+plus自帶的庫文件夾,里面包含有經(jīng)常用到的與.或.非,異或,與非等門,也有輸入輸出端口,也有預(yù)定義的功能模塊。如果你編譯后執(zhí)行了產(chǎn)生實(shí)體的步驟,就會(huì)在這里增加一個(gè)project文件夾,它下面的就是你設(shè)計(jì)的工程對(duì)應(yīng)的元件符號(hào),供你任意調(diào)用。如果要調(diào)用以前的設(shè)計(jì),可能它不會(huì)在libraries:中顯示出來,這時(shí)就要用name的對(duì)話框中調(diào)出所需的文件。選中了后它就會(huì)在右邊的窗口顯示.按ok就可以加進(jìn)原理圖設(shè)計(jì)窗口, 把在end文件夾中的

40、設(shè)計(jì)文件調(diào)出到編輯窗口,按照如圖3的連線.在這要注意的是各模塊的輸出連接有兩條線以上的線都就總線的來連接,而單一個(gè)的就用導(dǎo)線,就像protel里面的原理圖設(shè)計(jì)一樣.不然在編譯時(shí)會(huì)出錯(cuò)、保存、編譯,通過之后就算結(jié)束我們軟件方面的設(shè)計(jì)了.4 波形發(fā)生器的調(diào)試與運(yùn)行4.1 波形發(fā)生器的調(diào)試經(jīng)max+plus編譯后,能產(chǎn)生所要的最終文件,可以下載到fpga里面,實(shí)現(xiàn)你的功能。如果你只是想驗(yàn)證一下設(shè)計(jì)是否成功,可通過核心板的jtag口把芯片的配置信息后下載到fpga芯片內(nèi),掉電后配置信息丟失。如果要下載到非易失flash配置芯片(掉電后配置信息不丟失)里去,則將通過核心板上的epcs1的下載口,把文件下

41、載到配置芯片中。要下載到這些文件到芯片中實(shí)現(xiàn)功能前,還可以用max+plus自帶的仿真軟件,進(jìn)行波形的仿真。4.2把設(shè)計(jì)下載到目標(biāo)器中運(yùn)行整個(gè)設(shè)計(jì)的預(yù)期值與仿真得到的結(jié)果相同,也即是通過了在軟件上的仿真。下一步要做的就是把設(shè)計(jì)下載到器件中去,驗(yàn)證硬件與軟件的結(jié)合是否與預(yù)期值相一致。上面講述到的仿真是設(shè)計(jì)參與了編譯后,由軟件自動(dòng)分配了芯片的輸入與輸出引腳,進(jìn)之去仿真,得出相應(yīng)的仿真結(jié)果。但它的分配的引腳有時(shí)并不能滿足我們的設(shè)計(jì)要求,所以max+plus提供了一個(gè)管腳分配的功能。為芯片分配管腳可以用max+plus軟件里的tcl文件進(jìn)行配置, 也可以用“assignmentspins”菜單,用菜單

42、命令直觀且簡單。4.2.1管腳分配在菜單命令中運(yùn)行“assignmentspins”打開管腳分配的窗口,分配我們所用到的引腳:clk分配到芯片的28腳; reset分配到芯片的124腳;sel分配到芯片的122腳; out0分配到芯片的160腳;out1分配到芯片的161腳; out2分配到芯片的162腳;out3分配到芯片的163腳; out4分配到芯片的164腳;out5分配到芯片的165腳; out6分配到芯片的166腳;out7分配到芯片的167腳; cs分配到芯片的168腳;wr分配到芯片的169腳。分配完成了就之后,把分配管腳的資料保存,然后進(jìn)入原理圖編輯的窗口,再按編譯的按鈕,再

43、次編譯的目的是看管腳分配是否與合理。如果合理即會(huì)通過,如果不合理系統(tǒng)就會(huì)提示出錯(cuò),那就需要你再次的分配。分配完成后我們可以查各端口分配管腳的情況,在原理圖窗口下菜單命令viewshow pin and location assignments 它會(huì)在端口顯示各管腳分配的情況。4.2.2下載一、下載設(shè)置上面建工程時(shí)已選定了芯片型號(hào),在這里就不用再做了。如果第一次使用下載線下載配置文件到fpga,則需要在max+plus軟件設(shè)置下載線的型號(hào)等信息。先將byteblaster 下載線接到pc機(jī)的并口,執(zhí)行菜單toolsprogrammer 打開下載界面,在hardware setup可以看到 no

44、hardare,表示還沒有設(shè)置下載線,點(diǎn)擊 hardware setup,彈出“hardware setup”對(duì)話框,點(diǎn)擊對(duì)話框中的“add haedware”,彈出“add haedware”對(duì)話框,點(diǎn)ok返回hardware setup對(duì)話框,從“currently selected hardware:”點(diǎn)擊返回下載界面,可看到下載線已經(jīng)被添加。二、將下載線一頭與pc 連接,另一頭插入到j(luò)tag口或epcs1的下載口。fpga 核心板接上+5v電源。三、如果只是想調(diào)試一下設(shè)計(jì)是否成功,可以通過jtag口把芯片的配置信息下載到fpga芯片內(nèi),掉電后配置信息會(huì)丟失。此時(shí)下載界面的“mode:”

45、下拉列表應(yīng)選擇“jtag”,并選擇工程中。sof為后綴的文件夾進(jìn)行下載。一切準(zhǔn)備好了后就按stard按鈕就可以下載文件了。下載成功后,設(shè)計(jì)也就成功了。結(jié)論應(yīng)用eda技術(shù)用fpga完成波形發(fā)生器,通過選擇波形的按鈕,實(shí)現(xiàn)四種波形的互相轉(zhuǎn)換。利用示波器可以驗(yàn)證波形發(fā)生器與原定的設(shè)計(jì)的理論是相一致。用示波器的“+”端接在輸出端的,另一端接上示波器的“-”,用按鈕發(fā)送選擇波形的信號(hào),這樣可以看到示波顯的熒屏上有相應(yīng)周期的波形。按住reset按鈕,無波形的輸出,各器件都處于復(fù)位中。用fpga完成波形發(fā)生器的方法與傳統(tǒng)的方法相比較,硬件結(jié)構(gòu)是相當(dāng)簡單的。大大減小了它的體積和重量??梢怨?jié)去傳統(tǒng)的煩瑣的硬件設(shè)

46、計(jì)和硬件組合。易于使用,按下選擇波形的選擇按鈕,即可選出你所需的波形。pfga里面有的是有待連接的邏輯門、d觸發(fā)器等器件,它的外圍還要有eeprom、sdram、flash與之相配合才可以正常工作,這一點(diǎn)可能會(huì)廣泛應(yīng)用fpga來比較麻煩。隨著技術(shù)的發(fā)展,如果把eeprom、sdram、flash都集成要在fpga中去,組成它的最小系統(tǒng),這樣的話將會(huì),節(jié)去芯片外的線路設(shè)計(jì),會(huì)得到更加廣泛地的應(yīng)用。 應(yīng)用eda技術(shù)完成波形發(fā)生器的設(shè)計(jì),設(shè)計(jì)簡單。 可以看到利用eda技術(shù)完成一個(gè)電子設(shè)計(jì),可以節(jié)省我們開發(fā)時(shí)間,從而提高大大地了我們的效率。采用新技術(shù)就是為了提高效率,快速完成設(shè)計(jì)任務(wù)。我們做一個(gè)項(xiàng)目時(shí)

47、,所在追求的也是快且高效率。不斷地去快速掌握并能快速地應(yīng)用新技術(shù)是我們做技術(shù)的人的基本素質(zhì)。我們要注重自己在這方面的能力。當(dāng)然我們不能廢棄我們基本的東西學(xué)科基礎(chǔ),全面發(fā)展自己,這需要我不斷去追求。參考文獻(xiàn)1潘松,黃繼業(yè).eda技術(shù)實(shí)用教程m.北京:科學(xué)出版社,2002:235-250.2陳美金.eda程序設(shè)計(jì)m.北京:大學(xué)出版社,2000:257-275.3陳美加.基于fpga數(shù)控源設(shè)計(jì)j.黎明學(xué)報(bào),2003,35(6):13-18.4王文欽.高質(zhì)量微波信號(hào)源發(fā)生器研制j.電子質(zhì)量, 004(2): 12-14.5鄭鳳濤,陳金佳. 基于cpld 的數(shù)控正弦波的信號(hào)源的設(shè)計(jì)j. 黎明職

48、業(yè)大學(xué)學(xué)報(bào),2003.8(1):2530.6 侯伯亨,顧新.vhdl硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)m.西安:西安電子科技大學(xué)出版社,1999.7maxim 1993 new releases data book vool-ume i.8configuring apex20k.z.a1tera公司,2000.9jonath a. titus, chriotopher a titus peterr. reny microcomputer.analog converter software and hardware interfacing.m. davidg. larsen:11-47.附錄:1 正

49、弦波產(chǎn)生程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sin isport(clk,clr:in std_logic; d:out integer range 0 to 255 );end sin;architecture behave of sin isbeginprocess(clk,clr)variable b: integer range 0 to 63;beginif clr='0' thend<=0;elsif rising_edge(clk

50、) thenif b=63 then -一個(gè)周期取64個(gè)點(diǎn)b:=0;elseb:=b+1;end if;case b is -查表輸出when 00=>d<=255;when 01=>d<=254;when 02=>d<=252;when 03=>d<=249;when 04=>d<=245;when 05=>d<=239;when 06=>d<=233;when 07=>d<=225;when 08=>d<=217;when 09=>d<=207;when 10=>d

51、<=197;when 11=>d<=186;when 12=>d<=174;when 13=>d<=162;when 14=>d<=150;when 15=>d<=137;when 16=>d<=124;when 17=>d<=112;when 18=>d<=99;when 19=>d<=87;when 20=>d<=75;when 21=>d<=64;when 22=>d<=53;when 23=>d<=43;when 24=>

52、;d<=34;when 25=>d<=26;when 26=>d<=19;when 27=>d<=13;when 28=>d<=8;when 29=>d<=4;when 30=>d<=1;when 31=>d<=0;when 32=>d<=0;when 33=>d<=1;when 34=>d<=4;when 35=>d<=8;when 36=>d<=13;when 37=>d<=19;when 38=>d<=26;when

53、 39=>d<=34;when 40=>d<=43;when 41=>d<=53;when 42=>d<=64;when 43=>d<=75;when 44=>d<=87;when 45=>d<=99;when 46=>d<=112;when 47=>d<=124;when 48=>d<=137;when 49=>d<=150;when 50=>d<=162;when 51=>d<=174;when 52=>d<=186;whe

54、n 53=>d<=197;when 54=>d<=207;when 55=>d<=217;when 56=>d<=225;when 57=>d<=233;when 58=>d<=239;when 59=>d<=245;when 60=>d<=249;when 61=>d<=252;when 62=>d<=254;when 63=>d<=255;when others=>null;end case;end if;end process;end behave;2 三角波產(chǎn)生程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity delta is port(clk,reset:in std_logic; q:out std_logic_vector(7 downto 0);end delta;architecture behave of del

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論