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

下載本文檔

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

文檔簡介

1、<p><b>  EDA課程設(shè)計作業(yè)</b></p><p><b>  八位十六進制頻率計</b></p><p>  專業(yè)班級  </p><p>  姓  名 </p><p>  學(xué)號 </p>

2、<p>  時 間 2008至2009學(xué)年第一學(xué)期</p><p><b>  一.設(shè)計要求</b></p><p>  設(shè)計一個基于vhdl的八位十六進制頻率計,書面報告包括工作原理,工作模塊圖,仿真波形圖和問題分析。</p><p><b>  二.正文</b></p><p&g

3、t;<b>  1.引言</b></p><p>  EDA(Electronic Design Automation)即電子設(shè)計自動化。EDA技術(shù)指的是以計算機硬件和系統(tǒng)軟件為基本工作平臺,以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)設(shè)計的主要表達方式,自動完成集成電子系統(tǒng)設(shè)計的一門新技術(shù)。EDA旨在幫助電子設(shè)計工程師在計算機上完成電路的各種設(shè)計,使得硬件設(shè)計如同軟件設(shè)計一樣方便

4、快捷,為數(shù)字系統(tǒng)設(shè)計帶來了極大的靈活性。</p><p>  與早期的電子CAD軟件相比,EDA軟件的自動化程度更高,功能更完善,運行速度更快,而且操作界面友好,有良好的數(shù)據(jù)開放性、互換性和兼容性。因此,EDA技術(shù)很快在世界各地的電子電路設(shè)計領(lǐng)域得到了廣泛應(yīng)用,并已成為新一代電子技術(shù)發(fā)展的重要方向。</p><p>  現(xiàn)代EDA技術(shù)的基本特征是采用高級語言描述,具有系統(tǒng)級仿真和綜合能力。

5、以VHDL語言為代表的硬件描述語言是各種描述方法中最能體現(xiàn)EDA優(yōu)越性的描述方法,并于1984年被IEEE確定為標(biāo)準化的硬件描述語言。它有強大的行為描述能力和多層次的仿真模擬,程序結(jié)構(gòu)規(guī)范,VHDL綜合器性能日益完善,設(shè)計效率較高。</p><p>  本文利用VHDL語言和相應(yīng)器件設(shè)計數(shù)字頻率計,并利用MAX+plus II對VHDL的源設(shè)計進行編譯、優(yōu)化、邏輯綜合,進行波形仿真。</p><

6、;p><b>  2.頻率計工作原理</b></p><p>  VHDL具有支持自頂向下(Top to Down)和基于庫(LibraryBased)的設(shè)計特點,因此設(shè)計者可以不必考慮具體的器件工藝結(jié)構(gòu),從系統(tǒng)級開始,在頂層進行系統(tǒng)的結(jié)構(gòu)設(shè)計,在方框圖一級用VHDL對電路的行為進行描述,并進行仿真和糾錯,然后在系統(tǒng)一級進行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下

7、載到具體的相應(yīng)器件中去。</p><p>  頻率信號易于傳輸,抗干擾性強,可以獲得較好的測量精度。因此,頻率檢測是電子測量領(lǐng)域最基本的測量之一。本文的數(shù)字頻率計是按照計算每秒內(nèi)待測信號的脈沖個數(shù)的基本原理來設(shè)計,此時我們?nèi)¢l門時間為1秒。</p><p>  數(shù)字頻率計的關(guān)鍵組成部分包括一個測頻控制信號發(fā)生器、一個計數(shù)器和一個鎖存器,另外包含外電路的信號整形電路、脈沖發(fā)生器、譯碼驅(qū)動電路

8、和顯示電路,其原理框圖如圖1所示。</p><p>  圖1 數(shù)字頻率計原理框圖</p><p>  工作原理:系統(tǒng)正常工作時,脈沖信號發(fā)生器輸入1Hz的標(biāo)準信號,經(jīng)過測頻控制信號發(fā)生器的處理,2分頻后即可產(chǎn)生一個脈寬為1秒的時鐘信號,以此作為計數(shù)閘門信號。測量信號時,將被測信號通過信號整形電路,產(chǎn)生同頻率的矩形波,輸入計數(shù)器作為時鐘。當(dāng)計數(shù)閘門信號高電平有效時,計數(shù)器開始計數(shù),并將計數(shù)結(jié)

