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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計(jì)</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  課程 硬件課程設(shè)計(jì)</p><p>  題目 數(shù)字電壓表設(shè)計(jì)</p><p><b>  專業(yè) &

2、lt;/b></p><p>  主要內(nèi)容、基本要求等</p><p><b>  一、主要內(nèi)容:</b></p><p>  利用EL教學(xué)實(shí)驗(yàn)箱、微機(jī)和QuartusⅡ軟件系統(tǒng),使用VHDL語言輸入方法設(shè)計(jì)數(shù)字鐘??梢岳脤哟卧O(shè)計(jì)方法和VHDL語言,完成硬件設(shè)計(jì)設(shè)計(jì)和仿真。最后在EL教學(xué)實(shí)驗(yàn)箱中實(shí)現(xiàn)。</p><p&

3、gt;<b>  二、基本要求:</b></p><p>  1、A/D轉(zhuǎn)換接口電路的設(shè)計(jì),負(fù)責(zé)對(duì)ADC0809的控制。</p><p>  2、編碼轉(zhuǎn)換電路設(shè)計(jì),負(fù)責(zé)把從ADC0809數(shù)據(jù)總線中讀出的電壓轉(zhuǎn)換成BCD碼。3、輸出七段顯示電路的設(shè)計(jì),負(fù)責(zé)將BCD碼用7段顯示器顯示出來。</p><p><b>  三、參考文獻(xiàn)&

4、lt;/b></p><p>  [1] 潘松.EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社, 2003.11-13.</p><p>  [2] 包明.《EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì)》.北京航天航空大學(xué)出版社. 2002.</p><p>  [3] EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社2005.32-33.</

5、p><p>  [4] 潘松.SOPC技術(shù)實(shí)用教程[M] .清華大學(xué)出版社.2005.1-15.</p><p>  完成期限 第18-19周 </p><p>  指導(dǎo)教師 </p><p>  專業(yè)負(fù)責(zé)人 </p><p>  摘要

6、 </p><p>  本文介紹了基于EDA技術(shù)的8位數(shù)字電壓表。系統(tǒng)采用CPLD為控制核心,采用VHDL語言實(shí)現(xiàn),論述了基于VHDL語言和CPLD芯片的數(shù)字系統(tǒng)設(shè)計(jì)思想和實(shí)現(xiàn)過程。在硬件電子電路設(shè)計(jì)領(lǐng)域中,電子設(shè)計(jì)自動(dòng)化(EDA)工具已成為主要的設(shè)計(jì)手段,而VHDL語言則是EDA的關(guān)鍵技術(shù)之一,。VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDesc

7、ription Language,它采用自頂向下的設(shè)計(jì)方法,即從系統(tǒng)總體要求出發(fā),自上至下地將設(shè)計(jì)任務(wù)分解為不同的功能模塊,最后將各功能模塊連接形成頂層模塊,完成系統(tǒng)硬件的整體設(shè)計(jì)。 電子設(shè)計(jì)自動(dòng)化技術(shù)EDA的發(fā)展給電子系統(tǒng)的設(shè)計(jì)帶來了革命性的變化,EDA軟件設(shè)計(jì)工具,硬件描述語言,可編程邏輯器件(PLD)使得EDA技術(shù)的應(yīng)用走向普及。CPLD是新型的可編程邏輯器件,采用CPLD進(jìn)行產(chǎn)品開發(fā)可以靈活地進(jìn)行模塊配置,大大縮短了產(chǎn)品

8、開發(fā)周期,也有利于產(chǎn)品向小型化,集成化的方向發(fā)展。而 VHDL語言是EDA的關(guān)鍵技術(shù)之一,它采用自頂向下的設(shè)計(jì)方法,完成系統(tǒng)的整體設(shè)計(jì)。</p><p>  本文用CPLD芯片和VHDL語言設(shè)計(jì)了一個(gè)八位的數(shù)字電壓表。 它的計(jì)時(shí)周期為24小時(shí),顯示滿刻度為23時(shí)59分59秒,另外還具有校時(shí)功能和鬧鐘功能??偟某绦蛴蓭讉€(gè)各具不同功能的單元模塊程序拼接而成,其中包括分頻程序模塊、時(shí)分秒計(jì)數(shù)和設(shè)置程序模塊、比

