【正文】
zx is signal b:integer range 0 to 63。 圖 正弦波函數(shù)發(fā)生器原理框圖 其實現(xiàn)代碼如下: library ieee。139。 a=NOT a。039。 圖 方波函數(shù)發(fā)生器原理框圖 其實現(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 。在這六個模塊中,每個都有兩個輸入端口,分別是時鐘信號端口 CLK, CLK 輸入時鐘脈沖,時鐘上升沿有效,和復(fù)位清零信號 RESET,當(dāng)高電平有效時,系統(tǒng)恢復(fù)初始狀態(tài);每個模塊還有一個輸出端口,輸出對應(yīng)的波形函數(shù)。 用 Max Plus II 軟件進(jìn)行邏輯設(shè)計的步驟包括: 1.根據(jù)所選課題的任務(wù)和設(shè)計指標(biāo)要求,確定總體設(shè)計方案,畫出總體方案的系統(tǒng)框圖(亦稱預(yù)設(shè)計階段)。 6.如果使用 FPGA 和配置編程方式,將不會有器件損壞和損耗問題。 Max Plus II 的設(shè)計輸入、處理和校驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試進(jìn)程。另外,對于作為一個獨(dú)立的設(shè)計項目而言,仿真文件的提供足可以證明你設(shè)計的完整性。 ( 5) VHDL 對設(shè)計的描述具有相對獨(dú)立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計?,F(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。 EDA 技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言 HDL 完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。 課程設(shè)計的目的 波形發(fā)生器在生產(chǎn)實踐和科技領(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è)計過程中,認(rèn)真查閱相應(yīng)文獻(xiàn)以及實現(xiàn),給出個人分析、設(shè)計以及實現(xiàn)。 ( 3)通過課程 設(shè)計培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和團(tuán)隊協(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è)計 第 3頁 共 29頁 2 EDA 和 VHDL 簡介 EDA 簡介 EDA 是電子設(shè)計自動化( Electronic Design Automation)的縮寫,在 20 世紀(jì) 90年代初從計算機(jī)輔助設(shè)計( CAD)、計算機(jī)輔助制造( CAM)、計算機(jī)輔助測試( CAT)和計算機(jī)輔助工程( CAE)的概念發(fā)展而來的。 1993 年, IEEE 對 VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的內(nèi)容,公布了新版本的 VHDL,即 IEEE 標(biāo)準(zhǔn)的 10761993 版本,(簡稱 93版)。 ( 4)對于用 VHDL 完成的一個確定的設(shè)計,可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把 VHDL 描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。但是對于一個可靠的設(shè)計而言,任何設(shè)計最好都進(jìn)行仿真,以保證設(shè)計的可靠性。 Max Plus II 支持 靈活多樣的輸入方式:原理圖輸入、硬件描述語言輸入、波形輸入,以及層次設(shè)計輸入。 5.通過編 譯和下載,能在 FPGA 或 CPLD 上對設(shè)計項目隨時進(jìn)行硬件測試驗證。 Max Plus II 的時序分析程序可以計算點(diǎn)到點(diǎn)的器件延時,確定器件引腳上的建立時間和保持時間要求,還可計算最高時鐘頻率。 各模塊工作原理及設(shè)計 ( 1)智能函數(shù)發(fā)生器的工作原理 智能函數(shù)發(fā)生器主要由七大模塊組成,其中六大模塊是用來產(chǎn)生常用的波形圖,包括正弦波,方波,三角波,遞增,遞減諧波和階梯波六種波。 USE IEEE. 。039。 a:=39。 END IF。 圖 遞減諧波發(fā)生器原理框圖 其實現(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è)計 電路符號:方波函數(shù)發(fā)生器的原理框圖,如圖 所示。 BEGIN IF reset=39。 ELSE t:=0。THEN IF a=39。 ( 7)正弦波函數(shù)發(fā)生器模塊的設(shè)計 電路符號:正弦波函數(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ù)的仿真圖,如圖 所示。利用示波器可以驗證波形發(fā)生器與原定的設(shè)計的理論是相一致。大家平時沒有養(yǎng)成一個寫報告的良好習(xí)慣,也沒有認(rèn)真對待寫報告這件事情,在格式和內(nèi)容上總是達(dá)不到報告的要求,但是蔡爍老師一遍又一遍不勝其煩的給我們糾正錯誤,直到所有人的報告都附合要求。 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è)計 第 28頁 共 29頁 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è)計 第 23頁 共 29頁 ELSE tmp:=tmp1。THEN IF tmp=11111110THEN tmp:=11111111。 BEGIN