eda技術(shù)課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  EDA技術(shù)</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  摘要</b></p><p>  本次課程設(shè)計(jì)中我們成功設(shè)計(jì)出了具有自動(dòng)播放和手動(dòng)輸入功能的音樂播放器,播放器由按鍵輸入、音符輸出、音調(diào)輸出、選擇輸出、和數(shù)控分頻五個(gè)模塊組成

2、。</p><p>  其中各個(gè)模塊的功能如下:(1)按鍵輸入模塊主要由控制按鍵和音符輸入按鍵組成,黨控制按鍵按下時(shí)開始自動(dòng)播放;(2)音符輸出模塊主要實(shí)現(xiàn)將存儲(chǔ)在rom表中的音符讀出并送入音調(diào)輸出模塊中;(3)音調(diào)輸出模塊主要是通過查表來實(shí)現(xiàn)找到各個(gè)音調(diào)對(duì)應(yīng)的分頻預(yù)置數(shù);(4)選擇輸出模塊主要是通過按鍵控制來實(shí)現(xiàn)自動(dòng)播放和手動(dòng)彈奏輸出功能;(5)數(shù)控分頻模塊實(shí)現(xiàn)在給定分頻預(yù)置數(shù)的情況下分頻輸出驅(qū)動(dòng)蜂鳴器輸出相應(yīng)

3、的音調(diào)。</p><p>  關(guān)鍵詞:樂譜存儲(chǔ)樂譜輸出按鍵輸入選擇輸出數(shù)控分頻</p><p><b>  第一章 概述</b></p><p>  隨著計(jì)算機(jī)技術(shù)和集成電路技術(shù)的發(fā)展,現(xiàn)代電子與電工設(shè)計(jì),已經(jīng)步入了電子設(shè)計(jì)自動(dòng)化(EDA)的時(shí)代,采用虛擬仿真的手段對(duì)電子產(chǎn)品進(jìn)行前期工作的調(diào)試,已成為一種發(fā)展的必然趨勢(shì)。通過對(duì)實(shí)際電子線

4、路的仿真分析,從而提高對(duì)電路的分析、設(shè)計(jì)和創(chuàng)新能力。EDA技術(shù)作為現(xiàn)代電子設(shè)計(jì)最新技術(shù)的結(jié)晶,其廣闊的應(yīng)用前景和深遠(yuǎn)的影響已毋庸置疑,它在信息工程類專業(yè)中的基礎(chǔ)地位和核心作用也逐漸被人們所認(rèn)識(shí)。許多高等學(xué)校開設(shè)了相應(yīng)的課程,并為學(xué)生提供了課程設(shè)計(jì)、綜合實(shí)踐、電子設(shè)計(jì)競賽、畢業(yè)設(shè)計(jì)、科學(xué)研究和產(chǎn)品開發(fā)等EDA技術(shù)的綜合應(yīng)用實(shí)踐環(huán)節(jié)。相關(guān)的工程技術(shù)人員也特別重視學(xué)習(xí)EDA技術(shù),并渴望提高其工程應(yīng)用能力。</p><p&g

5、t;  本次設(shè)計(jì)是在EDA開發(fā)平臺(tái)上利用VHDL語言設(shè)計(jì)一個(gè)樂曲硬件演奏電路,由鍵盤輸入控制音響或自動(dòng)演奏。用戶可以將自己編制的樂曲存入硬件演奏電路,演奏時(shí)可以選擇鍵盤輸入樂曲或者自動(dòng)演奏已存入的樂曲。</p><p><b>  第二章 設(shè)計(jì)要求</b></p><p>  2.1、FPGA配合按鍵、蜂鳴器演奏一段簡單音樂;</p><p>

6、  2.2、當(dāng)前演奏音調(diào)對(duì)應(yīng)的阿拉伯?dāng)?shù)字用一位數(shù)碼管顯示;</p><p>  2.3、用LED燈亮的個(gè)數(shù)指示當(dāng)前演奏音調(diào)。</p><p><b>  第三章 總體構(gòu)思</b></p><p>  首先將該任務(wù)分成五個(gè)模塊進(jìn)行設(shè)計(jì),分別為:樂譜存儲(chǔ)、樂譜輸出、按鍵輸入、選擇輸出、數(shù)控分頻模塊。系統(tǒng)設(shè)計(jì)框圖如圖3.1所示:</p>

