微機原理課程設(shè)計報告_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  微機原理課程設(shè)計報告</p><p>  摘要       由于微電子學(xué)和計算機科學(xué)的迅速發(fā)展,給EDA(電子設(shè)計自動化)行業(yè)帶來了巨大的變化。特別是進入20世紀90年代后,電子系統(tǒng)已經(jīng)從電路板級系統(tǒng)集成發(fā)展成為包括ASIC、FPGA/CPLD和嵌入系統(tǒng)的多種模式??梢哉fEDA產(chǎn)業(yè)已經(jīng)成為電子信息類產(chǎn)品的支柱產(chǎn)業(yè)。EDA之所以能蓬

2、勃發(fā)展的關(guān)鍵因素之一就是采用了硬件描述語言(HDL)描述電路系統(tǒng)。就FPGA和CPLD開發(fā)而言,比較流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等,其中VHDL和Verilog HDL因適合標準化的發(fā)展方向而最終成為IEEE標準。下面的設(shè)計就是用VHDL來完成實現(xiàn)的。</p><p><b>  關(guān)鍵詞:</b></p><p>

3、  VHDL UART </p><p><b>  正文:</b></p><p>  1.UART設(shè)計實例       通常設(shè)計數(shù)字電路大都采用自頂向下將系統(tǒng)按功能逐層分割的層次化設(shè)計方法,這比傳統(tǒng)自下向上的EDA設(shè)計方法有更明顯的優(yōu)勢(當時的主要設(shè)計文件是電路圖)。因為由自頂向下的設(shè)計過程可以看出,從

4、總體行為設(shè)計開始到最終邏輯綜合,形成網(wǎng)絡(luò)表為止。每一步都要進行仿真檢查,這樣有利于盡早發(fā)現(xiàn)系統(tǒng)設(shè)計中存在的問題,從而可以大大縮短系統(tǒng)硬件的設(shè)計周期。        UART(即Universal Asynchronous Receiver Transmitter 通用異步收發(fā)器)是一種應(yīng)用廣泛的短距離串行傳輸接口。UART允許在串行鏈路上進行全雙工的通信。串行外設(shè)用

5、到的RS232-C異步串行接口,一般采用專用的集成電路即UART實現(xiàn)。如8250、8251、NS16450等芯片都是常見的UART器件,這類芯片已經(jīng)相當復(fù)雜,有的含有許多輔助的模塊(如FIFO),有時我們不需要使用完整的UART的功能和這些輔助功能。或者設(shè)計上用到了FPGA/CPLD器件,那么我們就可以將所需要的UART功能集成到FPGA內(nèi)部。使用VHDL將UART的核心功能集成,從而使整個設(shè)計更加緊湊、穩(wěn)</p><

6、;p><b>  2.設(shè)計要求</b></p><p>  采用8位寬數(shù)據(jù)總線,16位寬地址總線;</p><p>  完整的數(shù)據(jù)收/發(fā)功能,波特率可調(diào); </p><p>  支持5-8位數(shù)據(jù)位、1-2位停止位、1位奇偶校驗位; </p><p>  一級數(shù)據(jù)緩沖,不使用FIFO;</p><

7、p>  具備奇偶校驗錯能力; </p><p><b>  支持接收數(shù)據(jù)完成。</b></p><p>  使用vhdl語言自頂向下設(shè)計,畫出各模塊結(jié)構(gòu)框圖、狀態(tài)機等,可使用modelsim仿真。</p><p>  設(shè)計的總體方案及原理</p><p><b>  3.1 基本思路</b>&

8、lt;/p><p>  根據(jù)實驗要求,我們使用VHDL語言并用modelsim進行仿真,在top層下面有接收層,發(fā)送層,分頻器,來實現(xiàn)各種波特率下面的發(fā)送與接收。分別設(shè)計相應(yīng)的testbench來檢驗正確與否,最后運行top的testbench來測試結(jié)果。</p><p><b>  3.2 設(shè)計原理</b></p><p><b>  

