【正文】
zx is signal b:integer range 0 to 63。 圖 正弦波函數(shù)發(fā)生器原理框圖 其實(shí)現(xiàn)代碼如下: library ieee。139。 a=NOT a。039。 圖 方波函數(shù)發(fā)生器原理框圖 其實(shí)現(xiàn)代碼如下: LIBRARY IEEE。 else tmp:=tmp+16。 architecture a of jtb is begin process(clk,reset) variable tmp:std_logic_vector(7 downto 0)。 END behave。EVENT AND clk=39。 ENTITY dz IS PORT (clk,reset: IN STD_LOGIC。 q=tmp。THEN tmp:=11111111。 USE IEEE. 。 END IF。139。THEN tmp:=00000000。 USE 。在這六個(gè)模塊中,每個(gè)都有兩個(gè)輸入端口,分別是時(shí)鐘信號(hào)端口 CLK, CLK 輸入時(shí)鐘脈沖,時(shí)鐘上升沿有效,和復(fù)位清零信號(hào) RESET,當(dāng)高電平有效時(shí),系統(tǒng)恢復(fù)初始狀態(tài);每個(gè)模塊還有一個(gè)輸出端口,輸出對(duì)應(yīng)的波形函數(shù)。 用 Max Plus II 軟件進(jìn)行邏輯設(shè)計(jì)的步驟包括: 1.根據(jù)所選課題的任務(wù)和設(shè)計(jì)指標(biāo)要求,確定總體設(shè)計(jì)方案,畫出總體方案的系統(tǒng)框圖(亦稱預(yù)設(shè)計(jì)階段)。 6.如果使用 FPGA 和配置編程方式,將不會(huì)有器件損壞和損耗問題。 Max Plus II 的設(shè)計(jì)輸入、處理和校驗(yàn)功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動(dòng)態(tài)調(diào)試進(jìn)程。另外,對(duì)于作為一個(gè)獨(dú)立的設(shè)計(jì)項(xiàng)目而言,仿真文件的提供足可以證明你設(shè)計(jì)的完整性。 ( 5) VHDL 對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)?,F(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。 EDA 技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言 HDL 完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。 課程設(shè)計(jì)的目的 波形發(fā)生器在生產(chǎn)實(shí)踐和科技領(lǐng)域有著和廣泛的應(yīng)用,只要用到波形傳輸?shù)募夹g(shù)和產(chǎn)業(yè),都與波形發(fā)生器有著密不可分的關(guān)系。 Keywords: EDA。 ( 4)學(xué)生應(yīng)抱著嚴(yán)謹(jǐn)認(rèn)真的態(tài)度積極投入到課程設(shè)計(jì)過程中,認(rèn)真查閱相應(yīng)文獻(xiàn)以及實(shí)現(xiàn),給出個(gè)人分析、設(shè)計(jì)以及實(shí)現(xiàn)。 ( 3)通過課程 設(shè)計(jì)培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和團(tuán)隊(duì)協(xié)作精神。 關(guān)鍵詞 : EDA; VHDL;函數(shù)發(fā)生器 The design of Intelligent function generator based on VHDL Student Name: TangShengYuan Teacher: Cai Shuo Abstract: System using EDA technology to design of intelligent function signal generator, using hardware description language VHDL design, and programming, timing simulation. In the Max+plus software development platform, input schematic or hardware description language VHDL pleted the design documents, the system will automatically plete the logic pilation, prehensive, simulation, the target chip adaptation pile, Download work. Design of the work is the use of programming way to carry on the function of the system are described, with the help of EDA tool, the application of appropriate programmable device design, implementation of the final result. The mon to the waveform generator miniaturization, simple design, easy to use。在 工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等領(lǐng)域內(nèi),如高頻感應(yīng)加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的振蕩器。 基于 VHDL語言的移位寄存器的設(shè)計(jì) 第 3頁(yè) 共 29頁(yè) 2 EDA 和 VHDL 簡(jiǎn)介 EDA 簡(jiǎn)介 EDA 是電子設(shè)計(jì)自動(dòng)化( Electronic Design Automation)的縮寫,在 20 世紀(jì) 90年代初從計(jì)算機(jī)輔助設(shè)計(jì)( CAD)、計(jì)算機(jī)輔助制造( CAM)、計(jì)算機(jī)輔助測(cè)試( CAT)和計(jì)算機(jī)輔助工程( CAE)的概念發(fā)展而來的。 1993 年, IEEE 對(duì) VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的內(nèi)容,公布了新版本的 VHDL,即 IEEE 標(biāo)準(zhǔn)的 10761993 版本,(簡(jiǎn)稱 93版)。 ( 4)對(duì)于用 VHDL 完成的一個(gè)確定的設(shè)計(jì),可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把 VHDL 描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。但是對(duì)于一個(gè)可靠的設(shè)計(jì)而言,任何設(shè)計(jì)最好都進(jìn)行仿真,以保證設(shè)計(jì)的可靠性。 Max Plus II 支持 靈活多樣的輸入方式:原理圖輸入、硬件描述語言輸入、波形輸入,以及層次設(shè)計(jì)輸入。 5.通過編 譯和下載,能在 FPGA 或 CPLD 上對(duì)設(shè)計(jì)項(xiàng)目隨時(shí)進(jìn)行硬件測(cè)試驗(yàn)證。 Max Plus II 的時(shí)序分析程序可以計(jì)算點(diǎn)到點(diǎn)的器件延時(shí),確定器件引腳上的建立時(shí)間和保持時(shí)間要求,還可計(jì)算最高時(shí)鐘頻率。 各模塊工作原理及設(shè)計(jì) ( 1)智能函數(shù)發(fā)生器的工作原理 智能函數(shù)發(fā)生器主要由七大模塊組成,其中六大模塊是用來產(chǎn)生常用的波形圖,包括正弦波,方波,三角波,遞增,遞減諧波和階梯波六種波。 USE IEEE. 。039。 a:=39。 END IF。 圖 遞減諧波發(fā)生器原理框圖 其實(shí)現(xiàn) VHDL 代碼如下: LIBRARY IEEE。039。 END IF。 USE 。 ELSIF clk39。 END PROCESS。 end jtb。 then if tmp=11111111 then tmp:=00000000。 ( 6)方波函數(shù)發(fā)生器模塊的設(shè)計(jì) 電路符號(hào):方波函數(shù)發(fā)生器的原理框圖,如圖 所示。 BEGIN IF reset=39。 ELSE t:=0。THEN IF a=39。 ( 7)正弦波函數(shù)發(fā)生器模塊的設(shè)計(jì) 電路符號(hào):正弦波函數(shù)發(fā)生器的原理框圖,如圖 所示。 end zx。139。 when 02=d=252。 when 10=d=197。when 18=d=99。 when 26=d=19。 when 34=d=4。 when 42=d=64。 when 50=d=162。 when 58=d=239。 end process。 q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 WHEN OTHERS =NULL。 圖 階梯波函數(shù)仿真圖 方波函數(shù)模塊仿真 方波函數(shù)的仿真圖,如圖 所示。利用示波器可以驗(yàn)證波形發(fā)生器與原定的設(shè)計(jì)的理論是相一致。大家平時(shí)沒有養(yǎng)成一個(gè)寫報(bào)告的良好習(xí)慣,也沒有認(rèn)真對(duì)待寫報(bào)告這件事情,在格式和內(nèi)容上總是達(dá)不到報(bào)告的要求,但是蔡爍老師一遍又一遍不勝其煩的給我們糾正錯(cuò)誤,直到所有人的報(bào)告都附合要求。 q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0))。EVENT AND clk=39。 END IF。 q=tmp。 END dj。THEN IF tmp=00000000THEN Tmp:=11111111。 USE IEEE. 。THEN tmp:=00000000。 q=tmp。 end jtb。 then if tmp=11111111 then tmp:=00000000。 方波函數(shù)發(fā)生器模塊代碼: LIBRARY IEEE。039。 a=NOT a。139。 use 。 signal d:integer range 0 to 255。 else b=b+1。 when 04=d=245。 when 12=d=174。 when 20=d=75。 when 28=d=8。 when 36=d=13。 when 44=d=87。 when 52=d=186。 when 60=d=249。 end behave。 WHEN 001 =q=d1。 END behave。 WHEN 101 =q=d5。 d0,d1,d2,d3,d4,d5: IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 when others=null。 when 56=d=225。 when 48=d=137。 基于 VHDL語言的移位寄存器的設(shè)計(jì) 第 28頁(yè) 共 29頁(yè) when 40=d=43。 when 32=d=0。 when 24=d=34。 when 16=d=124。 when 08=d=217。 process(b) begin case b is when 00=d=255。 elsif clk39。 reset:in std_logic。 END IF。 Process (clk,a) BEGIN IF clk39。EVENT AND clk=39。 END fb。 end if。 then tmp:=00000000。 use 。THEN IF tmp=11111111THEN tmp:=00000000。 END dz。 q=tmp。THEN tmp:=11111111。 USE IEEE. 。 基于 VHDL語言的移位寄存器的設(shè)計(jì) 第 23頁(yè) 共 29頁(yè) ELSE tmp:=tmp1。THEN IF tmp=11111110THEN tmp:=11111111。 BEGIN