7、<p><b>  圖3.0 系統(tǒng)框圖</b></p><p>  3.1、樂譜存儲(chǔ)(NoteTabs模塊)</p><p>  該模塊的功能就是定義音符數(shù)據(jù)ROM“music”隨著該模塊中的計(jì)數(shù)器控制時(shí)鐘頻率速率作加法計(jì)數(shù)時(shí),即地址值遞增時(shí),ROM中的音符數(shù)據(jù)將從ROM中逐漸通過ToneIndex[3..0]端口輸向ToneTaba模塊,ROM中存儲(chǔ)的曲

8、目被讀出。對(duì)應(yīng)模塊圖如圖3.1所示:</p><p>  圖3.1 notebas模塊圖</p><p>  3.2、樂譜輸出(ToneTaba模塊)</p><p>  該模塊主要是是樂曲簡譜碼對(duì)應(yīng)的分頻預(yù)置數(shù)查找表電路,其中設(shè)置了樂曲的全部音符對(duì)應(yīng)的分頻置數(shù),每一音符的停留時(shí)間由音樂節(jié)拍和音調(diào)發(fā)生器模塊NoteTabs的CLK的輸入頻率決定,這些值由對(duì)應(yīng)于Ton

9、eTaba的4位輸入值Index[3..0]確定,最多有16種可選值。輸向ToneTaba中Index[3..0]的值ToneIndex[3..0]的輸出值與持續(xù)的時(shí)間由模塊NoteTabs決定。</p><p>  對(duì)應(yīng)模塊圖如圖3.2所示</p><p>  圖3.2 tonetaba模塊</p><p>  3.3、按鍵輸入模塊</p><

10、p>  該模塊主要由控制按鍵s8控制自動(dòng)播放或者手動(dòng)輸入,輸入音符按鍵s1- -s7分別代表音符1、2、3、4、5、6、7七個(gè)音符,控制時(shí)鐘clk。同時(shí)states輸出對(duì)應(yīng)音符,led顯示輸出音符的變化,pl為十一位分頻預(yù)置數(shù)來控制分頻器分頻輸出。</p><p>  圖3.3 按鍵輸入模塊圖</p><p>  3.4、選擇輸出模塊</p><p>  該模

11、塊通過控制按鍵s9來控制選擇自動(dòng)播放輸出(s9為高電平)或者按鍵彈奏輸出(s9為低電平)。</p><p>  圖3.4 選擇輸出模塊</p><p>  3.5、數(shù)控分頻模塊</p><p>  數(shù)控分頻器的功能是當(dāng)在輸入端給定不同的輸入數(shù)時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比,數(shù)控分頻器是用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器來完成的。在此,音符的頻率可由數(shù)控分頻器Spe

12、akera獲得。由其clk端輸入一具有較高頻率的信號(hào),通過Speakera分頻后由 SpkS 輸出,輸入的clk的頻率經(jīng)16分頻后,在經(jīng)一次二分頻驅(qū)動(dòng)蜂鳴器發(fā)生。Speakera對(duì)clk輸入信號(hào)的分頻比由11位預(yù)置數(shù)Tone[10..0]決定。SpkS 的輸出頻率將決定每一音符的音調(diào),這樣分頻計(jì)數(shù)器的預(yù)置值Tone[10..0]與SpkS的輸出頻率就有了對(duì)應(yīng)關(guān)系。</p><p>  圖3.5 數(shù)控分頻輸出模塊圖

13、</p><p>  3.6、頂層電路搭建</p><p>  對(duì)前幾個(gè)模塊實(shí)現(xiàn)綜合編寫的頂層電路。</p><p>  第四章 各單元電路的實(shí)現(xiàn)及仿真</p><p>  4.1、NoteTabs模塊</p><p>  4.1.1VHD源程序</p><p>  LIBRARY IEEE;

14、</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY notetabs IS</p><p>  PORT (clk1 : IN STD_LOGIC;</p><p>  T

15、oneIndex : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  key : IN STD_LOGIC);</p><p><b>  END;</b></p><p>  ARCHITECTURE one OF notetabs IS</p><p>  COMPONENT

