eda設(shè)計實驗課程設(shè)計-函數(shù)信號發(fā)生器 _第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  EDA設(shè)計實驗</b></p><p>  題  目: 函數(shù)信號發(fā)生器   </p><p>  作  者:  XXXXX  </p><p>  所在學(xué)院: 信息科學(xué)與工程學(xué)院   

2、 </p><p>  專業(yè)年級: XXXXXX  </p><p>  指導(dǎo)教師: XXXXXX </p><p>  職  稱:    講師        </p><p>  2011 年 12 月

3、 11 日</p><p><b>  函數(shù)信號發(fā)生器</b></p><p>  摘要:函數(shù)信號發(fā)生器在生產(chǎn)實踐和科技領(lǐng)域有著廣泛的應(yīng)用。本設(shè)計是采用了EDA技術(shù)設(shè)計的函數(shù)信號發(fā)生器。此函數(shù)信號發(fā)生器的實現(xiàn)是基于VHDL語言描述各個波形產(chǎn)生模塊,然后在QuartusⅡ軟件上實現(xiàn)波形的編譯,仿真和下載到Cyclone芯片上。整個系統(tǒng)由波形產(chǎn)生模塊和波形選擇模塊兩個部

4、分組成。最后經(jīng)過QuartusⅡ軟件仿真,證明此次設(shè)計可以輸出正弦波、方波、三角波,鋸齒波,階梯波等規(guī)定波形,并能根據(jù)波形選擇模塊的設(shè)定來選擇波形輸出。</p><p>  關(guān)鍵字:函數(shù)信號發(fā)生器;Cyclone;VHDL;QuartusⅡ</p><p><b>  引言:</b></p><p>  函數(shù)信號發(fā)生器即通常所說的信號發(fā)生器是一

5、種常用的信號源,廣泛應(yīng)用于通信,雷達,測控,電子對抗以及現(xiàn)代化儀器儀表等領(lǐng)域,是一種為電子測量工作提供符合嚴格要求的電信號設(shè)備是最普通、最基本也是應(yīng)用最廣泛的電子儀器之一,幾乎所有電參量的測量都要用到波形發(fā)生器。隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,現(xiàn)代電子測量工作對函數(shù)信號信號發(fā)生器的性能提出了更高的要求,不僅要求能產(chǎn)生正弦波、方波等標準波形,還能根據(jù)需要產(chǎn)生任意波性,且操作方便,輸出波形質(zhì)量好,輸出頻率范圍寬,輸出頻率穩(wěn)定度、準確度、及分辨率

6、高等。本文基于EDA設(shè)計函數(shù)信號發(fā)生器,并產(chǎn)生穩(wěn)定的正弦波、方波、鋸齒波、三角波、階梯波。</p><p><b>  正文:</b></p><p>  1、Quartus II軟件簡介</p><p>  1)Quartus II軟件介紹</p><p>  Quartus II 是Alera公司推出的一款功能強大,

7、兼容性最好的EDA工具軟件。該軟件界面友好、使用便捷、功能強大,是一個完全集成化的可編程邏輯設(shè)計環(huán)境,具有開放性、與結(jié)構(gòu)無關(guān)、多平臺完全集成化豐富的設(shè)計庫、模塊化工具、支持多種硬件描述語言及有多種高級編程語言接口等特點。</p><p>  Quartus II是Altera公司推出的CPLD/FPGA開發(fā)工具,Quartus II提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括:可利

8、用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實體文件;芯片平面布局連線編輯;功能強大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時/時序分析與關(guān)鍵路徑延時分析;可使用SignalTap II邏輯分析工具進行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入標準的ED

9、IF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件;能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。</p><p>  2)Quartus II軟件設(shè)計流程</p><p>  打開Quartus II軟件。</p><p>  選擇路徑。注意:工作目錄名不能有中文。</p><p><b>  添加設(shè)計

10、文件。</b></p><p>  選擇FPGA器件。Family選擇Cyclone,240,8。</p><p>  建立原理圖或用VHDL語言描述設(shè)計電路。</p><p>  對原理圖或用VHDL語言進行編譯,無誤后進行添加信號。</p><p>  對上述電路進行仿真。</p><p><b&

11、gt;  進行管腳分配。</b></p><p><b>  全局編譯。</b></p><p>  采用JTAG或AS模式進行下載測試。</p><p>  圖1Quartus II軟件運行界面</p><p>  2、設(shè)計主要任務(wù)及要求:</p><p>  波形選擇:通過對撥碼開