9、較器程序模塊、三輸入數(shù)據(jù)選擇器程序模塊、譯碼顯示程序模塊和拼接程序模塊。 關(guān)鍵詞:數(shù)字電壓表;QuartusⅡ軟件;EDA(電子設(shè)計(jì)自動(dòng)化)</p><p><b>  目 錄</b></p><p><b>  第1章 概 述1</b></p><p>  1.1 EDA的概念1</p>

10、<p>  1.2 EDA技術(shù)及應(yīng)用2</p><p>  1.3 EDA硬件工作平臺(tái)2</p><p>  1.4 EDA的軟件工作平臺(tái)2</p><p>  第2章 數(shù)字電壓表的設(shè)計(jì)實(shí)現(xiàn)3</p><p><b>  2.1狀態(tài)機(jī)3</b></p><p>  2.2

11、狀態(tài)機(jī)的設(shè)計(jì)3</p><p>  2.3 BCD碼的轉(zhuǎn)換5</p><p>  2.4七段電路顯示7</p><p>  第3章 數(shù)字電壓表的測試與運(yùn)行10</p><p>  3.1數(shù)字電壓表的編譯與仿真10</p><p>  3.2數(shù)字電壓表的仿真與燒寫12</p><p>

12、<b>  結(jié)論15</b></p><p><b>  參考文獻(xiàn)16</b></p><p><b>  第1章 概 述</b></p><p>  1.1 EDA的概念</p><p>  EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation

13、)的縮寫。由于它是一門剛剛發(fā)展起來的新技術(shù),涉及面廣,內(nèi)容豐富,理解各異,所以目前尚無一個(gè)確切的定義[1]。但從EDA技術(shù)的幾個(gè)主要方面的內(nèi)容來看,可以理解為:EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)??梢詫?shí)現(xiàn)邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及

14、優(yōu)化,邏輯布局布線、邏輯仿真[2]。</p><p>  EDA技術(shù)是伴隨著計(jì)算機(jī)、集成電路、電子系統(tǒng)的設(shè)計(jì)發(fā)展起來的,至今已有30多年的歷程。大致可以分為三個(gè)發(fā)展階段。20世紀(jì)70年代的CAD(計(jì)算機(jī)輔助設(shè)計(jì))階段:這一階段的主要特征是利用計(jì)算機(jī)輔助進(jìn)行電路原理圖編輯,PCB不同布線,使得設(shè)計(jì)師從傳統(tǒng)高度重復(fù)繁雜的繪圖勞動(dòng)中解脫出來。[3]20世紀(jì)80年代的QAE(計(jì)算機(jī)輔助工程設(shè)計(jì))階段:這一階段的主要特征是

15、以邏輯摸擬、定時(shí)分析、故障仿真、自動(dòng)布局布線為核心,重點(diǎn)解決電路設(shè)計(jì)的功能檢測等問題,使設(shè)計(jì)能在產(chǎn)品制作之前預(yù)知產(chǎn)品的功能與性能[4]。20世紀(jì)90年代是EDA(電子設(shè)計(jì)自動(dòng)化)階段:這一階段的主要特征是以高級(jí)描述語言,系統(tǒng)級(jí)仿真和綜合技術(shù)為特點(diǎn),采用“自頂向下”的設(shè)計(jì)理念,將設(shè)計(jì)前期的許多高層次設(shè)計(jì)由EDA工具來完成。</p><p>  EDA是電子技術(shù)設(shè)計(jì)自動(dòng)化,也就是能夠幫助人們?cè)O(shè)計(jì)電子電路或系統(tǒng)的軟件工