16、data1</p><p>  PORT (address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);</p><p>  clock: IN STD_LOGIC;</p><p>  q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END COMPONENT;<

17、;/p><p>  SIGNAL Counter : STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS (clk1, Counter,key)</p><p><b>  BEGIN </b></p>

18、;<p>  IF key='1' then</p><p>  IF Counter="11101000" THEN Counter <="00000000";</p><p>  ELSIF (clk1'EVENT AND clk1='1')THEN Counter <=Count

19、er+1;</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  U1: data1 PORT MAP (address=>counter, q=>ToneIndex,cl

20、ock=>clk1);</p><p><b>  END;</b></p><p>  4.1.2仿真圖及分析</p><p>  圖4.1 音符播放仿真圖</p><p>  可以看到當(dāng)key為高電平的時(shí)候哦,音符陸續(xù)被讀出。</p><p>  4.2ToneTaba模塊</

21、p><p>  4.2.1VHD源程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY ToneTaba IS</p><p>  PORT ( Index: IN STD_LOGIC_VECTOR (3 DOW

22、NTO 0);</p><p>  CODE: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p>  -- HIGH: OUT STD_LOGIC;</p><p>  LED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  Tone: OUT STD_LOGI

23、C_VECTOR (10 DOWNTO 0));</p><p><b>  END;</b></p><p>  ARCHITECTURE one OF ToneTaba IS</p><p><b>  BEGIN</b></p><p>  Search : PROCESS(Index)<

24、;/p><p><b>  BEGIN</b></p><p>  CASE Index IS</p><p>  WHEN"0000"=>Tone<="11111111111";CODE<="0000";led<="00000001";--20

25、47</p><p>  WHEN"0001"=>Tone<="01100000101";CODE<="0001";led<="00000011";--773</p><p>  WHEN"0010"=>Tone<="01110010000&qu

26、ot;;CODE<="0010";led<="00000111";--912</p><p>  WHEN"0011"=>Tone<="10000001100";CODE<="0011";led<="00001111";--1036</p>&l

27、t;p>  WHEN"0101"=>Tone<="10010101101";CODE<="0101";led<="00011111";--1197</p><p>  WHEN"0110"=>Tone<="10100001010";CODE<=&q

28、uot;0110";led<="00111111";--1290</p><p>  WHEN"0111"=>Tone<="10101011100";CODE<="0111";led<="01111111";--1372</p><p>  WHEN&

29、quot;1000"=>Tone<="10110000010";CODE<="0001";led<="00000001";--1410</p><p>  WHEN"1001"=>Tone<="10111001000";CODE<="0010"

30、;led<="00000011";--1480</p><p>  WHEN"1010"=>Tone<="11000000110";CODE<="0011";led<="00000111";--1542</p><p>  WHEN"1100"

31、;=>Tone<="11001010110";CODE<="0101";led<="00001111";--1622</p><p>  WHEN"1101"=>Tone<="11010000100";CODE<="0110";led<="

32、;00011111";--1668</p><p>  WHEN"1111"=>Tone<="11011000000";CODE<="0001";led<="00111111";--1728</p><p>  WHEN OTHERS=>Tone<="11

33、111111111";CODE<="0000";led<="00000001";--2047</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p><b>  END;</b></p>

34、<p>  4.3按鍵輸入模塊</p><p>  4.3.1 VHD源程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY AJ IS</p><p>  PORT( <

35、/p><p>  CLK,S1,S2,S3,S4,S5,S6,S7,S8:IN STD_LOGIC;</p><p>  STATES:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  -- SOUND:OUT STD_LOGIC;</p><p>  PL:OUT STD_LOGIC_VECTOR(10 D

36、OWNTO 0);</p><p>  LED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p><b>  END AJ;</b></p><p>  ARCHITECTURE ONE OF AJ IS</p><p>  SIGNAL G:STD_LOGIC_VECTOR(7 DO

37、WNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(clk,S1,S2,S3,S4,S5,S6,S7,S8)</p><p><b>  BEGIN</b></p><p>  IF CLK'EVENT AND CLK='1'

38、 THEN</p><p>  IF S8='0' THEN LED<="00000000";G<="00000000";</p><p>  IF ( S1='1'AND S2='0'AND S3='0'AND S4='0'AND S5='0

39、9;AND S6='0'AND S7='0') THEN </p><p>  G<="00000001";LED<="00000001"; </p><p>  ELSIF ( S2='1'AND S1='0'AND S3='0'AND S4=&#

40、39;0'AND S5='0'AND S6='0'AND S7='0')THEN</p><p>  G<="00000010";LED<="00000011"; </p><p>  ELSIF ( S3='1'AND S1='0'AND S

41、2='0'AND S4='0'AND S5='0'AND S6='0'AND S7='0')THEN </p><p>  G<="00000100";LED<="00000111"; </p><p>  ELSIF ( S4='1'

42、;AND S1='0'AND S2='0'AND S3='0'AND S5='0'AND S6='0'AND S7='0') THEN </p><p>  G<="00001000";LED<="00001111"; </p><p> 

43、 ELSIF ( S5='1'AND S1='0'AND S2='0'AND S3='0'AND S4='0'AND S6='0'AND S7='0') THEN </p><p>  G<="00010000"; LED<="00011111";

44、 </p><p>  ELSIF ( S6='1'AND S1='0'AND S2='0'AND S3='0'AND S4='0'AND S5='0'AND S7='0') THEN </p><p>  G<="00100000";LED<=

45、"00111111"; </p><p>  ELSIF ( S7='1'AND S1='0'AND S2='0'AND S3='0'AND S4='0'AND S5='0'AND S6='0') THEN </p><p>  G<="0

46、1000000";LED<="01111111"; </p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><

47、;b>  CASE G IS</b></p><p>  WHEN "00000001"=>STATES<="0001";PL<="01100000101";</p><p>  WHEN "00000010"=>STATES<="0010";

48、PL<="01110010000";</p><p>  WHEN "00000100"=>STATES<="0011";PL<="10000001100";</p><p>  WHEN "00001000"=>STATES<="0100&qu

49、ot;;PL<="11000011111";</p><p>  WHEN "00010000"=>STATES<="0101";PL<="10010101101";</p><p>  WHEN "00100000"=>STATES<="011

50、0";PL<="10100001010";</p><p>  WHEN "01000000"=>STATES<="0111";PL<="10101011100";</p><p>  -- WHEN "10000000"=>STATES<=&q

51、uot;1000";PL<="00000001000";</p><p>  WHEN OTHERS=>STATES<="0000";PL<="00000000000";</p><p><b>  END CASE;</b></p><p>  EN

52、D PROCESS;</p><p>  END ARCHITECTURE ONE;</p><p><b>  4.4選擇輸出</b></p><p>  4.4.1VHD源程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.

53、ALL;</p><p>  ENTITY xz IS</p><p>  port(so,st :in STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  po,pt:in STD_LOGIC_VECTOR(10 DOWNTO 0);</p><p>  lo,lt :in STD_LOGIC_VECTOR(7

54、DOWNTO 0);</p><p>  s :out STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  l :out STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  P:out STD_LOGIC_VECTOR(10 DOWNTO 0);</p><p>  s9 :IN ST

55、D_LOGIC</p><p><b>  );</b></p><p><b>  end;</b></p><p>  architecture behav of xz is</p><p><b>  begin</b></p><p>  pro

56、cess(s9,so,st,po,pt,lo,lt)</p><p><b>  begin</b></p><p>  if s9='1' then s<=st;p<=pt;l<=lt;</p><p>  else s<=so;p<=po;l<=lo;</p><p&g

57、t;<b>  end if;</b></p><p>  end process;</p><p>  end architecture behav;</p><p>  4.5 數(shù)控分頻模塊</p><p>  4.5.1 VHDL源程序</p><p>  LIBRARY IEEE;<

58、/p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY Speakera IS </p><p>  PORT ( clk,

59、S1,S2,S3,S4,S5,S6,S7,S8: IN STD_LOGIC;</p><p>  Tone : IN STD_LOGIC_VECTOR (10 DOWNTO 0);</p><p>  SpkS : OUT STD_LOGIC );</p><p><b>  END;</b></p><p>  AR

60、CHITECTURE one OF Speakera IS</p><p>  SIGNAL PreCLK, FullSpkS : STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  PROCESS(clk)</p><p>  VARIABLE Count4 : STD_LOGIC

61、_VECTOR (3 DOWNTO 0) ;</p><p><b>  BEGIN</b></p><p>  PreCLK <= '0'; -- 將CLK進(jìn)行16分頻,PreCLK為CLK的16分頻</p><p>  IF Count4>11 THEN PreCLK <= '1';

62、Count4 := "0000";</p><p>  ELSIF clk'EVENT AND clk = '1' THEN Count4 := Count4 + 1; </p><p>  END IF; </p><p>  END PROCESS;</p><p>  PROC

63、ESS(PreCLK, Tone)-- 11位可預(yù)置計(jì)數(shù)器</p><p>  VARIABLE Count11 : STD_LOGIC_VECTOR (10 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  IF PreCLK'EVENT AND PreCLK = '1' THE

64、N</p><p>  IF Count11 = 16#7FF# THEN Count11 := Tone ; FullSpkS <= '1'; </p><p>  ELSE Count11 := Count11 + 1; FullSpkS <= '0';</p><p><b>  END IF;</

65、b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS(FullSpkS,S1,S2,S3,S4,S5,S6,S7,S8)--將輸出再2分頻,展寬脈沖,使揚(yáng)聲器有足夠功率發(fā)音</p><p>  VARIABLE Count2 :

66、STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  IF (S1='1' OR S2='1' OR S3='1' OR S4='1' OR S5='1' OR S6='1' OR S7='1' OR S8='1&

67、#39; ) THEN</p><p>  IF FullSpkS'EVENT AND FullSpkS = '1' THEN Count2 := NOT Count2; </p><p>  IF Count2 = '1' THEN SpkS <= '1';</p><p> 

68、 ELSE SpkS <= '0'; </p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p&

69、gt;<p><b>  END;</b></p><p>  4.6 主電路連線圖(圖4.6)</p><p>  圖4.6。0 主電路圖</p><p>  4.6.1 仿真圖及結(jié)果分析</p><p>  圖4.6.1 主電路仿真圖</p><p>  由仿真圖可知,控制鍵s8

70、為按下時(shí)且s1—s7中有按鍵按下,此時(shí)states顯示手動(dòng)彈奏的音符輸出,同時(shí)led燈顯示彈奏的音符。當(dāng)按鍵s8為高電平時(shí),開始自動(dòng)播放,states和led開始顯示對(duì)應(yīng)的音符。</p><p>  第五章編譯、下載及調(diào)試中遇到的問題及解決辦法</p><p>  在編譯過程中,遇到的第一個(gè)問題也是最大的問題就是如何實(shí)現(xiàn)樂曲的演奏問題,如何令電路自動(dòng)播放一首預(yù)先存儲(chǔ)的樂曲。在解決這一問題時(shí)

71、,我們采用ROM表將樂曲對(duì)應(yīng)的音符存入ROM表中,ROM表中每個(gè)數(shù)對(duì)應(yīng)相同的時(shí)間,設(shè)置一個(gè)8位二進(jìn)制計(jì)數(shù)器,作為音符數(shù)據(jù)ROM的地址發(fā)生器。這個(gè)計(jì)數(shù)器的計(jì)數(shù)頻率選為4HZ,即每一計(jì)數(shù)值的停留時(shí)間為0.25秒,當(dāng)全音符設(shè)為1秒時(shí),4分音符持續(xù)時(shí)間為0.25s, 2分音符持續(xù)的時(shí)間為0.5s等等。每來一個(gè)脈沖計(jì)一次數(shù),每一計(jì)數(shù)值的停留時(shí)間為0.25s,即要輸入一個(gè)全音符時(shí)需要計(jì)數(shù)4次才行,則應(yīng)在Rom表格中輸出相應(yīng)音符四次,表示一個(gè)全音符的

72、持續(xù)時(shí)間,要輸入一個(gè)2分音符則需要計(jì)數(shù)2次,依次類推。</p><p>  第二個(gè)問題是頻率信號(hào)的選取一開始不知道如何下手,之后通過查找資料知道了所有不同頻率的信號(hào)都是從同一個(gè)基準(zhǔn)頻率f0分頻而得到的。由于音節(jié)頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),因此必須將計(jì)算所得的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過高,則分頻比太小,取整后誤差較大。若基準(zhǔn)頻率過高,雖然誤差減小,但分頻數(shù)變大。綜合這兩方面因素,在盡量減小頻率誤差

73、的前提下取合適的基準(zhǔn)頻率,在此取f0=6MHz。</p><p>  第三個(gè)問題是無輸入是噪聲問題。由于按鍵有限,沒有設(shè)計(jì)單獨(dú)控制無輸入情況下噪聲的控制按鈕。所以一開始在沒有按鍵下的情況會(huì)出現(xiàn)蜂鳴器發(fā)聲的情況,為此我們?cè)跀?shù)控分頻模塊中單獨(dú)添寫了一段程序來控制無輸入噪聲,程序功能是在沒有輸入的情況下禁止脈沖輸出,蜂鳴器不響。</p><p>  第四個(gè)問題是原件例化時(shí)對(duì)應(yīng)端口賦值的問題,特別

74、是在音符存儲(chǔ)模塊的設(shè)計(jì)中經(jīng)常遇到這種問題。為此需要弄清楚外部信號(hào)與內(nèi)部信號(hào),需要仔細(xì)分辨。</p><p><b>  第六章總結(jié)</b></p><p>  經(jīng)過努力, 樂曲硬件演奏電路的設(shè)計(jì)基本上完成了。在整個(gè)設(shè)計(jì)過程中,包括前期中期和后期。前期工作是通過組員之間的討論達(dá)到明白此次課設(shè)的目的和要求,以及拿出一套初步的設(shè)計(jì)方案。中期工作是通過各種方式查閱資料并實(shí)際

75、編寫程序,在初步方案的指引下逐步實(shí)現(xiàn)我們的設(shè)計(jì)目標(biāo)。后期工作主要是整個(gè)設(shè)計(jì)的查漏補(bǔ)缺和完成論文書寫工作。每個(gè)過程都包含著我們的努力和探索,并且我都有著許多不同的體會(huì):</p><p>  1) VHDL的編程與C語言的編程有著本質(zhì)的不同,然而以往形成的舊編程習(xí)慣在VHDL編程中依然起著很大的作用。在本次設(shè)計(jì)中這種影響到處都是存在的,特別是在手動(dòng)輸入和自動(dòng)播放功能的問題中處處可見。</p><p

76、>  2) VHDL的設(shè)計(jì)關(guān)鍵是電路邏輯設(shè)計(jì),而一個(gè)程序的關(guān)鍵是總體設(shè)計(jì)。整個(gè)設(shè)計(jì)的過程是從遵從整體到部分、從抽象到具體,最后在總體的思想。即先明白整體設(shè)計(jì)的思路和需要實(shí)現(xiàn)的功能,將其抽象組成不同的模塊,在分塊設(shè)計(jì)。最后組成總體的設(shè)計(jì)結(jié)果。</p><p>  3)通過這個(gè)程序設(shè)計(jì)讓我更加了解了VHDL語言,對(duì)數(shù)字系統(tǒng)結(jié)構(gòu)也有了更進(jìn)一步的了解和認(rèn)識(shí),對(duì)我以后的學(xué)習(xí)有很大的幫助。</p><

77、;p>  4)還有就是對(duì)驅(qū)動(dòng)蜂鳴器的脈沖是矩形脈沖好還是正弦波好問題的探索,答案是正弦波好。因?yàn)檎也l率成分比較單一,而正弦波頻率成分復(fù)雜。應(yīng)用是需要使用濾波器濾除部分頻率才能做到使音質(zhì)更加好。</p><p>  回顧此次課程設(shè)計(jì),從書籍,網(wǎng)絡(luò)不斷的尋找到設(shè)計(jì)電路,從拿到題目到完成整個(gè)設(shè)計(jì),從理論到實(shí)踐,每一步都是智慧的結(jié)晶,可以學(xué)到很多很多的東西。對(duì)課本知識(shí)的進(jìn)一步加深的同時(shí)學(xué)到了很多在書本上沒有學(xué)到

78、過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。</p><p><b>  第

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論