12、關(guān)狀態(tài)的設(shè)置選擇不同的輸出波形。</p><p>  波形發(fā)生:通過軟件實現(xiàn)各類波形的產(chǎn)生(數(shù)字量)。</p><p>  波形清零:通過撥碼開關(guān)狀態(tài)的改變,輸出直流波。</p><p>  波形的觀測:實現(xiàn)波形的數(shù)/模轉(zhuǎn)換,便于直接在示波器上觀察輸出波形。</p><p>  3、設(shè)計方案、原理、過程、調(diào)試</p><p

13、><b>  總體方案</b></p><p>  本論文設(shè)計的函數(shù)信號發(fā)生器主要由波形選擇部分,波形發(fā)生部分和輸出部分組成,其硬件結(jié)構(gòu)圖如圖1所。其中波形選擇部分是數(shù)據(jù)選擇器電路;波形發(fā)生部分包括遞增斜波產(chǎn)生電路,遞減斜波產(chǎn)生電路,三角波產(chǎn)生電路,斜梯波產(chǎn)生電路,正弦波產(chǎn)生電路和方波產(chǎn)生電路;輸出部分是數(shù)/模轉(zhuǎn)換電路。其中數(shù)/模轉(zhuǎn)換模塊是通過硬件實現(xiàn)的,其它都是依靠軟件實現(xiàn)的。<

14、;/p><p>  根據(jù)實驗箱的硬件資源,本次設(shè)計選用ALTERA公司MAX7000S系列的EPM7128SLC84-15作為主控芯片。它是一種基于乘積項結(jié)構(gòu)的復(fù)雜可編程邏輯器件,它的基本邏輯單元是由一些與、或陣列加上觸發(fā)器構(gòu)成,其中與或陣列完成組合邏輯功能,觸發(fā)器完成時序邏輯。它的邏輯控制靈活,可反復(fù)編程,有利于系統(tǒng)的擴展和修改,而且其集成度高,保密性好。在實際應(yīng)用中,它體積小、功耗低、價格便宜,維護和升級都十分方

15、便,具有較好的應(yīng)用前景。</p><p><b>  圖2 硬件結(jié)構(gòu)圖</b></p><p><b>  數(shù)模轉(zhuǎn)換器原理</b></p><p>  D/A轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量。有關(guān)D/A轉(zhuǎn)換器的技術(shù)性能很多,例如分辨率、建立時間、接口形式、偏移量誤差以及線形度等等。</p><

16、;p>  分辨率是D/A轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù)字量的位數(shù)有關(guān)。數(shù)字量位數(shù)越多,分辨率也就越高。建立時間是描述D/A轉(zhuǎn)換速度快慢的一個參數(shù),指從輸入數(shù)字量變化到輸出并達到終值誤差正負(1/2)LSB(最低有效位)時所需時間。通常以建立時間來表示轉(zhuǎn)換速度。D/A轉(zhuǎn)換器與微機借口方便與否,主要決定于轉(zhuǎn)換器本身是否帶數(shù)據(jù)鎖存器??偟膩碚f有兩類D/A轉(zhuǎn)換器,一類是不帶鎖存器的,另一類是帶鎖存器的。帶鎖存器的D/A轉(zhuǎn)換器,

17、可以把它看作一個輸出口,因此可直接在數(shù)據(jù)總線上,而不是另加鎖存器。偏移量誤差是指輸入數(shù)據(jù)量為0的時候,輸出模擬量對0的偏移量。這種誤差可以通過DAC的外接VREF和電位計加以調(diào)整。線形度是指DAC的實際轉(zhuǎn)換特性曲線和理想直線之間的最大偏差。</p><p>  D/A轉(zhuǎn)換器有2大類:一類是在電子線路中使用,不能使能控制端口,只有數(shù)字量輸入和模擬量輸出;另一類帶有使能控制端口,可以與微機直接連接。此實驗中采用后者的

18、LM358,以實現(xiàn)數(shù)字信號到模擬信號的轉(zhuǎn)換。</p><p>  LM358轉(zhuǎn)換模塊8位D/A,I/O口定義如下:</p><p>  D0~D7:數(shù)據(jù)總線,輸入口;</p><p>  /CE:轉(zhuǎn)換允許,低電平有效;</p><p>  /CS:片選,低電平有效;</p><p>  有兩種輸出方式。第一種,將短路子