9、果送入鎖存器中。設(shè)置鎖存器的好處是顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。最后將鎖存的數(shù)值由外部的七段譯碼器譯碼并在數(shù)碼管上顯示。</p><p><b>  各工作模塊</b></p><p>  測頻控制電路FTCTRL</p><p>  LIBRARY IEEE; --測頻控制電路</p><p>

10、  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY FTCTRL IS</p><p>  PORT (CLKK : IN STD_LOGIC; -- 1Hz</p><p>  C

11、NT_EN : OUT STD_LOGIC; -- 計數(shù)器時鐘使能</p><p>  RST_CNT : OUT STD_LOGIC; -- 計數(shù)器清零</p><p>  Load : OUT STD_LOGIC ); -- 輸出鎖存信號</p><p>  END

12、FTCTRL;</p><p>  ARCHITECTURE behav OF FTCTRL IS</p><p>  SIGNAL Div2CLK : STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  PROCESS( CLKK )</p><p><

13、;b>  BEGIN</b></p><p>  IF CLKK'EVENT AND CLKK = '1' THEN -- 1Hz時鐘2分頻</p><p>  Div2CLK <= NOT Div2CLK;</p><p><b>  END IF;</b></p>&l

14、t;p>  END PROCESS;</p><p>  PROCESS (CLKK, Div2CLK)</p><p><b>  BEGIN</b></p><p>  IF CLKK='0' AND Div2CLK='0' THEN RST_CNT<='1';-- 產(chǎn)生計數(shù)器清零

15、信號</p><p>  ELSE RST_CNT <= '0'; END IF;</p><p>  END PROCESS;</p><p>  Load <= NOT Div2CLK; CNT_EN <= Div2CLK;</p><p>  END behav;</p><

16、;p>  圖2 測頻控制電路波形仿真</p><p>  圖3測頻控制電路模塊圖</p><p>  2)32位鎖存器REG32B</p><p>  LIBRARY IEEE; --32位鎖存器</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY R

17、EG32B IS</p><p>  PORT ( LK : IN STD_LOGIC;</p><p>  DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);</p><p>  DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );</p><p>  END REG32B

18、;</p><p>  ARCHITECTURE behav OF REG32B IS</p><p><b>  BEGIN</b></p><p>  PROCESS(LK, DIN)</p><p><b>  BEGIN</b></p><p>  IF LK'

19、;EVENT AND LK = '1' THEN DOUT <= DIN;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END behav; </p><p>  圖4 32位鎖存器波形仿真</p><

20、p>  圖5 32位鎖存器模塊圖</p><p>  3)32位計數(shù)器COUNTER32B</p><p>  LIBRARY IEEE; --32位計數(shù)器</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p&g

21、t;<p>  ENTITY COUNTER32B IS</p><p>  PORT (FIN : IN STD_LOGIC; -- 時鐘信號</p><p>  CLR : IN STD_LOGIC; -- 清零信號</p><p>  ENA

22、BL : IN STD_LOGIC; -- 計數(shù)使能信號</p><p>  DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); -- 計數(shù)結(jié)果</p><p>  END COUNTER32B;</p><p>  ARCHITECTURE behav OF COUNTER3

23、2B IS</p><p>  SIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(FIN, CLR, ENABL)</p><p><b>  BEGIN</b></p&

24、gt;<p>  IF CLR = '1' THEN CQI <= (OTHERS=>'0'); -- 清零</p><p>  ELSIF FIN'EVENT AND FIN = '1' THEN</p><p>  IF ENABL = '1' THEN CQI

25、 <= CQI + 1; END IF;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  DOUT <= CQI;</p><p>  END behav;</p><p>  圖6 32位計數(shù)器波形仿真</p

26、><p>  圖7 32位計數(shù)器模塊圖</p><p><b>  總電路及問題分析</b></p><p>  根據(jù)上述模塊,綜合頻率計電路圖及頂層程序為</p><p>  LIBRARY IEEE; --頻率計頂層文件</p><p>  LIBRARY IEEE;</p>&l