9、UART簡述</b></p><p>  UART即Universal Asynchronous Receiver Transmitter通用異步收發(fā)器,是一種應(yīng)廣泛的短距離串行傳輸接口。往往用于短距離、低速、低成本的微機與下拉機的通訊中。8250、8251、NS16450等芯片都是常見的UART器件。</p><p>  “異步”指不需要額外的時鐘線進行數(shù)據(jù)的同步傳輸,是一種

10、串行總線接口,只需占用兩根線就可以完成數(shù)據(jù)的收發(fā)(一根接收數(shù)據(jù),一根發(fā)送數(shù)據(jù))。常用的傳輸率有4800bps、9600bps、19200bps和115200bps等。</p><p><b>  基本幀格式</b></p><p><b>  基本概念</b></p><p>  在信號線上有兩種狀態(tài),可分別用邏輯1和邏輯

11、0來區(qū)分。在發(fā)送空閑時,數(shù)據(jù)線應(yīng)保持在邏輯1狀態(tài);</p><p>  起始位。發(fā)送器是通過發(fā)送起始位而開始一個字符傳送,起始位使數(shù)據(jù)線處于邏輯0狀態(tài),提示接收器數(shù)據(jù)傳輸即將開始;</p><p>  數(shù)據(jù)位。起始位之后就是傳送數(shù)據(jù)位。數(shù)據(jù)位一般為一個字節(jié)的數(shù)據(jù)(也有6位、7位的情況),低位(LSB)在前,高位(MSB)在后;</p><p>  校驗位??梢哉J為是

12、一個特殊的數(shù)據(jù)位。校驗位一般用來判斷接收的數(shù)據(jù)位有無錯誤,一般是奇偶校驗。 本課程設(shè)計里,UART使用1比特的奇校驗位;</p><p>  停止位。停止位在最后,用以標志一個字符傳送的結(jié)束,它對應(yīng)于邏輯1狀態(tài);</p><p>  位時間。即每個位的時間寬度。起始位、數(shù)據(jù)位、校驗位的位寬度是一致的,停止位有0.5位、1位、1.5位格式,一般為1位;</p><p>

13、;  幀。從起始位開始到停止位結(jié)束的時間間隔稱之為一幀;</p><p>  波特率。UART的傳送速率,用于說明數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進行傳送的,因此傳送速率用每秒鐘傳送數(shù)據(jù)位的數(shù)目來表示,稱之為波特率。</p><p><b>  幀格式</b></p><p>  UART的幀格式如下:</p><p

14、>  UART的整個設(shè)計分為3個子模塊和一個頂層模塊:波特率發(fā)生器、發(fā)送模塊、接收模塊和一個頂層模塊。</p><p><b>  波特率發(fā)生器</b></p><p>  波特率發(fā)生器實際上就是一個簡單的分頻器。它把系統(tǒng)時鐘(clk)分頻成16倍的波特率時鐘,稱為分頻時鐘(bclk)。分頻時鐘控制了發(fā)送器和接收器的采樣速率,從而達到精準采樣的目的。</p

15、><p><b>  發(fā)送器</b></p><p>  發(fā)送器要做的工作就是把CPU從數(shù)據(jù)總線上送來的8位并行數(shù)據(jù)按照波特率時鐘變?yōu)榇袛?shù)據(jù),先發(fā)1位的起始位,然后發(fā)8位的數(shù)據(jù),之后1位的奇校驗位和停止位。每1位都是發(fā)一個波特率時鐘,即16個分頻時鐘。在發(fā)送完數(shù)據(jù)后,產(chǎn)生一個發(fā)送確認信號(命名為txd_done),當該信號為1時表示一幀的數(shù)據(jù)發(fā)送完畢,等待下一幀數(shù)據(jù)的發(fā)