19、接在左側(cè)的兩個銅柱上,D/A轉(zhuǎn)換輸出到D/A OUT區(qū)域的第六個孔輸出;第二種,將短路子接在右側(cè)的兩個銅柱上,D/A轉(zhuǎn)換輸出接到LM358的同相輸入端。LM358單電源二運放。與AD558配合,將AD558的輸出接到LM358的同相輸入端,作為他的同相輸入信號;在LM358的右上腳,有TEST IN模塊,他的信號可作為LM358的反相輸入端。</p><p><b>  單元電路的設(shè)計</b>

20、;</p><p>  遞增鋸齒波信號產(chǎn)生模塊</p><p><b>  代碼:</b></p><p>  LIBRARY IEEE;--鋸齒波遞增</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSI

21、GNED.ALL;</p><p>  ENTITY juchibo_add IS</p><p>  PORT (clk,reset:in std_logic;</p><p>  q:out std_logic_vector(7 downto 0));</p><p><b>  END;</b></p>

22、<p>  ARCHITECTURE behave OF juchibo_add IS</p><p><b>  BEGIN</b></p><p>  PROCESS(clk,reset)</p><p>  VARIABLE tmp: std_logic_vector(7 downto 0);</p><

23、p><b>  BEGIN </b></p><p>  IF reset='0' THEN</p><p>  tmp:="00000000";</p><p>  ELSIF clk' event and clk='1' THEN</p><p>  

24、IF tmp="11111111" THEN</p><p>  tmp:="00000000";</p><p><b>  ELSE</b></p><p>  tmp:=tmp+1;</p><p><b>  END IF;</b></p>

25、<p><b>  END IF;</b></p><p><b>  q<=tmp;</b></p><p>  END PROCESS;</p><p><b>  END;</b></p><p>  遞增鋸齒波仿真波形:</p><

26、;p>  圖3遞增鋸齒波仿真波形</p><p>  遞增鋸齒波信號產(chǎn)生模塊元件圖:</p><p>  圖4遞增鋸齒波元件圖</p><p>  遞減鋸齒波信號產(chǎn)生模塊</p><p><b>  代碼:</b></p><p>  LIBRARY IEEE;--鋸齒波遞減</p&g

27、t;<p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY juchibo_jie IS</p><p>  PORT ( clk,reset:in std_logic;</p><p>  

28、q:out std_logic_vector(7 downto 0));</p><p><b>  END;</b></p><p>  ARCHITECTURE behave OF juchibo_jie IS</p><p><b>  BEGIN</b></p><p>  PROCESS(

29、clk,reset)</p><p>  VARIABLE tmp: std_logic_vector(7 downto 0);</p><p><b>  BEGIN </b></p><p>  IF reset='0' THEN</p><p>  tmp:="11111111"

30、;</p><p>  ELSIF clk'event and clk='1' THEN</p><p>  IF tmp="00000000" THEN</p><p>  tmp:="11111111";</p><p><b>  ELSE</b>&l

31、t;/p><p>  tmp:=tmp-1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  q<=tmp;</b></p><p>  END PROCESS;<

32、;/p><p><b>  END;</b></p><p>  遞減鋸齒波仿真波形:</p><p>  圖5遞減鋸齒波原件圖</p><p>  遞減鋸齒波信號產(chǎn)生模塊元件圖:</p><p>  圖6遞減鋸齒波元件圖</p><p><b>  三角波信號產(chǎn)生模

33、塊</b></p><p><b>  代碼:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p> 

34、 entity sanjiaobo is</p><p>  port(reset:in std_logic;</p><p>  clk:in std_logic;</p><p>  q:out std_logic_vector(7 downto 0));</p><p><b>  end;</b></p&

35、gt;<p>  architecture behave of sanjiaobo is</p><p><b>  begin</b></p><p>  process(clk,reset)</p><p>  variable tmp:std_logic_vector(7 downto 0);</p><

36、p>  variable a:std_logic;</p><p><b>  begin</b></p><p>  if reset='0' then q<="00000000";</p><p>  elsif clk'event and clk='1' then&l

37、t;/p><p>  if a='0' then</p><p>  if tmp="11111110" then</p><p>  tmp:="11111111";</p><p><b>  a:='1';</b></p><p

38、>  else tmp:=tmp+1;</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  if tmp="00000001" then </p><p>  tmp:="00000000"

39、;;</p><p><b>  a:='0';</b></p><p>  else tmp:=tmp-1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>&l