27、t;p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY FREQTEST IS</p><p>  PORT ( CLK1HZ : IN STD_LOGIC; </p><p>  FSIN : IN STD_LOGIC;</p><p>  DOUT : OUT STD_LOGIC_V

28、ECTOR(31 DOWNTO 0) );</p><p>  END FREQTEST;</p><p>  ARCHITECTURE struc OF FREQTEST IS</p><p>  COMPONENT FTCTRL</p><p>  PORT (CLKK : IN STD_LOGIC; --

29、1Hz</p><p>  CNT_EN : OUT STD_LOGIC; -- 計數(shù)器時鐘使能</p><p>  RST_CNT : OUT STD_LOGIC; -- 計數(shù)器清零</p><p>  Load : OUT STD_LOGIC ); -- 輸出鎖存信號<

30、;/p><p>  END COMPONENT;</p><p>  COMPONENT COUNTER32B </p><p>  PORT (FIN : IN STD_LOGIC; -- 時鐘信號</p><p>  CLR : IN STD_LOGIC; -- 清零信

31、號</p><p>  ENABL : IN STD_LOGIC; -- 計數(shù)使能信號</p><p>  DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)); -- 計數(shù)結(jié)果</p><p>  END COMPONENT;</p><p>  COMPONENT REG

32、32B</p><p>  PORT ( LK : IN STD_LOGIC;</p><p>  DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);</p><p>  DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );</p><p>  END COMPONENT;&

33、lt;/p><p>  SIGNAL TSTEN1 : STD_LOGIC;</p><p>  SIGNAL CLR_CNT1 : STD_LOGIC;</p><p>  SIGNAL Load1 : STD_LOGIC;</p><p>  SIGNAL DTO1 : STD_LOGIC_VECTOR(31 DOWNTO 0);</p

34、><p>  SIGNAL CARRY_OUT1 : STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  U1 : FTCTRL PORT MAP(CLKK =>CLK1HZ,CNT_EN=>TSTEN1,</p><p>  R

35、ST_CNT =>CLR_CNT1,Load =>Load1);</p><p>  U2 : REG32B PORT MAP( LK => Load1, DIN=>DTO1, DOUT => DOUT);</p><p>  U3 : COUNTER32B PORT MAP( FIN => FSIN, CLR => CLR_CNT1

36、,</p><p>  ENABL => TSTEN1, DOUT=>DTO1 );</p><p>  END struc;</p><p>  圖8 總電路波形仿真</p><p><b>  圖9總電路圖</b></p><p>  如圖9所示,測頻控制信號clk可以由一個外部的

37、脈沖信號發(fā)生器輸入1Hz的標(biāo)準信號來產(chǎn)生。8個數(shù)碼管以16進制形式顯示測頻輸出;待測頻率輸入Fin由外電路輸入。測頻控制信號發(fā)生器FTCTRL的計數(shù)使能信號CNT_EN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計中的32位二進制計數(shù)器COUNTER32B的ENABL使能端進行同步控制。當(dāng)CNT_EN高電平時允許計數(shù);低電平時停止計數(shù),并保持其所計的脈沖數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒鐘的計數(shù)值鎖存進鎖

38、存器REG32B中,并由外部的16進制7段譯碼器譯出,顯示計數(shù)值。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,不會由于周期性的清0信號而不斷閃爍。鎖存信號后,必須有一清0信號RST_CNT對計數(shù)器進行清零,為下1秒的計數(shù)操作作準備。</p><p><b>  問題分析:</b></p><p><b>  圖10 仿真波形</b></p>&

39、lt;p>  剛參照其他源程序產(chǎn)生計數(shù)器清零信號的進程是改成這樣的:</p><p>  PROCESS (CLKK, Div2CLK)</p><p><b>  BEGIN</b></p><p>  IF IF CLKK'EVENT AND CNT_EN = '0' THEN RST_CNT<='

40、;1';-- 計數(shù)器清零</p><p>  ELSE RST_CNT <= '0'; END IF;</p><p>  END PROCESS;</p><p>  設(shè)置了在CNT_EN的下降沿計數(shù)結(jié)束時的同時產(chǎn)生LOAD鎖存信號并產(chǎn)生RST_CNT對計數(shù)器清零,導(dǎo)致測頻控制電路FTCTRL編譯總是通不過,后來改回來延遲了半個時鐘

溫馨提示

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

評論

0/150

提交評論