版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計--八位十進制頻率計
- 八位十進制數(shù)字頻率計基于eda課程設(shè)計
- 頻率計課程設(shè)計
- 頻率計課程設(shè)計
- eda課程設(shè)計--頻率計
- 簡易頻率計課程設(shè)計
- 頻率計課程設(shè)計 (2)
- 課程設(shè)計——6位數(shù)字頻率計
- 智能儀器頻率計課程設(shè)計
- eda頻率計課程設(shè)計報告
- 微機原理課程設(shè)計--頻率計
- 課程設(shè)計---八位二進制密碼鎖的設(shè)計
- 簡單頻率計課程設(shè)計報告
- eda課程設(shè)計報告---頻率計
- 基于arm頻率計課程設(shè)計
- 基于eda的8位十進制頻率計設(shè)計
- 課程設(shè)計--6位數(shù)顯頻率計的設(shè)計
- 基于eda的8位十進制頻率計設(shè)計
- 基于eda的8位十進制頻率計設(shè)計
- 十六進制顏色
評論
0/150
提交評論