16、送。</p><p><b>  接收器</b></p><p>  接收器要做的工作就是把外部送來的串行數(shù)據(jù)按照波特率時鐘轉(zhuǎn)換成8比特的并行數(shù)據(jù),然后放在數(shù)據(jù)總線上供CPU使用。首先它要能夠檢測低電平的起始位,等待8個分頻時鐘后確認信號是否一直保持低電平,是的話就開始每16個分頻時鐘(即一個波特率時鐘)采一次數(shù)據(jù)。接收完數(shù)據(jù)后返回奇校驗信息,并把接收完成信號(命名為

17、r_ready)置為高電平,表示一幀的數(shù)據(jù)接收完畢。</p><p><b>  頂層模塊</b></p><p>  頂層模塊把地址總線上的16位地址信號進行地址譯碼。將譯碼后的信號送往對應(yīng)的子模塊,把數(shù)據(jù)總線上的8位數(shù)據(jù)做并串轉(zhuǎn)換后輸出,或者把外部串行數(shù)據(jù)做串并轉(zhuǎn)換后送往數(shù)據(jù)總線。并且返回相應(yīng)的接收完成信號和奇校驗信號,或者返回發(fā)送完成信號。</p>

18、<p><b>  UART原理圖:</b></p><p><b>  異步收發(fā)器結(jié)構(gòu)圖:</b></p><p>  UART的設(shè)計與實現(xiàn)</p><p><b>  4.1 頂層設(shè)計</b></p><p>  library IEEE;</p>

19、<p>  use IEEE.STD_LOGIC_1164.ALL;</p><p>  use IEEE.STD_LOGIC_ARITH.ALL;</p><p>  use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY top is</p><p>  Port (clk60mhz

20、,reset,rxd:in std_logic; </p><p>  address,kk:in std_logic_vector(1 downto 0);</p><p>  rec_ready,txd_out,txd_done_out,rec_check:out std_logic;</p><p>  txdbuf_in:in std_logic_ve

21、ctor(7 downto 0); </p><p>  rec_buf:out std_logic_vector(7 downto 0)); </p><p><b>  end top;</b></p><p>  ARCHITECTURE Behavioral of top is</p><p>

22、;  component receiver</p><p>  Port (bclkr,resetr,rxdr:in std_logic;</p><p>  address: in std_logic_vector(1 downto 0);</p><p>  r_ready,r_check:out std_logic;</p><p> 

23、 rbuf:out std_logic_vector(7 downto 0));</p><p>  end component;</p><p>  component transmitter</p><p>  Port (bclkt,resett:in std_logic;</p><p>  address: in std_logic

24、_vector(1 downto 0);</p><p>  txdbuf:in std_logic_vector(7 downto 0);</p><p>  txd:out std_logic;</p><p>  txd_done:out std_logic);</p><p>  end component;</p>&

25、lt;p>  component baud</p><p>  Port (clk,resetb:in std_logic;</p><p><b>  Top結(jié)果圖1</b></p><p><b>  Top結(jié)果圖2</b></p><p>  當reset信號為低電平時,輸入時為0101

26、0101,發(fā)送器發(fā)送的是0101010100分別是起始位低電平,由后向前的發(fā)送數(shù)據(jù)位8位,以及結(jié)尾的兩位高電平。</p><p>  4.2 UART分頻器</p><p>  波特率發(fā)生器實際上就是一個簡單的分頻器??梢愿鶕?jù)給定的系統(tǒng)時鐘頻率(晶振時鐘)和要求的波特率算出波特率分頻因子。已算出的波特率分頻因子作為分頻器的分頻數(shù)。對于波特率發(fā)生器中的系數(shù)一般在FPGA實現(xiàn)時往往是固定的,但

27、對于不同的實現(xiàn),這個系數(shù)需要更改。波特率發(fā)生器產(chǎn)生的分頻時鐘,不是波特率時鐘,而是波特率時鐘的16倍,目的是為了在接收事實進行精確地采樣,以提出異步的串行數(shù)據(jù)。</p><p>  在VHDL實現(xiàn)的時候,設(shè)置了4個輸入端口和1個輸出端口,其中輸入端口kk用于設(shè)置所需的波特率。當kk為00時對應(yīng)的波特率為9600bps;kk為01時對應(yīng)的波特率為19200bps;kk為10時對應(yīng)的波特率為115200bps。輸入端

28、口clk接系統(tǒng)時鐘,ben為使能端口,resetb為復(fù)位端口,低電平有效。輸出端口信號bclk即為不同波特率所對應(yīng)的分頻時鐘。這里的系統(tǒng)時鐘clk設(shè)為32MHz。</p><p>  K的值依次為“00”,“01”,“10”,對應(yīng)的波特率分別為9600bps,19200bps,115200bps,由圖可知頻率越來越大,波形越來越密</p><p>  library IEEE;</p