40、t;b>  end if;</b></p><p><b>  q<=tmp;</b></p><p>  end process;</p><p><b>  end;</b></p><p><b>  三角波仿真波形:</b></p>

41、<p><b>  圖7三角波仿真波形</b></p><p>  三角波信號產(chǎn)生模塊元件圖:</p><p><b>  圖8三角波元件圖</b></p><p><b>  階梯波信號產(chǎn)生模塊</b></p><p><b>  代碼:</b&g

42、t;</p><p>  library ieee;--階梯波</p><p>  use ieee.std_logic_1164.all;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY jietibo IS</p><p>  PORT (cl

43、k,reset:in std_logic;</p><p>  q:out std_logic_vector(7 downto 0));</p><p><b>  END;</b></p><p>  ARCHITECTURE behave OF jietibo IS</p><p><b>  BEGIN&

44、lt;/b></p><p>  PROCESS(clk,reset)</p><p>  VARIABLE tmp: std_logic_vector(7 downto 0);</p><p><b>  BEGIN</b></p><p>  IF reset='0' THEN</p>

45、;<p>  tmp:="00000000";</p><p>  ELSIF clk 'event and clk='1' THEN</p><p>  IF tmp="11111111" THEN</p><p>  tmp:="00000000";</p&g

46、t;<p><b>  ELSE</b></p><p>  tmp:=tmp+16; </p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  q<=tmp;</

47、b></p><p>  END PROCESS;</p><p><b>  END;</b></p><p><b>  階梯波仿真波形:</b></p><p><b>  圖9階梯波仿真波形</b></p><p>  階梯波信號產(chǎn)生模塊元

48、件圖:</p><p><b>  圖10階梯波元件圖</b></p><p><b>  方波信號產(chǎn)生模塊</b></p><p><b>  代碼:</b></p><p>  library ieee;</p><p>  use ieee.std

49、_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity fangbo is</p><p>  port(clk,reset:in std_logic;</p><p>  q:out std_logic_vector(7 downto 0));

50、</p><p><b>  end;</b></p><p>  architecture behave of fangbo is</p><p>  signal a:std_logic;</p><p><b>  begin</b></p><p>  process

51、(clk,reset) </p><p>  variable tmp:std_logic_vector(7 downto 0);</p><p><b>  begin</b></p><p>  if reset='0' then</p><p><b>  a<='0

52、9;;</b></p><p>  elsif clk'event and clk='1' then</p><p>  if tmp="11111111" then </p><p>  tmp:="00000000";</p><p><b> 

53、 else </b></p><p>  tmp:=tmp+1;</p><p><b>  end if;</b></p><p>  if tmp<="10000000" then</p><p><b>  a<='1';</b>&l

54、t;/p><p><b>  else</b></p><p><b>  a<='0';</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p&

55、gt;  end process;</p><p>  process(clk,a) --信號輸出</p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><p>  if a='1' then&l

56、t;/p><p>  q<="11111111"; </p><p><b>  else </b></p><p>  q<="00000000";</p><p><b>  end if;</b></p><p>

57、<b>  end if;</b></p><p>  end process;</p><p><b>  end;</b></p><p><b>  方波仿真波形:</b></p><p><b>  圖11方波仿真波形</b></p>

58、<p>  方波信號產(chǎn)生模塊元件圖:</p><p><b>  圖12方波元件圖</b></p><p><b>  正弦波信號產(chǎn)生模塊</b></p><p>  正弦波產(chǎn)生模塊Zhengxianbo:</p><p><b>  代碼:</b></p&g

59、t;<p>  library ieee; --正弦波</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity Zhengxianbo is</p><p>  port(clk,clr

60、:in std_logic;</p><p>  d:out integer range 0 to 255);</p><p><b>  end;</b></p><p>  architecture behave of Zhengxianbo is</p><p><b>  begin</b>

61、</p><p>  process(clk,clr)</p><p>  variable tmp:integer range 0 to 63;</p><p><b>  begin</b></p><p>  if clr='0' then</p><p><b>

62、  d<=0;</b></p><p>  elsif clk'event and clk='1' then</p><p>  if tmp=63 then</p><p><b>  tmp:=0;</b></p><p><b>  else</b>&

63、lt;/p><p>  tmp:=tmp+1;</p><p><b>  end if;</b></p><p>  case tmp is</p><p>  when 00=>d<=255; when 01=>d<=254; when 02=>d<=252;</p>

