實例教學五 分頻器 CPLD FPGA可編程邏輯器件_第1頁
實例教學五 分頻器 CPLD FPGA可編程邏輯器件_第2頁
實例教學五 分頻器 CPLD FPGA可編程邏輯器件_第3頁
實例教學五 分頻器 CPLD FPGA可編程邏輯器件_第4頁
實例教學五 分頻器 CPLD FPGA可編程邏輯器件_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

分頻器

的VHDL設計桂林師范高等專科學校羊日飛分頻器(Divider)分頻器可以用來降低信號的頻率,是數字系統中常用的時序電路。在數字系統中,常常需要各種頻率的時鐘信號,獲得的方法一般是對晶振的時鐘進行分頻(降頻)。二分頻、四分頻、八分頻二分頻器輸出信號的頻率是輸入信號頻率的1/2,由于周期是頻率的倒數,所以周期是輸入信號的2倍。輸入脈沖輸出脈沖÷2分頻器的應用51單片機的定時/計數器結構二分頻電路的VHDL代碼編寫

——庫引用引用IEEE庫引用IEEE庫中的std_logic_1164程序包libraryieee;useieee.std_logic_1164.all二分頻電路的VHDL代碼編寫

——實體分頻器電路的外特性:有1個高頻時鐘信號輸入端clk;有1個低頻時鐘信號輸出端q;實體名:clk_diventity

clk_div

isport(

clk:instd_logic;

q:bufferstd_logic;);endclk_div;端口的信號模式二分頻電路的VHDL代碼編寫

——結構體architecture

clk_div_stru

of

clk_divisbeginendclk_div_stru;二分頻電路的

行為/功能描述輸出信號只在輸入信號的上升沿到來時變化,其余時間保持原有狀態不變;輸出信號在輸入信號的上升沿到來時變化,新的狀態為上升沿到來時刻的狀態取反;思考觀察輸出信號的變化規律,找出與輸入信號的聯系用自然語言描述出來二分頻電路的VHDL代碼編寫

——結構體

時鐘信號的上升沿如何描述?復習二分頻電路的VHDL代碼編寫

——結構體“當時鐘信號上升沿到來時,…”如何描述?復習process(clk)beginifclk’eventandclk=‘1’then

endif;endprocess;輸出信號只在輸入信號的上升沿到來時變化,其余時間保持原有狀態不變;二分頻電路的VHDL代碼編寫

——結構體輸出信號在輸入信號的上升沿到來時變化,新的狀態為上升沿到來時刻的狀態取反;使用if語句進行描述process(clk)beginifclk’eventandclk=‘1’then

q<=notq;endif;endprocess;討論q的信號模式實體定義中的端口說明端口名:是賦于每個外部引腳的名稱。信號模式:用來說明數據、信號通過該端口的方向。有四種:(1)IN(輸入)(2)OUT(輸出)(3)INOUT(雙向)(4)BUFFER(緩沖)IN(輸入)信號從外部經該端口輸入至實體;單向端口;entityOUT(輸出)從實體輸出至外部;單向端口;entityBUFFER(緩沖)可以從實體輸出至外部;也可以從端口回讀該輸出值;不可以從外部輸入至實體;單向端口;entityQDarchitecture

clk_div_stru

of

clk_divisbeginprocess(

clk)begin ifclk’eventandclock=‘1’then

q<=notq;

endif;endprocess;endclk_div_stru;二分頻電路的VHDL代碼編寫

——結構體(完整代碼)輸出信號只在輸入信號的上升沿到來時變化,其余時間保持原有狀態不變;輸出信號在輸入信號的上升沿到來時變化,新的狀態為上升沿到來時刻的狀態取反;二分頻電路的VHDL代碼

——綜合結果二分頻電路的VHDL代碼

——仿真結果任意倍數的分頻器如何實現可以利用一個計數器來實現。計數輸入脈沖的個數,當輸入脈沖的個數達到所要分頻的倍數時,翻轉輸出波形。8分頻電路的VHDL代碼編寫

——從計數器的VHDL入手entity

counter

isport(

reset:instd_logic;

clock:instd_logic;

Q:outstd_logic_vector(3downto0));endcounter;entity

clkdiv

isport(

reset:instd_logic;

clock:instd_logic;

Q:bufferstd_logic);endclkdiv;8分頻電路的VHDL代碼編寫

——從計數器的VHDL入手architecturecounter_struofcounterissignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

elsifclock’eventandclock=‘1’thenifcount=“1111”then

count<=“0000”;else

count<=count+“0001”;endif;endif;endprocess;

Q<=count;endcounter_stru;8分頻電路的VHDL代碼編寫

——從計數器的VHDL入手architecturecounter_struofcounterissignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

elsifclock’eventandclock=‘1’thenifcount=“1111”then

count<=“0000”;else

count<=count+“0001”;endif;endif;endprocess;

Q<=count;endcounter_stru;architecture

clkdiv_stru

of

clkdiv

issignalcount:std_logic_vector(3downto0);begin

process(reset,clock)beginifreset=‘0’then

count<=“0000”;

q<=‘0’;elsifclock’eventandclock=‘1’thenifcount=4then

count<=“0000”;q<=notq;else

溫馨提示

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

評論

0/150

提交評論