29、><p>  use IEEE.STD_LOGIC_1164.ALL;</p><p>  use IEEE.STD_LOGIC_ARITH.ALL;</p><p>  use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY baud is</p><p>  Port (cl

30、k,resetb:in std_logic;</p><p>  k:in std_logic_vector(1 downto 0);</p><p>  bclk:out std_logic);</p><p><b>  end baud;</b></p><p>  ARCHITECTURE behavioral

31、of baud is</p><p><b>  begin</b></p><p>  process(clk,resetb,k)</p><p>  variable cnt:std_logic_vector(8 downto 0):="000000000";</p><p>  variable

32、 clock:std_logic:='0';</p><p><b>  begin</b></p><p>  if resetb='1' then </p><p>  cnt:="000000000"; bclk

33、<='0'; clock:='0';</p><p>  elsif rising_edge(clk) then</p><p>  if k="00" then</p><p>  if cnt="110000110"then cnt:="000000000"; bc

34、lk<=not clock; </p><p>  elsif cnt>="011000011"</p><p>  then cnt:=cnt+'1'; bclk<= not clock;</p><p>  else cnt:=cnt+'1'; bclk<=clock;</p&g

35、t;<p><b>  end if; </b></p><p>  elsif k="01" then</p><p>  if cnt="011000011"then cnt:="000000000"; bclk<=not clock; </p><p>  

36、elsif cnt>="01100010"</p><p>  then cnt:=cnt+'1'; bclk<= not clock;</p><p>  else cnt:=cnt+'1'; bclk<=clock;</p><p><b>  end if; </b>&

37、lt;/p><p>  elsif k="10" then</p><p>  if cnt="00100000"then cnt:="000000000"; bclk<=not clock; </p><p>  elsif cnt>="00010000"</p>

38、;<p>  then cnt:=cnt+'1'; bclk<= not clock;</p><p>  else cnt:=cnt+'1'; bclk<=clock;</p><p><b>  end if; </b></p><p><b>  end if;</

39、b></p><p><b>  end if;</b></p><p>  end process;</p><p>  end behavioral;</p><p>  4.3 UART發(fā)送器</p><p>  UART發(fā)送模塊的功能:接收到發(fā)送指令后,把數(shù)據(jù)按UART協(xié)議輸出,先輸

40、出一個低電平的起始位,然后從低到高輸出8個數(shù)據(jù)位,接著是可選的奇偶校驗位,最后是高電平的停止位。Testbench中實現(xiàn)了11010101的發(fā)送發(fā)送圖形,發(fā)送的數(shù)據(jù)幀為“0 11010101 1 1”采用偶校驗方式,校驗位應(yīng)該為1,由圖可知校驗位為1</p><p>  library IEEE;</p><p>  use IEEE.STD_LOGIC_1164.ALL;</p&g

41、t;<p>  use IEEE.STD_LOGIC_ARITH.ALL;</p><p>  use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY receiver is</p><p>  generic(framlenr:integer:=9); </p><p&

42、gt;  Port (bclkr,resetr,rxdr:in std_logic; </p><p>  address: in std_logic_vector(1 downto 0);</p><p>  r_ready:out std_logic;</p><p>  rbuf:out std_logic_vector(7 downto 0);<

43、;/p><p>  r_check:out std_logic:='0');</p><p>  end receiver;</p><p>  ARCHITECTURE Behavioral of receiver is</p><p>  type states is (r_start,r_center,r_wait,r_sa

44、mple,r_stop); </p><p>  signal state:states:=r_start;</p><p>  signal rxd_sync:std_logic;</p><p><b>  begin</b></p><p>  pro1:process(rxdr)</p>

45、<p><b>  begin</b></p><p>  if rxdr='0' then rxd_sync<='0';</p><p>  else rxd_sync<='1';</p><p><b>  end if;</b></p>

46、;<p>  end process;</p><p>  pro2:process(bclkr,resetr,rxd_sync,address) </p><p>  variable count:std_logic_vector(3 downto 0); </p><

