2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  《EDA技術及應用》</p><p><b>  課程設計報告</b></p><p>  系 別: 機電與自動化學院 </p><p>  專業(yè)班級: 電氣自動化技術0902 </p><p>  學生姓名: </p&g

2、t;<p><b>  目 錄</b></p><p>  課程設計目的…………………………………………………………………3</p><p>  課程設計題目描述和要求………………………………………………………3</p><p>  課程設計報告內容………………………………………………………………3</p><

3、;p>  各模塊VHDL源程序………………………………………………………………5</p><p>  4.1.3MHz→100Hz分頻器的源程序…………………………………………………5</p><p>  4.2.十進制計數(shù)器源程序……………………………………………………………6</p><p>  4.3.六進制計數(shù)器源程序……………………………………………

4、………………9</p><p>  4.4.頂層綜合文件TIMES的源程序………………………………………………11</p><p>  5.總結 ………………………………………………………………………………14</p><p>  參考文獻 ……………………………………………………………………………15</p><p>  秒表是人們日常生活

5、中常用的測時儀器,它能夠簡單的完成計時、清零等功能,從一年一度的校際運動會到NBA、世界杯、奧運會,都能看到秒表的身影。</p><p><b>  課程設計目的</b></p><p>  學習使用EDA集成設計軟件MaxplusⅡ設計一個計時范圍為0.01秒~1小時的數(shù)字秒表,能夠精確反映計時時間,并完成復位、計時功能。秒表計時的最大范圍為1小時,精度為0.01秒

6、。秒表可得到計時時間的分、秒、0.1秒等度量,且各度量單位間可正確進位。</p><p>  當復位清零有效時,秒表清零并做好計時準備。任何情況下,只要按下復位開關,秒表都要無條件的進行復位操作,即使在計時過程中也要無條件的清零。</p><p>  了解全過程中VHDL程序的基本結構,掌握使用EDA工具設計數(shù)字系統(tǒng)的設計思路和設計方法。學習VHDL基本邏輯電路的綜合設計應用,以及程序中數(shù)

7、據(jù)對象、數(shù)據(jù)類型、順序語句、并行語句的綜合使用。根據(jù)電路持點,用層次設計概念,將此設計任務分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口,同時加深層次化設計概念;考慮軟件的元件管理深層含義,以及模塊元件之間的連接概念,對于不同目錄下的同一設計,如何熔合等問題。</p><p>  2.課程設計題目描述和要求</p><p>  (1)根據(jù)設計題目要求完成設計輸入、綜合、模擬仿真驗證。&

8、lt;/p><p>  (2)具有復位、暫停、秒表計時及結果直接送LED顯示的功能。</p><p>  (3)三個輸入端,分別為:時鐘輸入(CLK)、復位(CLR)和啟動/暫停(ENA)。</p><p>  (4)輸出端有:百分秒、秒和分鐘信號,皆采用BCD碼計數(shù)方式,并直接送到6個LED顯示。</p><p>  (5)提供設計報告,報告要

9、求包括以下內容:設計思路、設計輸入文件、設計與調試過程、模擬仿真結果和設計結論。</p><p>  3. 課程設計報告內容</p><p>  系統(tǒng)由一個分頻器CLKGEN,四個十進制計數(shù)器CNT10,兩個六進制計數(shù)器CNT6組成。其中1/100和1/10秒都是十進制計數(shù)器,秒和分的個位是十進制計數(shù)器,十位是六進制計數(shù)器。</p><p>  分頻器以3MHz的脈

10、沖波做輸入信號,為系統(tǒng)提供精確的100Hz時鐘信號。作為百分秒的CLK輸入端。1/100秒的進位信號作為1/10秒的CLK信號,而1/10秒的進位信號作為秒的CLK信號。秒的進位信號作為秒10的CLK,秒10的進位接分的CLK,分的進位接分10的CLK。</p><p>  ENA為異步開始信號,為‘1’時開始計時,為‘0’時暫停計時。CLR為異步清零信號,為‘1’清零,所有計數(shù)器重新從‘0000’開始。<

