實(shí)例教學(xué)五 分頻器 CPLD FPGA可編程邏輯器件_第1頁
實(shí)例教學(xué)五 分頻器 CPLD FPGA可編程邏輯器件_第2頁
實(shí)例教學(xué)五 分頻器 CPLD FPGA可編程邏輯器件_第3頁
實(shí)例教學(xué)五 分頻器 CPLD FPGA可編程邏輯器件_第4頁
實(shí)例教學(xué)五 分頻器 CPLD FPGA可編程邏輯器件_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

分頻器

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

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

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

clk_div

isport(

clk:instd_logic;

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

——結(jié)構(gòu)體architecture

clk_div_stru

of

clk_divisbeginendclk_div_stru;二分頻電路的

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

——結(jié)構(gòu)體

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

——結(jié)構(gòu)體“當(dāng)時鐘信號上升沿到來時,…”如何描述?復(fù)習(xí)process(clk)beginifclk’eventandclk=‘1’then

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

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

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

clk_div_stru

of

clk_divisbeginprocess(

clk)begin ifclk’eventandclock=‘1’then

q<=notq;

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

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

——綜合結(jié)果二分頻電路的VHDL代碼

——仿真結(jié)果任意倍數(shù)的分頻器如何實(shí)現(xiàn)可以利用一個計(jì)數(shù)器來實(shí)現(xiàn)。計(jì)數(shù)輸入脈沖的個數(shù),當(dāng)輸入脈沖的個數(shù)達(dá)到所要分頻的倍數(shù)時,翻轉(zhuǎn)輸出波形。8分頻電路的VHDL代碼編寫

——從計(jì)數(shù)器的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代碼編寫

——從計(jì)數(shù)器的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代碼編寫

——從計(jì)數(shù)器的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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論