47、;p>  variable rcnt:integer:=0;</p><p>  variable rbufs:std_logic_vector(8 downto 0);</p><p>  variable aaa: std_logic;</p><p><b>  begin</b></p><p>  if

48、resetr='1' then state<=r_start; count:="0000"; </p><p>  elsif rising_edge(bclkr) then</p><p>  case state is</p><p>  when r_start=>

49、 </p><p>  if rxd_sync='0' </p><p>  then state<=r_center; r_ready<='0'; rcnt:=0;</p><p>  else state<=r_start; r_ready<='

50、0'; r_check<='0';</p><p>  end if; </p><p>  when r_center=> </p><p>  if rxd_sync='0' </p><p>  th

51、en if count="1000"</p><p>  then state<=r_wait; count:="0000";</p><p>  else count:=count+1; state<=r_center;</p><p><b>  end if;</b></p>

52、<p>  else state<=r_start;</p><p>  end if; </p><p>  when r_wait=> </p><p>  if count>="1110" then</p>

53、<p>  if rcnt=framlenr then state<=r_stop; </p><p>  else state<=r_sample;</p><p><b>  end if;</b></p><p>  count:="0000"; </p&

54、gt;<p>  else count:=count+1; state<=r_wait;</p><p><b>  end if;</b></p><p>  when r_sample=></p><p>  rbufs(rcnt):=rxd_sync;</p><p>  rcnt:=rc

55、nt+1;state<=r_wait; </p><p>  when r_stop=></p><p>  r_ready<='1'; </p><p>  aaa:=rbufs(0) xor rbufs(1) xor rbufs(2) </p><p>  xor rbufs(3) xor

56、 rbufs(4) xor rbufs(5) </p><p>  xor rbufs(6) xor rbufs(7)xor rbufs(8);</p><p>  if aaa='0'</p><p>  then r_check<='0';</p><p>  else r_check<=

57、9;1';</p><p><b>  end if; </b></p><p>  if address="01"</p><p>  then rbuf<=rbufs(7 downto 0); </p><p>  state<=r_start; </p>&l

58、t;p>  else rbuf<="00000000"; </p><p>  state<=r_stop;</p><p><b>  end if;</b></p><p>  when others=>state<=r_start;</p><p><b>

59、;  end case;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  end Behavioral;</p><p>  4.4UART接收器</p><p>  UART接收模塊的功能:時時檢測線路,當

60、線路產(chǎn)生下降沿時,即認為線路有數(shù)據(jù)傳輸,啟動接收數(shù)據(jù)進程進行接收,按從低位到高位接收數(shù)據(jù)。根據(jù)Testbench中接收到的波形可知接受結(jié)果正確。奇偶校驗采用偶校驗方式,由圖觀察可知,第一串數(shù)據(jù)有四個1,所以校驗位為0,觀察波形校驗位為0,正確所以r_check=0;第二串數(shù)據(jù)有五個1,所以校驗位為1,觀察波形校驗位為1,錯誤所以r_check=1;第三串數(shù)據(jù)分析同上。</p><p>  library IEEE

61、;</p><p>  use IEEE.STD_LOGIC_1164.ALL;</p><p>  use IEEE.STD_LOGIC_ARITH.ALL;</p><p>  use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY receiver is</p><p>

62、;  generic(framlenr:integer:=9); </p><p>  Port (bclkr,resetr,rxdr:in std_logic; </p><p>  r_ready:out std_logic;</p><p>  rbuf:out std_logic_vector(7 downto 0);</p&

63、gt;<p>  r_check:out std_logic:='0');</p><p>  end receiver;</p><p>  ARCHITECTURE Behavioral of receiver is</p><p>  type states is (r_start,r_center,r_wait,r_sample

64、,r_stop); </p><p>  signal state:states:=r_start;</p><p>  signal rxd_sync:std_logic;</p><p><b>  begin</b></p><p>  pro1:process(rxdr)</p>

65、<p><b>  begin</b></p><p>  if rxdr='0' then rxd_sync<='0';</p><p>  else rxd_sync<='1';</p><p><b>  end if;</b></p&g