11、;/p><p><b>  輸出:</b></p><p>  DOUT[0…23]是BCD碼輸出:</p><p>  DOUT[0…3]為1/100秒的BCD碼輸出;</p><p>  DOUT[4…7]為1/10秒的BCD碼輸出;</p><p>  DOUT[8…11]為秒的BCD碼輸出;&

12、lt;/p><p>  DOUT[12…15]為10秒的BCD碼輸出;</p><p>  DOUT[16…19]為分的BCD碼輸出;</p><p>  DOUT[20…23]為10分的BCD碼輸出。</p><p>  輸出的BCD碼送LED顯示解碼器。</p><p>  系統(tǒng)的結構原理圖1所示:</p>

13、<p>  圖1 系統(tǒng)的結構原理圖</p><p>  各模塊VHDL源程序</p><p>  4.1.3MHz→100Hz分頻器的源程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY

14、 CLKGEN IS</p><p>  PORT (CLK: IN STD_LOGIC;</p><p>  NEWCLK: OUT STD_LOGIC);</p><p>  END ENTITY CLKGEN;</p><p>  ARCHITECTURE ART OF CLKGEN IS</p><p>

15、;  SIGNAL CNTER: INTEGER RANGE 0 TO 10#29999#;</p><p><b>  BEGIN </b></p><p>  PROCESS (CLK) IS</p><p>  BEGIN </p><p>  IF CLK' EVENT AND CLK=&#

16、39;1' THEN</p><p>  IF CNTER =10#29999#</p><p>  THEN CNTER<=0;</p><p>  ELSE CNTER<=CNTER+1;</p><p><b>  END IF;</b></p><p><b>

17、;  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS(CNTER) IS</p><p><b>  BEGIN</b></p><p>  IF CNTER=10#29999#</p><p>  THEN NEWCLK<

18、;='1';</p><p>  ELSE NEWCLK<='0';</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  此處用到

19、了一個分頻比為30000的分頻器,用來將3MHz的脈沖分成100Hz,也就是當CLK經過三萬個脈沖的時候,才會看到一個100Hz的計數(shù)脈沖NEWCLK。</p><p>  由于使用的器件EPF10K10LC84-3反應時間最短為3ns ,因此Grid Size不能設置太小,否則會出錯。在這里設置為10.0ns 。這樣,一個CLK的周期為20ns ,總時間為</p><p>  29999

20、 X 2X10.0ns =0.59998ms</p><p>  所以End Time要設置為1ms 才能使CNTER計數(shù)到29999并歸0 。</p><p>  其仿真波形如圖2所示:</p><p>  圖2 CLKGEN的仿真波形</p><p>  當變量CNTER計數(shù)到29999時清零,同時NEWCLK產生一個脈沖波。</

21、p><p><b>  其原理圖如圖3。</b></p><p>  圖3 CLKGEN的原理圖</p><p>  4.2. 十進制計數(shù)器源程序</p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p&

22、gt;<p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY cnt10 IS</p><p>  PORT (CLK: IN STD_LOGIC;</p><p>  CLR: IN STD_LOGIC;</p><p>  ENA: IN STD_LOGIC;</

23、p><p>  CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CARRY_OUT: OUT STD_LOGIC);</p><p>  END ENTITY cnt10; </p><p>  ARCHITECTURE ART10 OF cnt10 IS</p><p&g

24、t;  SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN </b></p><p>  PROCESS(CLK,CLR,ENA)IS</p><p><b>  BEGIN </b></p><p>  IF CLR='

25、1'</p><p>  THEN CQI<="0000";</p><p>  ELSIF CLK'EVENT AND CLK='1'THEN</p><p>  IF ENA='1' THEN</p><p>  IF CQI ="1001"&

26、lt;/p><p>  THEN CQI<="0000";</p><p>  ELSE CQI<=CQI+'1'; </p><p><b>  END IF;</b></p><p><b>  END IF;</b></p>&l