16、具。該工具可以在電子產(chǎn)品的各個(gè)設(shè)計(jì)階段發(fā)揮作用,使設(shè)計(jì)更復(fù)雜的電路和系統(tǒng)成為可能。在原理圖設(shè)計(jì)階段,可以使用EDA中的仿真工具論證設(shè)計(jì)的正確性;在芯片設(shè)計(jì)階段,可以使用EDA中的芯片設(shè)計(jì)工具設(shè)計(jì)制作芯片的版圖;在電路板設(shè)計(jì)階段,可以使用EDA中電路板設(shè)計(jì)工具設(shè)計(jì)多層電路板。特別是支持硬件描述語言的EDA工具的出現(xiàn),使復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)自動(dòng)化成為可能,只要用硬件描述語言將數(shù)字系統(tǒng)的行為描述正確,就可以進(jìn)行該數(shù)字系統(tǒng)的芯片設(shè)計(jì)與制造[5]。2

17、1世紀(jì)將是EDA技術(shù)的高速發(fā)展期,EDA技術(shù)將是對(duì)21世紀(jì)產(chǎn)生重大影響的十大技術(shù)之一?! ∮布枋稣Z言:硬件描述語言(HDL)是一種用于進(jìn)行電子系統(tǒng)硬件設(shè)計(jì)的計(jì)算機(jī)高級(jí)語言,它采用軟件的設(shè)計(jì)方法來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式。 常用硬件描述語言有HDL、Verilog和VHDL語言。</p><p>  1.2 EDA技術(shù)及應(yīng)用</p><p>  電子EDA技術(shù)

18、發(fā)展迅猛,逐漸在教學(xué)、科研、產(chǎn)品設(shè)計(jì)與制造等各方面都發(fā)揮著巨大的作用。在教學(xué)方面:幾乎所有理工科(特別是電子信息)類的高校都開設(shè)了EDA課程。主要是讓學(xué)生了解EDA的基本原理和基本概念、硬件描述系統(tǒng)邏輯的方法、使用EDA工具進(jìn)行電子電路課程的模擬仿真實(shí)驗(yàn)并在作畢業(yè)設(shè)計(jì)時(shí)從事簡單電子系統(tǒng)的設(shè)計(jì),為今后工作打下基礎(chǔ)。[6]具有代表性的是全國每兩年舉辦一次的大學(xué)生電子設(shè)計(jì)競賽活動(dòng)。在科研方面:主要利用電路仿真工具進(jìn)行電路設(shè)計(jì)與仿真;利用虛擬儀

19、器進(jìn)行產(chǎn)品調(diào)試;將FPGA器件的開發(fā)應(yīng)用到儀器設(shè)備中[7]。在產(chǎn)品設(shè)計(jì)與制造方面:從高性能的微處理器、數(shù)字信號(hào)處理器一直到彩電、音響和電子玩具電路等,EDA技術(shù)不單是應(yīng)用于前期的計(jì)算機(jī)模擬仿真、產(chǎn)品調(diào)試,而且也在后期的制作、電子設(shè)備的研制與生產(chǎn)、電路板的焊接、器件的制作過程等有重要作用[8]??梢哉f電子EDA技術(shù)已經(jīng)成為電子工業(yè)領(lǐng)域不可缺少的技術(shù)支持。</p><p>  1.3 EDA硬件工作平臺(tái)</p&

20、gt;<p><b>  1.計(jì)算機(jī)</b></p><p>  2.EDA實(shí)驗(yàn)開發(fā)系統(tǒng):EL教學(xué)實(shí)驗(yàn)箱。</p><p>  1.4 EDA的軟件工作平臺(tái)</p><p>  PLD(Programmable Logic Device)是一種由用戶根據(jù)需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。目前主要有兩大類型:CPLD(Compl

21、ex PLD)和FPGA(Field Programmable Gate Array)[9]。它們的基本設(shè)計(jì)方法是借助于EDA軟件,用原理圖、狀態(tài)機(jī)、布爾表達(dá)式、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,最后用編程器或下載電纜,由目標(biāo)器件實(shí)現(xiàn)[10]。生產(chǎn)PLD的廠家很多,但最有代表性的PLD廠家為Altera、Xilinx和Lattice 公司。</p><p>  第2章 數(shù)字電壓表的設(shè)計(jì)實(shí)現(xiàn)</p&g

