版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 第一章 課程設(shè)計內(nèi)容與目的</p><p><b> 1.1 設(shè)計內(nèi)容:</b></p><p> 設(shè)計一個頻率為100MHZ,60分頻的時鐘分頻電路。即輸入的頻率是100MHZ,分頻倍數(shù)為60,最終實現(xiàn)對輸入時鐘正確的60分頻功能。用ISE,MODELSIM工具軟件,編寫時鐘分頻源程序,并通過綜合后生成波形仿真文件,然后對設(shè)計進行仿真。&
2、lt;/p><p><b> 1.2 設(shè)計目的:</b></p><p> 1.掌握時鐘分頻工作原理.</p><p> 2.對60倍時鐘分頻模塊進行基于VHDL的設(shè)計.</p><p> 3.對自己所設(shè)計的60倍時鐘分頻模塊進行仿真驗證。</p><p><b> 第二章 模塊設(shè)
3、計</b></p><p><b> 2.1 模塊原理:</b></p><p> 時鐘分頻就是用同一個時鐘信號通過一定的電路結(jié)構(gòu)轉(zhuǎn)變成不同頻率的時鐘信號。例如四分頻就是通過有分頻作用的電路結(jié)構(gòu),在時鐘每觸發(fā)4個周期時,電路輸出1個周期信號。 比如用一個脈沖時鐘觸發(fā)一個計數(shù)器,計數(shù)器每計4個數(shù)就清零一次并輸出1個脈沖。那么這個電路就實現(xiàn)了四分頻功能。在
4、復(fù)雜數(shù)字邏輯電路設(shè)計中,經(jīng)常會用到多個不同的時鐘信號。分頻電路包括整數(shù)分頻和小數(shù)分頻,其中整數(shù)分頻又包括了奇分頻和偶分頻。對于偶數(shù) N 分頻,通 常是由模 N/2 計數(shù)器實現(xiàn)一個占空比為 1:1 的 N 分頻電路,分頻輸出信號模 N/2 自動取反。對于奇數(shù) N 分頻,上述方法就 不適用了,而是由模 N 計數(shù)器實現(xiàn)非等占空比的奇數(shù) N 分頻,分頻輸出信號取得是模 N 計數(shù)中的某一位(不同 N 值范 圍會選不同位)。這種方法同樣適用于偶數(shù)
5、N 分頻,但占空比不總是 1:1,只有 2 的 n 次方的偶數(shù)(如 4、8、16 等)分頻 占空比才是 1 :1 。這種方法對于奇數(shù)、偶數(shù)具有通用性。小數(shù)分頻通過精確的控制器來控制內(nèi)部分頻器進行N分頻還是N+1分頻,從而在平均意義上實現(xiàn)分頻系數(shù)為小數(shù)的分頻器占空比指的是在一串理想的脈沖周期</p><p><b> 2.2 設(shè)計思路</b></p><p> 時鐘
6、分頻電路中,偶分頻是最基本也是比較簡單的分頻,本設(shè)計的分頻倍數(shù)就是60分頻,60分頻就是通過有分頻作用的電路結(jié)構(gòu),在時鐘每觸發(fā)60個周期時,電路輸出1個周期信號。電路中定義一個計數(shù)器,這個計數(shù)器至少可以計60個數(shù),計數(shù)器是VHDL設(shè)計中常用的設(shè)計,這在程序中很容易實現(xiàn),可以定義一個count信號,每出現(xiàn)一個時鐘上升沿的時候計一個數(shù),但計數(shù)器計數(shù)小于29的時候,時鐘的值保持為1,當(dāng)計數(shù)大于29小于59的時候,時鐘值翻轉(zhuǎn)為0.當(dāng)計數(shù)器計數(shù)到
7、達59次的時候?qū)τ嫈?shù)器進行復(fù)位處理,從新開始從0開始計數(shù),已到達反復(fù)計數(shù)的目的。</p><p> 第三章 模塊設(shè)計實現(xiàn)</p><p> 3.1 VHDL源程序的具體程序和說明</p><p> 時鐘60分頻的設(shè)計程序如下: </p><p> library IEEE; </p>
8、<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> ---- Uncomment the following library declar
9、ation if instantiating</p><p> ---- any Xilinx primitives in this code.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity clkdiv60 is
10、 </p><p> Port ( clk : in STD_LOGIC;</p><p> outclk : out STD_LOGIC); </p><p> end clkdiv60; </p><p> architecture Behav
11、ioral of clkdiv60 is </p><p> signal count : STD_LOGIC_VECTOR(5 downto 0):="000000";</p><p><b> begin</b></p><p> process(clk) </p><p>
12、<b> begin</b></p><p> if(clk'event and clk='1') </p><p> Then </p><p> if(count=59) </p><p> then
13、 count<="000000"; </p><p> else count<=count+1; </p><p> end if; </p><p> if (count<30) </p><p> then outclk
14、<='1';</p><p><b> else</b></p><p> outclk<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p>&
15、lt;p> end process;</p><p> end Behavioral;</p><p><b> 程序說明:</b></p><p> 第一部分:定義庫和數(shù)據(jù)包以及數(shù)據(jù)包所開放的對象。</p><p> 第二部分:實體部分,定義輸入端和輸出端口名,以及他們的數(shù)據(jù)類型</p>
16、<p> 第三部分:結(jié)構(gòu)體,結(jié)構(gòu)體是描述程序功能的部分。首先定義一個signal信號,count計數(shù)器,計數(shù)器的主要功能是隨著時鐘上升沿的出現(xiàn)進行計數(shù)。計數(shù)器是6位的,以滿足時鐘60分頻的需要。當(dāng)時鐘信號出現(xiàn)并且當(dāng)初始值為”1“的時候,程序開始運行。如下面的程序</p><p> if(clk'event and clk='1') </p><p&g
17、t; Then </p><p> if(count=59) </p><p> then count<="000000"; </p><p> else count<=count+1; </p>
18、<p> end if; </p><p> if (count<30) </p><p> then outclk<='1';</p><p><b> else</b></p><p> outclk<='0';
19、</p><p><b> end if;</b></p><p><b> end if;</b></p><p> 首先對計數(shù)器的計數(shù)進行判斷,判斷是否已經(jīng)計滿60次,當(dāng)計滿60次地時候,計數(shù)器就需要復(fù)位,重新開始從零計數(shù)。當(dāng)沒有計到60次地時候,那么計數(shù)器需要隨著時鐘上升沿的出現(xiàn)逐加,如計數(shù)器計滿30次,則輸出
20、的時鐘值仍然保持為”1“,若計數(shù)器計數(shù)的次數(shù)大于30次,那么時鐘值需要翻轉(zhuǎn)為”0“.這樣一次計數(shù)下去</p><p> 3.2 時鐘分頻程序文件的創(chuàng)建過程</p><p> 第一步:建立新的工程項目,并將其命名為”clkdiv60“,如下圖所示</p><p> 第二步:在新建的工程項目下建立VHDL module文件,如下圖所示</p><
21、;p> 第三步:編譯源程序,如下圖所示</p><p> 第四步:對程序進行綜合測試,直到測試通過為止,操作方法如下圖</p><p> 第四章 模塊仿真過程和結(jié)果分析</p><p><b> 4.1 仿真過程</b></p><p> 第一步:建立仿真波形文件,在"clkdiv60"
22、;下建立"VHDL test bench"。如下圖所示</p><p> 第二步:點擊”design“窗口下的”simulation“,并且雙擊已建立的test bench 文件。</p><p> 第三步:對test bench 文件進行修改,定義時鐘頻率為100MHZ,點擊process窗口下的仿真按鈕進行仿真。</p><p> 第四
23、步:輸出仿真波形圖,如下所示</p><p><b> 4.2 結(jié)果分析</b></p><p> 觀察仿真波形圖,clk是輸入的時鐘信號波形,其輸入頻率是100MHZ,outclk是輸出的時鐘分頻波形圖,前30個時鐘上升沿出現(xiàn)的時候,輸出的波形上的值是“1”,當(dāng)出現(xiàn)第31個時鐘上升沿開始,輸出的時鐘值為“0”,即將輸入時鐘的60個周期變頻成輸出時鐘的一個周期,設(shè)
24、計程序的功能達到了設(shè)計的要求。</p><p><b> 結(jié)論總結(jié)</b></p><p><b> 5.結(jié)論總結(jié)</b></p><p> 時鐘分頻模塊是現(xiàn)代通信系統(tǒng)的重要模塊,通過對時鐘分頻原理的理解,分析,設(shè)計出時鐘60分頻的思路,并且應(yīng)用ISE軟件進行程序設(shè)計。設(shè)計后對程序進行測試,測試通過后應(yīng)用MODELS
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 時鐘電路及分頻器設(shè)計課程設(shè)計
- 數(shù)字時鐘電路課程設(shè)計書
- 數(shù)字電路電子時鐘課程設(shè)計
- 課程設(shè)計報告---實時時鐘電路設(shè)計
- 數(shù)字電路課程設(shè)計----多功能數(shù)字時鐘
- fpga課程設(shè)計源碼-時鐘-樂曲-函數(shù)信號電路
- 數(shù)字電路課程設(shè)計-多功能數(shù)字時鐘設(shè)計
- plc時鐘課程設(shè)計---時鐘系統(tǒng)設(shè)計
- 數(shù)字電路技術(shù)課程設(shè)計_之?dāng)?shù)字時鐘
- 數(shù)字時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
- 時鐘課程設(shè)計報告
- 智能萬年歷時鐘電路-電路cad課程設(shè)計
- vb時鐘課程設(shè)計報告---模擬時鐘
- 課程設(shè)計--數(shù)字時鐘
- 數(shù)字時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
- java時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
評論
0/150
提交評論