27、t;p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS(CQI) IS</p><p><b>  BEGIN</b></p><p>  IF CQI="0000"</p><p&g

28、t;  THEN CARRY_OUT<='1';</p><p>  ELSE CARRY_OUT<='0'; </p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p><b>  CQ<=CQI;<

29、;/b></p><p>  END ARCHITECTURE ART10;</p><p>  以上為十進制計數(shù)器源程序,基本原理是在使能信號ENA為高電平﹑清零信號CLR為低電平且 CLK為時鐘上升沿(CLK'EVENT AND CLK='1')時,CQI開始進行累加計數(shù)(CQI<=CQI+1),當CQI="0101",即為BCD

30、數(shù)0101時,計數(shù)器向CARRY_OUT進位且CQI<="0000"進行清零。如此0000→0001→0010→0011→0100→0101→0110→0111→1000→1001循環(huán),進行十進制計數(shù)。上述源程序的波形仿真波形如下圖4所示。</p><p>  圖4 cnt10的仿真波形</p><p>  由圖4可以看出,CQ從“0000”開始計數(shù),計數(shù)到“1

31、001”時翻“0000”,同時CARRY_OUT進位信號輸出高電平。當ENA使能信號為高電平時計數(shù)器計數(shù),為低電平時停止計數(shù),CQ輸出值沒有變化。當CLR清零信號為高電平時CQ清零,CARRY_OUT進位信號輸出高電平,當CLR為低電平時正常計數(shù)。</p><p><b>  其原理圖如圖5。</b></p><p>  圖5 cnt10的原理圖</p>

32、<p>  4.3. 六進制計數(shù)器源程序</p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY cnt6 IS</p&

33、gt;<p>  PORT (CLK: IN STD_LOGIC;</p><p>  CLR: IN STD_LOGIC;</p><p>  ENA: IN STD_LOGIC;</p><p>  CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); </p><p>  CARRY_OUT: OU

34、T STD_LOGIC);</p><p>  END ENTITY cnt6; </p><p>  ARCHITECTURE ART11 OF cnt6 IS</p><p>  SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN </b>&l

35、t;/p><p>  PROCESS(CLK,CLR,ENA)IS</p><p><b>  BEGIN </b></p><p>  IF CLR='1'</p><p>  THEN CQI<="0000";</p><p>  ELSIF CLK

36、9;EVENT AND CLK='1'THEN</p><p>  IF ENA='1' THEN</p><p>  IF CQI ="0101"</p><p>  THEN CQI<="0000";</p><p>  ELSE CQI<=CQI+

37、'1'; </p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  P

38、ROCESS(CQI) IS</p><p><b>  BEGIN</b></p><p>  IF CQI="0000"</p><p>  THEN CARRY_OUT<='1';</p><p>  ELSE CARRY_OUT<='0'; <

39、/p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p><b>  CQ<=CQI;</b></p><p>  END ARCHITECTURE ART11;</p><p>  以上為六進制計數(shù)器源程序,基本原理是

