




已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
專業(yè)課程設(shè)計(jì)報(bào)告 題 目: 波形發(fā)生器的設(shè)計(jì) 姓 名:湯姝專 業(yè):通信工程班級(jí)學(xué)號(hào):09042304同 組 人 :09042308 楊勇指導(dǎo)教師:劉敏 南昌航空大學(xué)信息工程學(xué)院20 12年 6 月 28 日 專業(yè) 課程設(shè)計(jì)任務(wù)書20112012學(xué)年 第 2 學(xué)期第 17 周 20 周 題目波形發(fā)生器的設(shè)計(jì)內(nèi)容及要求用CPLD可編程模塊產(chǎn)生下列信號(hào)(特殊芯片:EPM570T100C5)(1)采用VHDL編寫相關(guān)程序,能產(chǎn)生遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波;(2)用戶能夠選擇輸出所需其中一種波形。進(jìn)度安排 17周:查找資料,進(jìn)行系統(tǒng)方案設(shè)計(jì); 18周:軟件的分模塊調(diào)試; 19周:系統(tǒng)聯(lián)調(diào);20周:設(shè)計(jì)結(jié)果驗(yàn)收,報(bào)告初稿的撰寫。學(xué)生姓名: 湯姝指導(dǎo)時(shí)間:第1720周指導(dǎo)地點(diǎn):E樓607室任務(wù)下達(dá)2012年 6 月4 日任務(wù)完成2012年 6月 29 日考核方式1.評(píng)閱 2.答辯 3.實(shí)際操作 4.其它指導(dǎo)教師劉敏系(部)主任付崇芳摘要各種各樣的信號(hào)是通信領(lǐng)域的重要組成部分,其中遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波等是較為常見的信號(hào)。在科學(xué)研究及教學(xué)實(shí)驗(yàn)中常常需要這幾種信號(hào)的發(fā)生器。為了試驗(yàn)、研究方便,研制一種靈活使用、功能齊全、使用方便的信號(hào)源是十分必要的。本次設(shè)計(jì)的波形發(fā)生器是一種能夠產(chǎn)生遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波的信號(hào)發(fā)生器。設(shè)計(jì)可以通過硬件和軟件兩種方法實(shí)現(xiàn),本次實(shí)驗(yàn)中通過Quartus II軟件編程軟件的方法,運(yùn)用VHDL語(yǔ)言與原理圖混合設(shè)計(jì)的方法,VHDL語(yǔ)言描述底層模塊,原理圖設(shè)計(jì)方法設(shè)計(jì)頂層原理圖文件。實(shí)驗(yàn)分模塊設(shè)計(jì),便于調(diào)試及錯(cuò)誤的查找。實(shí)驗(yàn)運(yùn)用VHDL語(yǔ)言編寫程序,實(shí)現(xiàn)了各波形的產(chǎn)生,并且最后通過6選1多路開關(guān)的設(shè)計(jì),實(shí)驗(yàn)了對(duì)需要波形的選擇。關(guān)鍵詞:波形發(fā)生器 VHDL Quartus II 原理圖 多路開關(guān)目 錄第一章 波形發(fā)生器設(shè)計(jì)內(nèi)容及要求11.1 設(shè)計(jì)內(nèi)容11.2 設(shè)計(jì)要求1第二章 波形發(fā)生器系統(tǒng)框圖及工作原理與設(shè)計(jì)22.1 系統(tǒng)框圖22.2 設(shè)計(jì)平臺(tái)與仿真工具22.3 工作原理與設(shè)計(jì)2第三章 系統(tǒng)調(diào)試與分析113.1 系統(tǒng)調(diào)試113.2 結(jié)果分析11第四章 結(jié)論18參考文獻(xiàn)19附錄一 原理圖20附錄二 程序清單21波形發(fā)生器的設(shè)計(jì)第一章 波形發(fā)生器設(shè)計(jì)內(nèi)容及要求1.1 設(shè)計(jì)內(nèi)容實(shí)驗(yàn)設(shè)計(jì)波形發(fā)生器是一種能夠產(chǎn)生遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波的電路。實(shí)驗(yàn)中通過Quartus II軟件編程,運(yùn)用VHDL語(yǔ)言與原理圖混合設(shè)計(jì)的方法,VHDL語(yǔ)言描述底層模塊,原理圖設(shè)計(jì)方法設(shè)計(jì)頂層原理圖文件。實(shí)驗(yàn)分模塊設(shè)計(jì),在完成一個(gè)模塊時(shí)即對(duì)其進(jìn)行調(diào)試修改,防止了最后模塊綜合時(shí)存在調(diào)試?yán)щy的情況出現(xiàn)。如果是對(duì)元件例化相對(duì)較熟練的同學(xué),也可采用元件例化的方法進(jìn)行程序的編寫。但在此過程中,應(yīng)特別注意VHDL語(yǔ)言的運(yùn)用,以防語(yǔ)法錯(cuò)誤導(dǎo)致影響實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)最后將程序下載到芯片EPM570T100C5中,供實(shí)際運(yùn)用。1.2 設(shè)計(jì)要求用CPLD可編程模塊產(chǎn)生下列信號(hào)(特殊芯片:EPM570T100C5)1、 采用VHDL編寫相關(guān)程序,能產(chǎn)生遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波; 2、用戶能夠選擇輸出所需其中一種波形。第二章 波形發(fā)生器系統(tǒng)框圖及工作原理與設(shè)計(jì)2.1 系統(tǒng)框圖波形發(fā)生器由各波形發(fā)生模塊及6選1多路開關(guān)構(gòu)成,時(shí)鐘信號(hào)對(duì)其作用產(chǎn)生輸出波形信號(hào),系統(tǒng)框圖如圖2.1所示。圖2.1 系統(tǒng)框圖2.2 設(shè)計(jì)平臺(tái)與仿真工具Quartus II軟件包是MAX+plus II的升級(jí)版本,其提供了一個(gè)完整高效的設(shè)計(jì)環(huán)境,非常適合具體的設(shè)計(jì)需求。提供了方便的設(shè)計(jì)輸入方式、快速的編譯和直接易懂的器件編程,屬于EDA工具。EDA技術(shù)的基本特征是采用高級(jí)語(yǔ)言描述,具有系統(tǒng)級(jí)仿真和綜合能力。它主要采用并行工程和“自頂向下”的設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)的設(shè)計(jì)。在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò),并用硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證。然后用綜合優(yōu)化工具生成具體電路的網(wǎng)表,其對(duì)應(yīng)得物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?。由于設(shè)計(jì)的主要仿真和調(diào)試過程是在高層次上完成的,這不僅有利于早起發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),而且也減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。本實(shí)驗(yàn)中是多個(gè)模塊的相互聯(lián)系作用,采用了VHDL與原理圖混合設(shè)計(jì)的方式進(jìn)行設(shè)計(jì)。各模塊設(shè)計(jì)最后,為了能在圖形編輯器中調(diào)用元件,需要為該元件創(chuàng)建一個(gè)元件圖形符號(hào)。2.3 工作原理與設(shè)計(jì)2.3.1 遞增波形遞增波形的設(shè)計(jì)運(yùn)用的是VHDL語(yǔ)言中if語(yǔ)句對(duì)其進(jìn)行0-255的序列遞增來實(shí)現(xiàn)的,每等待一個(gè)時(shí)鐘上升沿,計(jì)數(shù)器加1,故輸出信號(hào)周期為256倍時(shí)鐘周期。程序主要語(yǔ)句如下所示:if tmp=11111111 then tmp:=00000000; else tmp:=tmp+1; end if;其中,定義clk為輸入時(shí)鐘信號(hào)端口,reset為輸入復(fù)位信號(hào)端口程,q1為8位二進(jìn)制輸出信號(hào)端口。程序設(shè)計(jì)流程圖如下圖所示:圖2.2 遞增波形設(shè)計(jì)流程圖2.3.2 遞減波形遞減波形的設(shè)計(jì)運(yùn)用的是VHDL語(yǔ)言中if語(yǔ)句對(duì)其進(jìn)行255-0的序列遞減來實(shí)現(xiàn)的,與遞增波形正好是相反的。每等待一個(gè)時(shí)鐘上升沿,計(jì)數(shù)器減1,故輸出信號(hào)周期為256倍時(shí)鐘周期。程序主要語(yǔ)句如下所示: if tmp=00000000 then tmp:=11111111; else tmp:=tmp-1; end if;其中,時(shí)鐘信號(hào)clk,復(fù)位信號(hào)reset, 8位二進(jìn)制輸出信號(hào)端口q2。程序設(shè)計(jì)流程圖如下圖所示:圖2.3 遞減波形設(shè)計(jì)流程圖2.2.3 階梯波階梯波運(yùn)用VHDL語(yǔ)言中if語(yǔ)句設(shè)計(jì),程序中每計(jì)數(shù)16次對(duì)輸出信號(hào)進(jìn)行一次序列遞增,從而得到周期為輸入時(shí)鐘遞增信號(hào)波形周期16倍的輸出階梯波信號(hào)。在設(shè)計(jì)原理上是與遞增波形類似的。程序中,階梯波階梯增量為16,可以根據(jù)需要通過改變遞增量來得到需要波形。因?yàn)樵谟?jì)數(shù)器11110000是加16剛好為00000000,故程序省略了if tmp =11111111 thentmp:=00000000 ;語(yǔ)句,并且在計(jì)數(shù)器增量設(shè)置時(shí),增量應(yīng)為,這樣才能使階梯波各個(gè)階梯高度是一致的。 程序主要語(yǔ)句如下所示:if reset=0 then tmp:=00000000; elsif clkevent and clk=1 then tmp:=tmp+16;end if;其中,時(shí)鐘信號(hào)clk,復(fù)位信號(hào)reset, 8位二進(jìn)制輸出信號(hào)端口q5。程序設(shè)計(jì)流程圖如下圖所示:圖2.4 階梯波設(shè)計(jì)流程圖2.1.4 三角波三角波的設(shè)計(jì)運(yùn)用的是VHDL語(yǔ)言中if語(yǔ)句先對(duì)其進(jìn)行0-255的序列遞增,之后再對(duì)遞增到255的序列進(jìn)行255-0的序列遞減來實(shí)現(xiàn)的,正好是遞增波形與遞增波形相結(jié)合得到。程序語(yǔ)句設(shè)置內(nèi)部接點(diǎn)信號(hào)a作為遞減信號(hào),判斷波形處于遞增或者是遞減階段。當(dāng)a為0時(shí),遞增,計(jì)數(shù)器加1;a為1時(shí),遞減,計(jì)數(shù)器減1。 程序主要語(yǔ)句如下所示: if a=0 then if tmp=11111110 then tmp:=11111111; a:=1; else tmp:=tmp+1; end if;else if tmp=00000001 then tmp:=00000000; a:=0; else tmp:=tmp-1; end if;end if;其中,時(shí)鐘信號(hào)clk,復(fù)位信號(hào)reset, 8位二進(jìn)制輸出信號(hào)端口q3。程序設(shè)計(jì)流程圖如下圖所示:圖2.5 三角波設(shè)計(jì)流程圖2.1.5 正弦波正弦波的設(shè)計(jì)運(yùn)用的是VHDL語(yǔ)言中if語(yǔ)句與case語(yǔ)句,由于正弦波是模擬信號(hào)波形,而VHDL語(yǔ)言程序輸出的是數(shù)字信號(hào)波形。因此,實(shí)驗(yàn)中對(duì)信號(hào)進(jìn)行等間距采樣,等效正弦信號(hào)波形。程序采樣點(diǎn)為128個(gè),等效為近似的正弦波形。程序主要語(yǔ)句如下所示: if tmp =127 then tmp:=0; else tmp:=tmp+1;end if;case tmp iswhen 00=ddddddddnull;end case;end if;其中,時(shí)鐘信號(hào)clk,復(fù)位信號(hào)clr, 8位二進(jìn)制輸出信號(hào)端口d。程序設(shè)計(jì)流程圖如下圖所示:圖2.6 正弦波設(shè)計(jì)流程圖2.1.6 方波階梯波運(yùn)用VHDL語(yǔ)言中if語(yǔ)句設(shè)計(jì),程序中每計(jì)數(shù)64次對(duì)輸出信號(hào)進(jìn)行一次翻轉(zhuǎn),從而得到周期為輸入時(shí)鐘信號(hào)周期128倍的輸出方波信號(hào)。程序設(shè)置內(nèi)部節(jié)點(diǎn)信號(hào)a作為輸出判斷信號(hào),計(jì)數(shù)器計(jì)數(shù)0-63后,對(duì)輸出判斷信號(hào)取反,實(shí)現(xiàn)0、1的變化。 if cnt63 then cnt:=cnt+1; else cnt:=0; a=not a; end if;其中,a為0 是輸出低電平,a為1時(shí)輸出高電平。 if a =1 then q6=255; else q6qqqqqqq=null;end case;其中,時(shí)鐘信號(hào)clk,輸入選擇sel,8位二進(jìn)制輸出信號(hào)端口q。程序設(shè)計(jì)流程圖如下圖所示:圖2.7 6選1多路開關(guān)設(shè)計(jì)流程圖第三章 系統(tǒng)調(diào)試與分析3.1 系統(tǒng)調(diào)試3.1.1 調(diào)試方法 實(shí)驗(yàn)運(yùn)用的是VHDL語(yǔ)言與原理圖混合設(shè)計(jì)方法,因此有程序調(diào)試和原理圖調(diào)試兩部分。實(shí)驗(yàn)步驟如下:1、 新建工程、VHDL文檔輸入設(shè)計(jì)模塊子程序2、 調(diào)試各個(gè)子程序是否存在語(yǔ)法錯(cuò)誤的問題3、 對(duì)各子模塊進(jìn)行波形仿真,驗(yàn)證輸出是否正確4、 各子模塊生成圖元文件5、 新建工程、原理圖文檔,將各子模塊文件夾下的文檔拷貝到新建工程中6、 根據(jù)系統(tǒng)設(shè)計(jì)框圖將各個(gè)模塊圖元文件連成原理圖7、 檢驗(yàn)原理圖是否正確8、 最后原理圖仿真,檢查波形圖是否正確3.1.2 調(diào)試故障及解決方法在整個(gè)實(shí)驗(yàn)調(diào)試過程中,最主要出現(xiàn)的問題是對(duì)VHDL語(yǔ)言的不熟悉,導(dǎo)致在程序編寫過程中出現(xiàn)了不少語(yǔ)法錯(cuò)誤導(dǎo)致影響實(shí)驗(yàn)結(jié)果的問題。其次是軟件運(yùn)用不熟練使得影響實(shí)驗(yàn)進(jìn)度,有時(shí)也會(huì)影響了實(shí)驗(yàn)調(diào)試。針對(duì)實(shí)驗(yàn)中出現(xiàn)了問題,總結(jié)了以下一些解決方法和注意事項(xiàng):1、 程序書寫過程中要注意程序的層次,便于出錯(cuò)時(shí)對(duì)錯(cuò)誤的查找;2、 程序輸入時(shí)應(yīng)仔細(xì)認(rèn)真,以免個(gè)別字母的錯(cuò)誤輸入影響實(shí)驗(yàn)結(jié)果;3、 分模塊設(shè)計(jì)分模塊調(diào)試,便于對(duì)錯(cuò)誤的糾正;4、 項(xiàng)目名必須與頂層設(shè)計(jì)文件名相同;5、 程序命名過程中,以一定意義的字母命名,便于之后讀程序;6、 在原理圖設(shè)計(jì)上,注意總線的書寫。 設(shè)計(jì)中主要用的是VHDL語(yǔ)言中的if語(yǔ)句和case語(yǔ)句,因此對(duì)這兩種語(yǔ)句的運(yùn)用要十分熟悉。并且其不區(qū)分大小寫,所以在命名時(shí)應(yīng)注意此問題。3.2 結(jié)果分析3.2.1 遞增波形 通過對(duì)程序語(yǔ)句的調(diào)試過程,得到以下波形圖:圖3.1 遞增波形圖圖3.2 遞增模塊圖 由波形圖可以看出,在每個(gè)時(shí)鐘上升沿,輸出加1,從波形圖上我們也可以看到,輸出由00000000增至11111111,從而得到了遞增波形,并且其周期為時(shí)鐘周期的256倍。因此,從調(diào)試得到的波形圖可知,程序設(shè)計(jì)實(shí)現(xiàn)了遞增波形的產(chǎn)生功能。3.2.2 遞減波形 遞減波形程序調(diào)試,得到了以下的波形圖:圖3.3 遞減波形圖圖3.4 遞減模塊圖 由波形圖可以看出,在每個(gè)時(shí)鐘上升沿,輸出減1,從波形圖上我們也可以看到,輸出由11111111減到00000000,與遞增波形正好是相反的,其周期與遞增波形周期相等,為時(shí)鐘周期的256倍。因此,從調(diào)試得到的波形圖可知,程序設(shè)計(jì)實(shí)現(xiàn)了遞減波形的產(chǎn)生功能。3.2.3 三角波三角波程序調(diào)試至無語(yǔ)法錯(cuò)誤后,仿真得到以下波形圖:圖3.5三角波波形圖圖3.6 三角波模塊圖 通過對(duì)波形圖的分析,每個(gè)時(shí)鐘上升沿計(jì)數(shù)器加1或者減1,有一個(gè)最大值11111111。輸出由00000000遞增至11111111后再遞減至00000000,從而得到了三角波。從圖上我們可以看到輸出的遞增與遞減,程序?qū)崿F(xiàn)了三角波的產(chǎn)生功能。3.2.4 正弦波 對(duì)正弦波程序的調(diào)試,得到了以下波形圖:圖3.7 正弦波波形圖圖3.8 正弦波模塊圖 程序根據(jù)正弦波采樣取點(diǎn),得到了以上仿真波形。與遞增波形不同的是,正弦波設(shè)計(jì)中由于取點(diǎn)并不按一定規(guī)律得到,無法采用循環(huán)來實(shí)現(xiàn),相對(duì)于前面波形的設(shè)計(jì)較難一些。因此,程序中利用case語(yǔ)句,通過查表的方法來實(shí)現(xiàn)輸出正弦波。3.2.5 階梯波 階梯波調(diào)試得到波形圖如下所示:圖3.9 階梯波波形圖圖3.10 階梯波模塊圖 與之前設(shè)計(jì)的遞增波形比較我們不難發(fā)現(xiàn),階梯波與遞增波形是類似的,其區(qū)別就在于,階梯波階梯增量為16,而遞增波形的階梯增量是1。并且在階梯波的設(shè)計(jì)中應(yīng)注意,階梯增量應(yīng)設(shè)置為,只有這樣才能保證階梯的每一層的階梯高度是一樣的。實(shí)驗(yàn)設(shè)計(jì)程序?qū)崿F(xiàn)了階梯波的產(chǎn)生。3.3.6 方波 方波調(diào)試得到波形圖如下圖所示:圖3.11 方波波形圖圖3.12 方波模塊圖 由上圖我們可以知道,程序的調(diào)試實(shí)現(xiàn)了方波的產(chǎn)生。我們的輸如時(shí)鐘信號(hào)就是一個(gè)方波信號(hào),因此,在方波發(fā)生器的設(shè)計(jì)上要相對(duì)簡(jiǎn)單。實(shí)驗(yàn)是通過設(shè)置的計(jì)數(shù)周期,之后對(duì)輸出信號(hào)進(jìn)行翻轉(zhuǎn),從而得到所需的波形。3.3.7 6選1多路開關(guān) 由于要實(shí)現(xiàn)用戶對(duì)所需波形的選擇功能,因此,實(shí)驗(yàn)設(shè)計(jì)了一個(gè)6選1多路開關(guān)。通過對(duì)用戶輸入否認(rèn)判斷,從而輸出用戶所需的信號(hào)波。調(diào)試得到如下波形圖:圖3.13 6選1多路開關(guān)圖3.2 6選1模塊圖 通過對(duì)部分輸出波形的觀察,在輸入信號(hào)為000時(shí),選擇輸出z1的輸入信號(hào),滿足多路開關(guān)的功能實(shí)現(xiàn)。3.2.8 原理圖實(shí)驗(yàn)運(yùn)用的是VHDL語(yǔ)言和原理圖混合設(shè)計(jì)的方法,因此,在所以程序調(diào)試成功后,生成每個(gè)子模塊的元件圖形。再根據(jù)設(shè)計(jì)框圖,將個(gè)子模塊連接,得到系統(tǒng)原理圖。原理圖調(diào)試得到如下波形:圖3.8 原理圖選擇輸出方波 各波形發(fā)生器模塊產(chǎn)生波形,6選1多路開關(guān),進(jìn)行對(duì)所需波形信號(hào)的選擇。仿真過程中,輸入101信號(hào),選擇的是方波信號(hào)的輸出。圖3.9 原理圖選擇輸出遞減波形輸入001信號(hào),選擇的是遞減波形信號(hào)的輸出。第四章 結(jié)論 本次實(shí)驗(yàn)室一個(gè)基于VHDL語(yǔ)言的波形發(fā)生器的設(shè)計(jì),該波形發(fā)生器能夠產(chǎn)生遞增斜波、遞減斜波、階梯波、正弦波、方波、三角波。實(shí)驗(yàn)中通過Quartus II軟件編程,運(yùn)用VHDL語(yǔ)言與原理圖混合設(shè)計(jì)的方法,VHDL語(yǔ)言描述底層模塊,原理圖設(shè)計(jì)方法設(shè)計(jì)頂層原理圖文件。最后通過6選1多路開關(guān)的設(shè)計(jì),實(shí)驗(yàn)了對(duì)需要波形的選擇。實(shí)驗(yàn)分模塊設(shè)計(jì),在完成一個(gè)模塊時(shí)即對(duì)其進(jìn)行調(diào)試修改,防止了最后模塊綜合時(shí)存在調(diào)試?yán)щy的情況出現(xiàn)。如果是對(duì)元件例化相對(duì)較熟練的同學(xué),也可采用元件例化的方法進(jìn)行程序的編寫。但在此過程中,應(yīng)特別注意VHDL語(yǔ)言的運(yùn)用,以防語(yǔ)法錯(cuò)誤導(dǎo)致影響實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)最后將程序下載到EPM570T100C5中,供實(shí)際運(yùn)用。參考文獻(xiàn)1 朱正偉. EDA技術(shù)及應(yīng)用M.北京:清華大學(xué)出版社,2005.2 童詩(shī)白.模擬電子技術(shù)基礎(chǔ)(第五版)M.北京:高等教育出版社.2005.3 謝自美.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)M.北京:電子工業(yè)出版社.2006.附錄一 原理圖附錄二 程序清單-遞增波形library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dizeng is port(clk,reset:in std_logic; -定義時(shí)鐘和復(fù)位 q1:out std_logic_vector(7 downto 0); -定義8位輸出end dizeng;architecture behave of dizeng isbegin process(clk,reset) -定義敏感信號(hào)表variable tmp:std_logic_vector(7 downto 0); -定義內(nèi)部節(jié)點(diǎn)信號(hào)作為計(jì)數(shù)器begin if reset=0 then -復(fù)位 tmp:=00000000; elsif clkevent and clk=1 then -等待時(shí)鐘上升沿 if tmp=11111111 then -計(jì)數(shù)器清零 tmp:=00000000; else tmp:=tmp+1; -計(jì)數(shù)器加1 end if; end if;q1=tmp; -輸出end process;end behave;-遞減波形library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dijian is port(clk,reset:in std_logic; q2:out std_logic_vector(7 downto 0);end dijian;architecture behave of dijian isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0);begin if reset=0 then tmp:=00000000; elsif clkevent and clk=1 then if tmp=00000000 then tmp:=11111111; else tmp:=tmp-1; -計(jì)數(shù)器減1 end if; end if;q2=tmp;end process;end behave;-三角波library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sjiao is port(clk,reset:in std_logic; q3:out std_logic_vector(7 downto 0);end sjiao;architecture behave of sjiao isbegin process(clk,reset)variable tmp:std_logic_vector(7 downto 0); -定義內(nèi)部節(jié)點(diǎn)信號(hào)tmp作為計(jì)數(shù)器variable a:std_logic; -定義內(nèi)部節(jié)點(diǎn)信號(hào)a作為遞減信號(hào)begin if reset=0 then tmp:=00000000; elsif clkevent and clk=1 then if a=0 then -a為0,遞增;a為1,遞減 if tmp=11111110 then tmp:=11111111; a:=1; else tmp:=tmp+1; end if;else if tmp=00000001 then tmp:=00000000; a:=0; else tmp:=tmp-1; end if;end if;end if;q3=tmp;end process;end behave;-正弦波library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zxian is port(clk,clr:in std_logic; d:out integer range 0 to 255);end zxian;architecture behave of zxian isbegin process(clk,clr) variable tmp:integer range 0 to 127; begin if clr=0 then dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; end case; end if; end process;end behave;-階梯波librar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畜禽繁殖生長(zhǎng)調(diào)節(jié)劑的應(yīng)用探討考核試卷
- 2025年中國(guó)手起動(dòng)輪數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 電站安全考試試題及答案
- 會(huì)計(jì)初級(jí)考試試題及答案
- 高一五類考試試題及答案
- 初二美術(shù)考試試題及答案
- 安技部考試試題及答案
- 法治思想考試試題及答案
- 領(lǐng)導(dǎo)技能考試試題及答案
- 2025-2030中國(guó)包裝廢水處理行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 【武漢大學(xué)】2025DeepSeek驅(qū)動(dòng)下的地圖生成報(bào)告
- (廣東二模)2025年廣東省高三高考模擬測(cè)試(二)歷史試卷(含答案)
- 高空作業(yè)簡(jiǎn)答試題及答案
- 通信服務(wù)公司管理制度
- 2025年班組安全培訓(xùn)考試試題ab卷
- T-CHSA 082-2024 上頜竇底提升專家共識(shí)
- 《集中用餐單位落實(shí)食品安全主體責(zé)任監(jiān)督管理規(guī)定》解讀與培訓(xùn)
- 安徽省示范高中皖北協(xié)作區(qū)2025屆高三下學(xué)期第27屆聯(lián)考(一模)數(shù)學(xué)試題 含解析
- 做最勇敢的自己
- 護(hù)理新技術(shù)新業(yè)務(wù)盆底疼痛
- 殘聯(lián)2024年普法依法治理工作計(jì)劃要點(diǎn)
評(píng)論
0/150
提交評(píng)論