66、t;<p>  end process;</p><p>  pro2:process(bclkr,resetr,rxd_sync) </p><p>  variable count:std_logic_vector(3 downto 0); </p><p>

67、  variable rcnt:integer:=0;</p><p>  variable rbufs:std_logic_vector(8 downto 0);</p><p>  variable aaa: std_logic;</p><p><b>  begin</b></p><p>  if resetr

68、='1'</p><p>  then state<=r_start; count:="0000"; </p><p>  elsif rising_edge(bclkr)</p><p>  then case state is</p><p>  when r_star

69、t=> </p><p>  if rxd_sync='0' </p><p>  then state<=r_center;</p><p>  r_ready<='0'; rcnt:=0;</p><p>  else

70、 state<=r_start; </p><p>  r_ready<='0'; r_check<='0';</p><p>  end if; </p><p>  when r_center=> </p>&l

71、t;p>  if rxd_sync='0' </p><p>  then if count="1000"</p><p>  then state<=r_wait; count:="0000";</p><p>  else count:=count+1; state<=r_center;&

72、lt;/p><p><b>  end if;</b></p><p>  else state<=r_start;</p><p>  end if; </p><p>  when r_wait=> </p&g

73、t;<p>  if count>="1110" then</p><p>  if rcnt=framlenr then state<=r_stop; </p><p>  else state<=r_sample;</p><p><b>  end if;</b></p>

74、<p>  count:="0000"; </p><p>  else count:=count+1; state<=r_wait;</p><p><b>  end if;</b></p><p>  when r_sample=></p><

75、;p>  rbufs(rcnt):=rxd_sync; </p><p>  rcnt:=rcnt+1;state<=r_wait; </p><p>  when r_stop=></p><p>  r_ready<='1'; rbuf<=rbufs(7 downto 0);</p>&

76、lt;p>  aaa:=rbufs(0) xor rbufs(1) xor rbufs(2)</p><p>  xor rbufs(3) xor rbufs(4) xor rbufs(5)</p><p>  xor rbufs(6) xor rbufs(7)xor rbufs(8);</p><p>  if aaa='0'</p&g

77、t;<p>  then r_check<='0';</p><p>  else r_check<='1';</p><p><b>  end if; </b></p><p>  state<=r_start; </p><p>  when oth

78、ers=>state<=r_start;</p><p><b>  end case;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  end Behavioral;</p><p>

79、<b>  5 總結(jié)與心得體會</b></p><p>  本設(shè)計由于采用了VHDL語言作為輸入方式并結(jié)合FPGA/CPLD,大大縮短了設(shè)計周期,提高了設(shè)計的可靠性、靈活性,使用戶可根據(jù)自己的需求,方便、高效地設(shè)計出適合的串行接口電路。用FPGA 來對UART接口進行開發(fā),可以減小系統(tǒng)的PCB面積,降低系統(tǒng)的功耗,提高設(shè)計的穩(wěn)定性和可靠性,并可以充分利用了FPGA 的剩余資源。該設(shè)計具有很大

80、的靈活性,雖然這一UART接口工作在每秒9600波特,但通過調(diào)整鎖相環(huán)的參數(shù),就可以使其工作在其他頻率,十分方便。這僅僅是一個簡單的通信接口,可根據(jù)不同系統(tǒng)的需要,增加FIFO等內(nèi)容。該模塊也可以作為一個完整的IP核,靈活地移植進各種型號的FPGA中,通用性很強。 </p><p>  通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查

81、終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談兵。</p><p>  過而能改,善莫大焉。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取,最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多問題,最后我們大家的不懈努力下,終于游逆而解。在今后社會的發(fā)展和學(xué)習(xí)

82、實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可!</p><p>  回顧起此課程設(shè)計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的

83、知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。</p><p>  實驗過程中,也對團隊精神的進行了考察,讓我們在合作起來更加默契,在成功后一

84、起體會喜悅的心情。果然是團結(jié)就是力量,只有互相之間默契融洽的配合才能換來最終完美的結(jié)果。</p><p>  此次設(shè)計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上網(wǎng)查詢,只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識,收獲頗豐。</p><p><b>  6 參考資料</b></p><p>  VHDL數(shù)字電路設(shè)計教程

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論