40、在使能信號ENA為高電平﹑清零信號CLR為低電平且 CLK為時鐘上升沿(CLK'EVENT AND CLK='1')時,CQI開始進行累加計數(shù)(CQI<=CQI+1),當CQI="0101",即為BCD數(shù)0101時,計數(shù)器向CARRY_OUT進位且CQI<="0000"進行清零。如此0000→0001→0010→0011→0100→0101循環(huán),進行六進制計數(shù)。

41、上述源程序的波形仿真波形如下圖6所示。</p><p>  圖6 cnt6的仿真波形</p><p>  從上圖可以看出,CQ從“0000”開始計數(shù),計數(shù)到“0101”時翻“0000”,同時CARRY_OUT進位信號輸出高電平。當ENA使能信號為高電平時計數(shù)器計數(shù),為低電平時停止計數(shù),CQ輸出值沒有變化。當CLR清零信號為高電平時CQ清零,CARRY_OUT進位信號輸出高電平,當CLR為低

42、電平時正常計數(shù)。</p><p><b>  其原理圖如圖7。</b></p><p>  圖7 cnt6的原理圖</p><p>  4.4.頂層綜合文件TIMES的源程序</p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.AL

43、L;</p><p>  ENTITY times IS</p><p>  PORT(CLK: IN STD_LOGIC;</p><p>  CLR:IN STD_LOGIC;</p><p>  ENA: IN STD_LOGIC;</p><p>  DOUT: OUT STD_LOGIC_VECTOR(23

44、DOWNTO 0));</p><p>  END ENTITY times;</p><p>  ARCHITECTURE ART OF times IS</p><p>  COMPONENT CLKGEN IS </p><p>  PORT(CLK: IN STD_LOGIC;</p><p>  NEWCLK

45、: OUT STD_LOGIC);</p><p>  END COMPONENT CLKGEN;</p><p>  COMPONENT CNT10 IS</p><p>  PORT(CLK,CLR,ENA: IN STD_LOGIC;</p><p>  CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);<

46、/p><p>  CARRY_OUT: OUT STD_LOGIC);</p><p>  END COMPONENT CNT10;</p><p>  COMPONENT CNT6 IS</p><p>  PORT(CLK,CLR,ENA: IN STD_LOGIC;</p><p>  CQ: OUT STD_LOG

47、IC_VECTOR(3 DOWNTO 0);</p><p>  CARRY_OUT: OUT STD_LOGIC);</p><p>  END COMPONENT CNT6;</p><p>  SIGNAL S0: STD_LOGIC;</p><p>  SIGNAL S1,S2,S3,S4,S5: STD_LOGIC;</p&

48、gt;<p><b>  BEGIN</b></p><p>  U0: CLKGEN PORT MAP(CLK=>CLK, NEWCLK=>S0);</p><p>  U1: CNT10 PORT MAP(S0,CLR,ENA, DOUT(3 DOWNTO 0),S1);</p><p>  U2: CNT10 P

49、ORT MAP(S1,CLR,ENA, DOUT(7 DOWNTO 4),S2);</p><p>  U3: CNT10 PORT MAP(S2,CLR,ENA, DOUT(11 DOWNTO 8),S3);</p><p>  U4: CNT6 PORT MAP(S3,CLR,ENA, DOUT(15 DOWNTO 12),S4);</p><p>  U5:

50、CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);</p><p>  U6: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20));</p><p>  END ARCHITECTURE ART;</p><p>  因為TIMES中包含的CLKGEN的分頻作用,因此需要300

51、00個CLK信號才能使1/100秒位計數(shù)一次,給仿真帶來很大難度。所以仿真前先要把CLKGEN去掉,直接把CLK信號作為1/100秒的時鐘信號。但是還是需要360000個CLK信號才能得到59分翻0分。所以分兩步進行仿真,先檢驗1/100秒跟1/10秒,再把CLK信號作為秒的時鐘信號進行仿真。</p><p>  第一步:對TIMES中相應的程序進行一下改動:</p><p>  (把CL

52、KGEN去掉,直接把CLK信號作為1/100秒的時鐘信號。)</p><p>  SIGNAL S0: STD_LOGIC;</p><p>  SIGNAL S1,S2,S3,S4,S5: STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  U1: CNT10 PORT MAP(c

53、lk,CLR,ENA, DOUT(3 DOWNTO 0),S1);</p><p>  U2: CNT10 PORT MAP(S1,CLR,ENA, DOUT(7 DOWNTO 4),S2);</p><p>  U3: CNT10 PORT MAP(S2,CLR,ENA, DOUT(11 DOWNTO 8),S3);</p><p>  U4: CNT6 PORT

54、 MAP(S3,CLR,ENA, DOUT(15 DOWNTO 12),S4);</p><p>  U5: CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);</p><p>  U6: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20));</p><p>  END ARC

55、HITECTURE ART;</p><p>  然后進行波形仿真,仿真波形如下圖8:</p><p>  圖8 times test1的波形仿真</p><p>  如圖所示,1/100秒,1/10秒,秒,10秒位都能正常計數(shù)和進位,翻0。</p><p>  第二步:對TIMES中相應的程序進行一下改動:</p><p