64、<p>  when 03=>d<=249; when 04=>d<=245; when 05=>d<=239;</p><p>  when 06=>d<=233; when 07=>d<=225; when 08=>d<=217;</p><p>  when 09=>d<=207;

65、 when 10=>d<=197; when 11=>d<=186;</p><p>  when 12=>d<=174; when 13=>d<=162; when 14=>d<=150;</p><p>  when 15=>d<=137; when 16=>d<=124; when 17=

66、>d<=112;</p><p>  when 18=>d<=99; when 19=>d<=87; when 20=>d<=75;</p><p>  when 21=>d<=64; when 22=>d<=53; when 23=>d<=43;</p><p> 

67、 when 24=>d<=34; when 25=>d<=26; when 26=>d<=19;</p><p>  when 27=>d<=13; when 28=>d<=8; when 29=>d<=4; </p><p>  when 30=>d<=1; when 31=>

68、;d<=0; when 32=>d<=0;</p><p>  when 33=>d<=1; when 34=>d<=4; when 35=>d<=8;</p><p>  when 36=>d<=13; when 37=>d<=19; when 38=>d<=26;<

69、/p><p>  when 39=>d<=34; when 40=>d<=43; when 41=>d<=53;</p><p>  when 42=>d<=64; when 43=>d<=75; when 44=>d<=87;</p><p>  when 45=>d<

70、=99; when 46=>d<=112; when 47=>d<=124;</p><p>  when 48=>d<=137; when 49=>d<=150; when 50=>d<=162;</p><p>  when 51=>d<=174; when 52=>d<=186; whe

71、n 53=>d<=197;</p><p>  when 54=>d<=207; when 55=>d<=217; when 56=>d<=225;</p><p>  when 57=>d<=233; when 58=>d<=239; when 59=>d<=245;</p><

72、;p>  when 60=>d<=249; when 61=>d<=252; when 62=>d<=254;</p><p>  when 63=>d<=255; when others=>null;</p><p><b>  end case;</b></p><p>&l

73、t;b>  end if;</b></p><p>  end process;</p><p><b>  end;</b></p><p><b>  正弦波仿真波形:</b></p><p>  圖13正弦波仿真波形</p><p>  正弦波信號產(chǎn)生

74、模塊元件圖:</p><p><b>  圖14正弦波元件圖</b></p><p><b>  波形輸出選擇器模塊</b></p><p><b>  代碼:</b></p><p>  LIBRARY IEEE;--選擇器</p><p>  USE

75、 IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY Xuanzeqi IS</p><p>  PORT ( sel: in std_logic_vector(2 downto 0);</p><p>  d1,d2,d3

76、,d4,d5,d6:in std_logic_vector(7 downto 0);</p><p>  q:out std_logic_vector(7 downto 0));</p><p><b>  END;</b></p><p>  ARCHITECTURE behave OF Xuanzeqi is</p><

77、p><b>  BEGIN</b></p><p>  PROCESS(sel)</p><p><b>  BEGIN</b></p><p>  CASE sel IS</p><p>  WHEN "001"=>q<=d1;--鋸齒波遞增

78、 </p><p>  WHEN "010"=>q<=d2; --鋸齒波遞減 </p><p>  WHEN "011"=>q<=d3; --三角波 </p><p>  WHEN "100"=>q<=d4;

79、--階梯波 </p><p>  WHEN "101"=>q<=d5; --方波 </p><p>  WHEN "110"=>q<=d6; --正弦波</p><p>  WHEN OTHERS=>null;</p><p><b>  E

80、ND CASE;</b></p><p>  END PROCESS;</p><p><b>  END;</b></p><p><b>  選擇器仿真波形:</b></p><p><b>  圖15選擇器波形圖</b></p><p>

81、;  選擇器信號產(chǎn)生模塊元件圖:</p><p><b>  圖16選擇器元件圖</b></p><p>  函數(shù)發(fā)生器的頂層設(shè)計</p><p> ?。?)將上述模塊生成符號,供頂層電路調(diào)用。這些模塊分別是:遞增鋸齒波產(chǎn)生模塊,遞減鋸齒波產(chǎn)生模塊,三角波產(chǎn)生模塊,階梯波產(chǎn)生模塊,方波產(chǎn)生模塊,正弦波信號產(chǎn)生模塊,選擇器。頂層電路的連接如圖所示

82、:</p><p><b>  圖17頂層電路圖</b></p><p>  (2)波形選擇電路與輸出波形對應(yīng)表:</p><p>  圖18電路波形對應(yīng)圖 </p><p>  管腳分配,下載及下載后的連線圖:</p><p><b>  圖19管腳分配圖&