22、t;<p><b>  2.1狀態(tài)機(jī)</b></p><p>  用狀態(tài)機(jī)對(duì)ADC0809進(jìn)行采樣控制首先必須了解其工作時(shí)序, 然后據(jù)此作出狀態(tài)圖, 最后寫出相應(yīng)的VHDL 代碼。ADC0809 是CMOS 的8 位A /D轉(zhuǎn)換器, 片內(nèi)有8路模擬開關(guān), 可控制8個(gè)模擬量中的一個(gè)進(jìn)入轉(zhuǎn)換器中。ADC0809 的分辨率為8位, 轉(zhuǎn)換時(shí)間約100μs, 輸出由三態(tài)緩沖器控制, 單5

23、 V 電源供電。如圖2-1所示:</p><p>  圖2-1 ADC0809接口電路原理圖</p><p><b>  2.2狀態(tài)機(jī)的設(shè)計(jì)</b></p><p>  狀態(tài)機(jī)就是控制ADC0809轉(zhuǎn)換過程的控制器。根據(jù)ADC0809的工作時(shí)序,就可以設(shè)計(jì)出狀態(tài)機(jī)。該組狀態(tài)機(jī)由以下幾個(gè)部分組成,其VHDL語言描述如下。</p>&

24、lt;p>  P1: process(present_state,next_state,INT)</p><p><b>  begin</b></p><p>  case present_state is</p><p>  when idle => CS<='1'; WR<='1';

25、 RD<='1';</p><p>  next_state<=write;</p><p>  when write => CS<='1'; WR<='0'; RD<='1';</p><p>  next_state<=swait;</p>&

26、lt;p>  when swait => CS<='1'; WR<='1'; RD<='1';</p><p>  if ( INT='0') then</p><p>  next_state<=read;</p><p><b>  else</b

27、></p><p>  next_state<=swait;</p><p><b>  end if;</b></p><p>  when read => CS<='1'; WR<='1'; RD<='0';</p><p>  ne

28、xt_state<=disp1;</p><p>  when disp1 => CS<='1'; WR<='1'; RD<='1';</p><p>  DATOUT<=dout1;</p><p>  next_state<=disp2;</p><p&

29、gt;  when disp2 => CS<='1'; WR<='1'; RD<='1';</p><p>  DATOUT<=dout2;</p><p>  next_state<=disp3;</p><p>  when disp3 => CS<='1&#

30、39;; WR<='1'; RD<='1';</p><p>  DATOUT<=dout3;</p><p>  next_state<=disp4;</p><p>  when disp4 => CS<='1'; WR<='1'; RD<='

31、1';</p><p>  DATOUT<=dout4;</p><p>  next_state<=write;</p><p><b>  end case;</b></p><p>  end process P1;</p><p>  當(dāng)CS<='1

32、9;; WR<='0'; RD<='0'時(shí),ADC0809被設(shè)為空位,由控制器發(fā)出信號(hào)要求ADC0809開始進(jìn)行模/數(shù)信號(hào)的轉(zhuǎn)換。當(dāng)CS<='1'; WR<='1'; RD<='0'時(shí),往ADC0809里寫數(shù)據(jù)ADC0809進(jìn)行轉(zhuǎn)換動(dòng)作,轉(zhuǎn)換完畢后INT將低電位。當(dāng)CS<='0'; WR<='

33、0'; RD<='0'時(shí),如果此時(shí)INT=1,說明轉(zhuǎn)換結(jié)束,由控制器發(fā)出信號(hào)以讀取ADC0809的轉(zhuǎn)換資料,如果此時(shí)INT=0,說明轉(zhuǎn)換沒結(jié)束,繼續(xù)轉(zhuǎn)換。當(dāng)CS<='1'; WR<='0'; RD<='1'時(shí),由控制器讀取數(shù)據(jù)總線上的數(shù)字轉(zhuǎn)換資料。當(dāng)接下來的幾個(gè)狀態(tài)(disp1,disp2,disp3,disp4)是控制輸出的。</p&