56、> ?。ò袰LKGEN去掉,直接把CLK信號作為秒的時鐘信號。)</p><p>  SIGNAL S3,S4,S5: STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  U2: CNT10 PORT MAP(clk,CLR,ENA, DOUT(11 DOWNTO 8),S3);</p>

57、<p>  U3: CNT6 PORT MAP(S3,CLR,ENA, DOUT(15 DOWNTO 12),S4);</p><p>  U4: CNT10 PORT MAP(S4,CLR,ENA, DOUT(19 DOWNTO 16),S5);</p><p>  U5: CNT6 PORT MAP(S5,CLR,ENA, DOUT(23 DOWNTO 20));</

58、p><p>  END ARCHITECTURE ART;</p><p>  然后進行波形仿真,仿真波形如圖9。</p><p>  圖9 times test2的波形仿真</p><p>  如圖8所示,秒,10秒,分和10分位都能正常計數(shù)和進位,翻0。</p><p><b>  5.總結</b>

59、;</p><p>  通過這次課程設計,使我們加深了對VHDL語言和MaxplusII的認識,增強了動手能力,并培養(yǎng)了我們獨立思考的習慣,和樹立了對試驗操作和數(shù)據(jù)分析一絲不茍的的態(tài)度。</p><p>  下面是試驗中碰到的部分問題的解決方法和應該注意的事項:</p><p>  圖10 cnt10的波形仿真</p><p>  進行波形仿

60、真時,要考慮不同的輸入條件所能出現(xiàn)的所有情況。比如說在有使能信號ENA(或者清零信號CLR)的仿真圖要包含信號為‘1’和為‘0’兩種情況下的波形;有二輸入與門(或者非門)這樣器件則要包含輸入信號四種不同組合情況下的四種波形;還有計數(shù)器,要包含計滿清零向高位進位的波形等。</p><p>  如圖10,包含了ENA,CLR分別為‘0’和‘1’時的波形,還有CQ在時鐘CLK下降沿計數(shù)到9后清零并由CARRY_OUT向

61、高位輸出進位信號的波形。</p><p>  關于時鐘信號的設置。時鐘信號能設置的最小周期和Options中的Grid Size來決定,要得到周期為20ns的時鐘信號,就要把Grid Size設置為10ns。但是CLK的周期也不是越小越好,因為器件有最小反應時間,設置的周期必須大于器件的反應時間。</p><p>  減少不必要的計算。第一次做Times的波形時,沒有進行分步仿真,直接把C

62、LK信號加在CLKGEN的輸入端開始仿真。結果半個多小時過去了,還只是仿真到8分多。(仿真用的計算機CPU為奔騰4 1.7G)要得出59分翻0的波形,估計要4個多小時。所以把CLKGEN去掉,并且分兩步來進行波形仿真,計算量大大減小了,僅幾分鐘就得出了59分翻0的波形。</p><p><b>  參考文獻</b></p><p>  1. 潘松.EDA技術實用教程

63、. 成都:電子科技大學出版社,2000</p><p>  2. 李玉山. 電子系統(tǒng)集成設計技術. 北京:電子工業(yè)出版社,2001.6.</p><p>  3. 李國麗.EDA與數(shù)字系統(tǒng)設計.北京:機械工業(yè)出版社,2004</p><p>  4. 周彩寶.VHDL語言及其應用. 上海:華東計算機技術研究所,1998</p><p>  5

64、. 于海生.微型計算機控制技術.北京:清華大學出版社,2006.8</p><p>  6. 林紅.周鑫霞.數(shù)字電路與邏輯設計.北京:清華大學出版社,2004.8</p><p>  7. 譚會生.張昌凡. EDA技術及應用.西安: 西安電子科技大學出版社,2001</p><p>  8. 朱定華.陳林.電子電路測試與實驗. 北京:清華大學出版社,2005.7&l

溫馨提示

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

評論

0/150

提交評論