83、lt;/b></p><p><b>  圖20連線圖</b></p><p><b>  調(diào)試與結(jié)果:</b></p><p>  設(shè)置時鐘發(fā)生電路模塊,使輸出時鐘頻率CLK=625KHZ(把20MHZ進行32分頻); </p><p>  撥動撥碼開關(guān),使s[2..0]=“001”,則示波

84、器輸出“遞增鋸齒波“波形如下:</p><p>  圖21遞增鋸齒波波形圖</p><p>  撥動撥碼開關(guān),使s[2..0]=“010”,則示波器輸出“遞減鋸齒波“波形如下:</p><p>  圖22遞減鋸齒波波形圖</p><p>  撥動撥碼開關(guān),使s[2..0]=“011”,則示波器輸出“三角波“波形如下: </p>

85、<p><b>  圖23三角波波形圖</b></p><p>  撥動撥碼開關(guān),使s[2..0]=“100”,則示波器輸出“階梯波“波形如下:</p><p><b>  圖24階梯波波形圖</b></p><p>  撥動撥碼開關(guān),使s[2..0]=“101”,則示波器輸出“方波“波形如下:</p>

86、;<p><b>  圖25方波波形圖</b></p><p>  撥動撥碼開關(guān),使s[2..0]=“110”,則示波器輸出“正弦波“波形如下:</p><p><b>  圖26正弦波波形圖</b></p><p><b>  結(jié)論:</b></p><p>&

87、lt;b>  1)能實現(xiàn)的功能</b></p><p>  從仿真及實驗結(jié)果可以看出,本設(shè)計較好地滿足了設(shè)計要求。同時,由于采用模塊化的設(shè)計方法,系統(tǒng)中的各個電路均可獨立實現(xiàn)各自的功能從而使系統(tǒng)具有較強的可移植性和維護性,這也為系統(tǒng)的功能擴展和升級提供了很大的便利。</p><p><b>  2)不足之處</b></p><p&

88、gt;  系統(tǒng)上電后的狀態(tài)不明確,若不按要求進行初始化操作會導(dǎo)致系統(tǒng)運行出現(xiàn)紊亂,進一步設(shè)計時可添加提示電路;以及個別的波形還不是太完美,還有一點缺陷,比如階梯波。</p><p><b>  體會及感想、收獲:</b></p><p>  本文以函數(shù)發(fā)生器的為設(shè)計對象,運用EDA技術(shù)的設(shè)計方法,進行各種波形的輸入設(shè)計、設(shè)計處理和器件編程。在VHDL語言的編寫中按照語

89、言描述規(guī)范,實現(xiàn)了幾種波形的軟件和具體邏輯元件結(jié)構(gòu)的硬件映射。結(jié)合FPGA的開發(fā)集成環(huán)境QuartusⅡ軟件,產(chǎn)生了函數(shù)信號發(fā)生器的各種信號,同時完成了時序和功能仿真。實驗表明采用該方法能準確產(chǎn)生正弦波、三角波、方波、鋸齒波等設(shè)計產(chǎn)生的波形,實現(xiàn)了信號發(fā)生器的功能。</p><p>  總而言之,這次實驗讓我更大程度上加深了對硬件語言及數(shù)模轉(zhuǎn)換電路的理解,特別是硬件語言所特有的并行性。使用者在使用之初,往往會由于

90、原有的其他高級語言順序編程思想的限制而犯錯誤。但是,當熟練后會發(fā)現(xiàn),硬件語言的這一并行特性對于硬件的設(shè)計非常方便,且有助于提高系統(tǒng)的效率。另外有一點非常重要,那就是模塊化的設(shè)計方法,它不僅有利于分工,而且有利于模塊的移植和擴展。</p><p><b>  參考文獻:</b></p><p>  [1] 汪烈軍,黃志華. 電子設(shè)計自動化(EDA)實驗指導(dǎo)書. 新疆大學(xué)

91、信息科學(xué)與工程學(xué)院,2008</p><p>  [2]劉江海.EDA技術(shù).武漢:華中科技大學(xué)出版社,2009.5</p><p>  [3]田耘,徐文波,張延偉.無線通信FPGA設(shè)計.北京:電子工業(yè)出版社,2007.10</p><p>  [4]黃仁欣.EDA技術(shù)實用教程.北京:清華大學(xué)出版社,2006.9</p><p>  [5]付家

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論