34、gt;<p><b>  begin</b></p><p>  if(RESET='0') then</p><p>  present_state<=idle;</p><p>  datain<="00000000";</p><p>  elsif(C

35、LK'event and CLK='1') then</p><p>  present_state<=next_state;</p><p>  if(present_state=read) then</p><p>  datain<=D;</p><p><b>  end if;</

36、b></p><p><b>  end if;</b></p><p>  end process P2;</p><p>  進(jìn)程2是時(shí)序進(jìn)程,當(dāng)RESET='0'時(shí), datain<="00000000"(數(shù)據(jù)信號(hào)轉(zhuǎn)化為模擬信號(hào))當(dāng)時(shí)鐘上升沿一來時(shí),如果此時(shí)present_state=rea

37、d,說明轉(zhuǎn)換結(jié)束,datain<=D(數(shù)據(jù)信號(hào)轉(zhuǎn)化為模擬信號(hào))。</p><p>  2.3 BCD碼的轉(zhuǎn)換</p><p>  其中表2-1為把數(shù)據(jù)轉(zhuǎn)化為BCD碼,模擬輸入電壓與輸出電壓的對(duì)應(yīng)關(guān)系。</p><p>  表2-1 數(shù)據(jù)轉(zhuǎn)化為BCD碼 </p><p>  這樣由ADC0809收到的信號(hào)是01110110(76H),則對(duì)

38、照表時(shí),高4位0111的電壓為2.24V,而低4位0110是0.12V,所以最后的電壓輸出結(jié)果為2.24+0.12=2.36V。</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p

39、>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY BCD IS</p><p>  PORT (V:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  HB,LB:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p

40、>  BVALUE:BUFFER STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p>  BCD_L,BCD_M,BCD_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p><b>  END BCD;</b></p><p>  ARCHITECTURE A OF BCD

41、IS</p><p><b>  BEGIN</b></p><p>  P1:PROCESS(V(7 DOWNTO 4)) </p><p>  BEGIN --A/D輸出高4位轉(zhuǎn)換 分辨率0.32V</p><p>  IF V(7 DOWNTO 4)="1111"

42、; THEN HB<="010010000000"; --4.80V</p><p>  ELSIF V(7 DOWNTO 4)= "1110" THEN HB<="010001001000";--4.48V</p><p>  ELSIF V(7 DOWNTO 4)= "1101" TH

43、EN HB<="010000010110";--4.16V</p><p>  ELSIF V(7 DOWNTO 4)= "1100" THEN HB<="001110000100";--3.84V</p><p>  ELSIF V(7 DOWNTO 4)= "1011" THEN HB<=

44、"001101010010";--3.52V</p><p>  ELSIF V(7 DOWNTO 4)= "1010" THEN HB<="001100100000";--3.20V</p><p>  ELSIF V(7 DOWNTO 4)= "1001" THEN HB<="0010

45、10001000";--2.88V</p><p>  ELSIF V(7 DOWNTO 4)= "1000" THEN HB<="001001010110";--2.56V</p><p>  ELSIF V(7 DOWNTO 4)= "0111" THEN HB<="001000100100&q

46、uot;;--2.24V</p><p>  ELSIF V(7 DOWNTO 4)= "0110" THEN HB<="000110010010";--1.92V</p><p>  ELSIF V(7 DOWNTO 4)= "0101" THEN HB<="000101100000";--1.6

47、0V</p><p>  ELSIF V(7 DOWNTO 4)= "0100" THEN HB<="000100101000";--1.28V</p><p>  ELSIF V(7 DOWNTO 4)= "0011" THEN HB<="000010010110";--0.96V</p&g

48、t;<p>  ELSIF V(7 DOWNTO 4)= "0010" THEN HB<="000001100100";--0.64V</p><p>  ELSIF V(7 DOWNTO 4)= "0001" THEN HB<="000000110010";--0.32V</p><p&

49、gt;  ELSIF V(7 DOWNTO 4)= "0000" THEN HB<="000000000000";--0.00V</p><p>  ELSE HB<="000000000000"; --0.00V</p><p><b>  END I

50、F; </b></p><p>  END PROCESS P1;</p><p>  P2:PROCESS(V(3 DOWNTO 0)) </p><p>  BEGIN --A/D輸出低4位轉(zhuǎn)換 分辨率0.02V</p><p>

51、  IF V(3 DOWNTO 0)= "1111" THEN LB<="000000110000"; --0.30V</p><p>  ELSIF V(3 DOWNTO 0)= "1110" THEN LB<="000000101000";--0.28V</p><p>  ELSIF

52、V(3DOWNTO0)="1101" THEN LB<="000000100110";--0.26V</p><p>  ELSIF V(3DOWNTO0)="1100" THEN LB<="000000100100";--0.24V</p><p>  ELSIF V(3DOWNTO0)=&quo

53、t;1011" THEN LB<="000000100010";--0.22V</p><p>  ELSIF V(3DOWNTO0)="1010" THEN LB<="000000100000";--0.20V</p><p>  ELSIF V(3DOWNTO0)="1001" THE

54、N LB<="000000011000";--0.18V</p><p>  ELSIF V(3DOWNTO0)="1000" THEN LB<="000000010110";--0.16V</p><p>  ELSIF V(3DOWNTO0)="0111" THEN LB<="0

55、00000010100";--0.14V</p><p>  ELSIF V(3DOWNTO0)="0110" THEN LB<="000000010010";--0.12V</p><p>  ELSIF V(3DOWNTO0)="0101" THEN LB<="000000010000"

56、;;--0.10V</p><p>  ELSIF V(3DOWNTO0)="0100" THEN LB<="000000001000";--0.08V</p><p>  ELSIF V(3DOWNTO0)="0011" THEN LB<="000000000110";--0.06V</p&

57、gt;<p>  ELSIF V(3DOWNTO0)="0010" THEN LB<="000000000100";--0.04V</p><p>  ELSIF V(3DOWNTO0)="0001" THEN LB<="000000000010";--0.02V</p><p>  

58、ELSIF V(3DOWNTO0)="0000" THEN LB<="000000000000";--0.00V</p><p>  ELSE LB<="000000000000"; --0V </p><p><b>  END IF;</b></p><

59、;p>  END PROCESS P2;</p><p>  BVALUE<=HB+LB;</p><p>  P3:PROCESS(BVALUE)</p><p>  VARIABLE JJ:STD_LOGIC_VECTOR(11 DOWNTO 0);</p><p><b>  BEGIN </b><

60、;/p><p>  JJ:=BVALUE;</p><p>  IF (JJ(3 DOWNTO 0)>"1001") THEN ――如果12位結(jié)果中,低4位</p><p>  JJ:=JJ+"000000000110"; ――大于9 則低4位加6</p><p><b&g

61、t;  END IF;</b></p><p>  IF(JJ(7 DOWNTO 4)>"1001") THEN ――如果中間的4位大于9</p><p>  JJ:=JJ+"000001100000"; ――則中4位加6</p><p><b>  END IF;</

62、b></p><p>  BCD_L<=JJ(3 DOWNTO 0); </p><p>  BCD_M<=JJ(7 DOWNTO 4);</p><p>  BCD_H<=JJ(11 DOWNTO 8);</p><p>  END PROCESS P3;</p><p><b>

63、;  END A;</b></p><p><b>  2.4七段電路顯示</b></p><p>  LIBRARY ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p>

64、<p>  use ieee.std_logic_unsigned.all;</p><p>  entity mux3_1 is</p><p>  port(sel:in std_logic_vector(1 downto 0);</p><p>  A,B,C:in std_logic_vector(3 downto 0);</p>

65、<p>  Mselout:out std_logic_vector(3 downto 0));</p><p>  end mux3_1;</p><p>  architecture a of mux3_1 is</p><p><b>  begin </b></p><p>  process(sel)

66、</p><p><b>  begin</b></p><p>  if sel="10" then Mselout<=A; </p><p>  elsif sel="01" then Mselout<=B; </p><p>  elsif

67、 sel="00" then Mselout<=C; </p><p>  else null;</p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end a;</b></p>&

68、lt;p>  ――位選信號(hào)產(chǎn)生器(3進(jìn)制計(jì)數(shù)器)</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity c3 is </p><

69、;p>  port(clk,clr:in std_logic;</p><p>  qout:buffer std_logic_vector(1 downto 0)</p><p><b>  );</b></p><p><b>  end c3;</b></p><p>  archite

70、cture behave of c3 is</p><p><b>  begin </b></p><p>  process(clk,clr)</p><p><b>  begin</b></p><p>  if(clr='0')then qout<="00&

71、quot;;</p><p>  elsif(clk'event and clk='1')then </p><p>  qout<=qout+1;</p><p>  if(qout=2)then qout<="00";</p><p><b>  end if;</b

72、></p><p><b>  end if;</b></p><p>  end process;</p><p>  end behave;</p><p>  LIBRARY ieee;</p><p>  USE ieee.std_logic_1164.all;</p>

73、<p>  USE ieee.std_logic_unsigned.all;</p><p>  ENTITY del7 IS</p><p><b>  PORT</b></p><p>  ( input : IN STD_LOGIC_vector(3 downto 0);</p><p>  outpu

74、t : OUT STD_LOGIC_vector(6 downto 0)</p><p><b>  );</b></p><p><b>  END del7;</b></p><p>  ARCHITECTURE a OF del7 IS </p><p><b>  BEGI

75、N</b></p><p>  PROCESS (input)</p><p><b>  BEGIN</b></p><p>  CASE input IS</p><p>  WHEN "0000" =>output<="1111110";</p&

76、gt;<p>  WHEN "0001" =>output<="0110000";</p><p>  WHEN "0010" =>output<="1101101";</p><p>  WHEN "0011" =>output<=&quo

77、t;1111001";</p><p>  WHEN "0100" =>output<="0110011";</p><p>  WHEN "0101" =>output<="1011011";</p><p>  WHEN "0110&quo

78、t; =>output<="1011111";</p><p>  WHEN "0111" =>output<="1110000";</p><p>  WHEN "1000" =>output<="1111111";</p><p&g

79、t;  WHEN "1001" =>output<="1111011";</p><p>  WHEN OTHERS=>NULL;</p><p><b>  END CASE;</b></p><p>  end process; </p><p><

80、b>  END a;</b></p><p><b>  ――小數(shù)點(diǎn)產(chǎn)生器 </b></p><p>  LIBRARY ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p&

81、gt;<p>  use ieee.std_logic_unsigned.all;</p><p>  entity DP is</p><p>  port(SELDP:in std_logic_vector(1 downto 0);</p><p>  DPout:out std_logic);</p><p><b&

82、gt;  end DP;</b></p><p>  architecture a of DP is</p><p><b>  begin </b></p><p>  process(selDP)</p><p><b>  begin</b></p><p>

83、;  if selDP="10" then DPout<='0';</p><p>  elsif selDP="01" then DPout<='0'; </p><p>  elsif selDP="00" then DPout<='1'

84、; ――在高4位整數(shù)輸出時(shí),輸出</p><p>  else null; ――小數(shù)點(diǎn)DP</p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end a;</b></

85、p><p>  第3章 數(shù)字電壓表的測試與運(yùn)行</p><p>  3.1數(shù)字電壓表的編譯與仿真</p><p>  3.1.1數(shù)字電壓表的編譯</p><p>  在 【Processing 】菜單下,點(diǎn)擊【Start Compilation】命令,或直接點(diǎn)擊常用工具欄上的 按鈕 ,開始編譯我們的項(xiàng)目。編譯成功后,點(diǎn)擊 確定

86、 按鈕。</p><p>  數(shù)字電壓表的編譯如圖3-1所示:</p><p>  圖3-1數(shù)字電壓表的編譯</p><p>  3.1.2數(shù)字電壓表的邏輯電路圖</p><p>  數(shù)字電壓表的邏輯電路如圖3-2所示:</p><p>  圖3-2數(shù)字電壓表的邏輯電路</p><p>  3.

87、1.3數(shù)字電壓表的功能仿真圖 </p><p>  在【File】菜單下,點(diǎn)擊【New】命令。在隨后彈出的對(duì)話框中,切換到【Other Files】頁。選中【Vector Waveform File】選項(xiàng),點(diǎn)擊 OK 按鈕。隨后把clk的周期設(shè)置為300.0ns,D的周期設(shè)置為20.0,再把INT的周期設(shè)置為30.0,最后再把RESET的置為高電平</p><p>  數(shù)字電壓表的功能仿

88、真如圖3-3所示:</p><p>  圖3-3數(shù)字電壓表的功能仿真</p><p>  3.2數(shù)字電壓表的仿真與燒寫</p><p>  3.2.1 引腳適配</p><p><b>  圖 3-4引腳配置</b></p><p>  配置好引腳后,在編譯一次,然后開始下載。</p>

89、<p>  圖3-5數(shù)字電壓表下載圖</p><p>  3.2.2實(shí)驗(yàn)連接 </p><p>  實(shí)驗(yàn)連接如圖3-6所示:</p><p><b>  圖3-6實(shí)驗(yàn)連線圖</b></p><p>  實(shí)驗(yàn)結(jié)果,可以改變電阻的值來改變電壓。</p><p>  圖3-7數(shù)字電壓表實(shí)驗(yàn)

90、結(jié)果圖</p><p>  在此實(shí)驗(yàn)中10K10上時(shí)鐘CLK0(1)接305.2Hz,RESET(83)接K1,CS(5)、RD(6)、WR(7)分別接0809的控制輸入端,INT(8)接0809的INTD[7-0](16-23)接0809的D0-D7(注意0809數(shù)據(jù)線標(biāo)識(shí)反),DATDOUT(73-60)接a-dp,SLE3-SLE0; 0809的A0、A1、A2接d0-d2(置低),VREF+接VCC,VR

91、EF-接GND,CLK接MCU的ALE,IN0接模擬輸出OUT。時(shí)鐘CLK接時(shí)鐘模塊輸出,使頻率為4~5MHZ左右;INT接ADC0809中斷輸出INT;D[7..0]接ADC0809數(shù)據(jù)輸出D[7..0];CS、RD、WR分別接ADC0809的控制輸入CS、RD、WR;BCDOUT接12個(gè)發(fā)光二極管。</p><p><b>  結(jié)論</b></p><p>  通

92、過對(duì)FPGA芯片進(jìn)行VHDL語言編程,我已經(jīng)基本了解QuartusⅡ軟件的使用, 并通過學(xué)習(xí)實(shí)現(xiàn)了數(shù)字電壓表的功能。這兩周的學(xué)習(xí)讓我感受到了學(xué)習(xí)過程中的開心與喜悅. 并且通過多次的認(rèn)證,確認(rèn)數(shù)字電壓表實(shí)驗(yàn)結(jié)果與理論相一致,實(shí)驗(yàn)的設(shè)計(jì)和結(jié)果均為正確。</p><p>  經(jīng)過這次的學(xué)習(xí)我發(fā)現(xiàn), VHDL具有很強(qiáng)的電路描述和建模能力, 能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述, 從而大大簡化了硬件設(shè)計(jì)任務(wù), 提高了設(shè)計(jì)效

93、率和可靠性。這種設(shè)計(jì)方法必將在未來的數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮越來越重要的作用。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 潘松.EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社, 2003,11-13.</p><p>  [2] 包明.《EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計(jì)》[M].北京:航天航空大學(xué)出版2002.10-18.<

94、/p><p>  [3] EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出2005.32-33.</p><p>  [4] 潘松.SOPC技術(shù)實(shí)用教程[M] .清華大學(xué)出版社.2005.1-15.</p><p>  [5] 楊恒.FPGA/CPLD最新實(shí)用技術(shù)指南[M].北京:清華大學(xué)出版社2005.20-22.</p>

95、<p>  [6] EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(jì) [M].北京:人民郵電出2005.32-33.</p><p>  [7]宋嘉玉、孫麗霞.EDA實(shí)用技術(shù)[M].北京:人民郵電出版社,2006.12-20.</p><p>  [8]張彬宏.EDA應(yīng)用技術(shù)[M].北京:北京理工大學(xué)出版社,2007.7-06.</p><p>  

96、[9]漢澤西.EDA技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2004.5-22.</p><p>  [10]譚會(huì)生.EDA技術(shù)基礎(chǔ)[M].長沙:湖南大學(xué)出版社,2004.8-23.</p><p>  東北石油大學(xué)課程設(shè)計(jì)成績?cè)u(píng)價(jià)表</p><p>  指導(dǎo)教師: 年 月 日</p&g

溫馨提示

  • 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)論