版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、EDA課程的地位和作用課程的地位和作用項目項目8 時序電路的時序電路的VHDL設計設計工作任務:工作任務:n1. 1. 基礎知識學習基礎知識學習n2. 2. 通用計數(shù)器設計通用計數(shù)器設計n3. 3. 十進制減法計數(shù)器設計十進制減法計數(shù)器設計n4. 4. 十二進制加法計數(shù)器設計十二進制加法計數(shù)器設計8-2 計數(shù)器的計數(shù)器的VHDL設計設計1. 1. 基礎知識學習基礎知識學習n計數(shù)器功能:對輸入脈沖計數(shù)計數(shù)器功能:對輸入脈沖計數(shù)n計數(shù)器應用:計數(shù)、定時、控制、分頻等計數(shù)器應用:計數(shù)、定時、控制、分頻等n計數(shù)器分類:計數(shù)器分類:n 按同步方式分按同步方式分:同步計數(shù)器、異步計數(shù)器:同步計數(shù)器、異步計
2、數(shù)器n 同步:受同一個時鐘控制同步:受同一個時鐘控制n 異步:不受同一個時鐘控制異步:不受同一個時鐘控制n 按計數(shù)方向分按計數(shù)方向分:加法計數(shù)器、減法計數(shù)器:加法計數(shù)器、減法計數(shù)器n 按模數(shù)分按模數(shù)分:二進制、五進制、十進制等:二進制、五進制、十進制等計數(shù)器:計數(shù)器:1. 基礎知識學習基礎知識學習nPLD原理原理nPLD分類分類CPLD:PAL擴展型擴展型FPGA:邏輯單元型:邏輯單元型可編程邏輯器件(可編程邏輯器件(PLD):):輸入電路與門陣列或門陣列輸出電路輸入輸出1. 基礎知識學習基礎知識學習nPLD優(yōu)點:優(yōu)點: 密度大密度大 功耗低功耗低 速度快速度快 結構靈活結構靈活 開發(fā)工具先進
3、開發(fā)工具先進可編程邏輯器件(可編程邏輯器件(PLD):):VHDL語言要點語言要點:結合結合VHDL源程序實例講解源程序實例講解2. 2. 通用計數(shù)器設計通用計數(shù)器設計設計一個通用計數(shù)器,要求:設計一個通用計數(shù)器,要求:n復位信號為高電平時計數(shù)器清零或賦初值;復位信號為高電平時計數(shù)器清零或賦初值;n使能信號為高電平時計數(shù)器正常工作,低電平時使能信號為高電平時計數(shù)器正常工作,低電平時計數(shù)值不變;計數(shù)值不變;n計數(shù)方向控制信號為高電平時,按加法規(guī)則計數(shù),計數(shù)方向控制信號為高電平時,按加法規(guī)則計數(shù),即來一個時鐘計數(shù)器加即來一個時鐘計數(shù)器加1 1,計數(shù)器達到最大值時再,計數(shù)器達到最大值時再來一個時鐘自
4、動清零;否則,按減法規(guī)則計數(shù),來一個時鐘自動清零;否則,按減法規(guī)則計數(shù),減到減到0 0時再來一個時鐘計數(shù)器為最大值;時再來一個時鐘計數(shù)器為最大值;n計數(shù)器的??烧{計數(shù)器的模可調; ;n計數(shù)器觸發(fā)邊沿可調。計數(shù)器觸發(fā)邊沿可調。設計要求:設計要求:resetenableclkQ0N-1通用計數(shù)器通用計數(shù)器dir(1)構思)構思擬定設計方案擬定設計方案CDIO(構思、設計、實現(xiàn)、運行構思、設計、實現(xiàn)、運行)理念)理念(2)設計)設計編寫編寫VHDL源程序源程序n方案一方案一、用硬件搭接,缺、用硬件搭接,缺點是電路復雜,焊點多,點是電路復雜,焊點多,可靠性差,不夠靈活;可靠性差,不夠靈活;n方案二方案
5、二、用單片機實現(xiàn),、用單片機實現(xiàn),但可靠性差,速度慢;但可靠性差,速度慢;n方案三方案三、用硬件描述語言、用硬件描述語言(HDL)編程,用可編程邏編程,用可編程邏輯器件(輯器件(PLD)實現(xiàn),好)實現(xiàn),好處是可靠性高、靈活性好。處是可靠性高、靈活性好。 VHDL源程序源程序library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity countn is generic (N: integer:=10); -N為正整數(shù)為正整數(shù)port(clk,dir : in std_logic;reset : in std_l
6、ogic;enable : in std_logic;q : out integer range 0 to N-1);end entity;architecture rtl of countn is begin process (clk) variable cnt : integer range 0 to N-1; begin if reset = 1 then cnt := 0; - 計數(shù)器復位計數(shù)器復位 elsif enable = 1 then - 計數(shù)器正常工作計數(shù)器正常工作 if(clkevent and clk=1) then -時鐘上升沿到來時鐘上升沿到來 if dir=1 th
7、en if(cnt0 ) then -減法計數(shù)減法計數(shù) cnt:= cnt-1; else cnt := N-1; end if; end if; end if; end if; q = cnt; - 輸出計數(shù)值輸出計數(shù)值 end process;end rtl;(3 3)實現(xiàn))實現(xiàn)編輯、編譯、仿真、編程編輯、編譯、仿真、編程n由波形圖可以看出,由波形圖可以看出, 由于由于dirdir為高電平為高電平,N=10N=10,這時,這時countncountn就是一個就是一個十進制十進制加法計數(shù)器加法計數(shù)器。n如果要生成其它進制的加法計數(shù)器,只要修改如果要生成其它進制的加法計數(shù)器,只要修改gener
8、icgeneric類類屬變量參數(shù)屬變量參數(shù)N N的值即可。例如:設計五進制計數(shù)器時,令的值即可。例如:設計五進制計數(shù)器時,令N=5N=5;設計十二進制計數(shù)器時,令;設計十二進制計數(shù)器時,令N=12N=12。n如果需要對輸入脈沖下降沿計數(shù),只要將如果需要對輸入脈沖下降沿計數(shù),只要將if(clkevent if(clkevent and clk=and clk=1)1) then then 語句中的語句中的11改為改為00即可即可。(4 4)運行)運行測試、改進、總結測試、改進、總結3. 學中做學中做十進制減法計數(shù)器十進制減法計數(shù)器n要求:要求: 設計一個設計一個十進制十進制減法計數(shù)器,初值為減法
9、計數(shù)器,初值為9。n構思:構思: 方案一方案一、仿照、仿照countn重新設計,好處是可以省掉加法計數(shù)重新設計,好處是可以省掉加法計數(shù)部分的的語句,節(jié)省資源,但改動地方較多,容易出錯;部分的的語句,節(jié)省資源,但改動地方較多,容易出錯; 方案二方案二、在通用計數(shù)器、在通用計數(shù)器countn源程序的基礎上稍作修改即源程序的基礎上稍作修改即可滿足設計要求,好處是可以簡化程序設計,但占用資源可滿足設計要求,好處是可以簡化程序設計,但占用資源稍多。稍多。n設計:設計: 采用方案二。將采用方案二。將countn中語句中語句if reset = 1 then cnt := 0; 改改為為if reset =
10、 1 then cnt :=9;實現(xiàn)初值為實現(xiàn)初值為9的要求的要求; 仿真時仿真時令令dir為低電平,實現(xiàn)減法計數(shù)的要求。為低電平,實現(xiàn)減法計數(shù)的要求。3. 學中做學中做十進制減法計數(shù)器十進制減法計數(shù)器n圖中可以看出,圖中可以看出, reset為高電平時計數(shù)器輸出為為高電平時計數(shù)器輸出為9;n由于由于dir為低電平為低電平,N=10,所以,所以countn變成了一個變成了一個十進制十進制減法計數(shù)器減法計數(shù)器。n實現(xiàn):編輯、編譯、仿真、編程實現(xiàn):編輯、編譯、仿真、編程n運行:測試、改進、總結運行:測試、改進、總結4. 4. 做中學做中學設計一個十二進制加法計數(shù)器設計一個十二進制加法計數(shù)器 設計要
11、求:設計要求:輸輸 入入輸輸 出出resetresetenableenableclkclkQ3Q3Q2Q2Q1Q1Q0Q01 1X XX X0 00 00 00 00 00 0X X不變不變不變不變不變不變不變不變0 01 1計數(shù)器計數(shù)器+1(N=11+1(N=11時清零時清零) )十二進制加法計數(shù)器功能表十二進制加法計數(shù)器功能表 (1)構思)構思擬定設計方案擬定設計方案resetenableclkQ011十二進制加法計數(shù)器十二進制加法計數(shù)器dir1 (2)設計)設計編寫編寫VHDL源程序源程序 將將countn源程序中的語句源程序中的語句generic(N: integer:=10)改為改為
12、generic(N: integer:= 12即可。即可。n方案一方案一、仿照、仿照countn重新重新設計,好處是可以省掉減設計,好處是可以省掉減法計數(shù)部分的語句,節(jié)省法計數(shù)部分的語句,節(jié)省資源;資源;n方案二方案二、在通用計數(shù)器、在通用計數(shù)器countn源程序的基礎上稍源程序的基礎上稍作修改,好處是可以簡化作修改,好處是可以簡化程序設計。程序設計。 (3)實現(xiàn))實現(xiàn)編輯、編譯、仿真、編程編輯、編譯、仿真、編程(4)運行)運行測試、改進、總結測試、改進、總結n仿真時令仿真時令dir為高電平。圖中可以看出,為高電平。圖中可以看出, 由于由于dir=1,N=12,這時,這時countn就變成一個
13、就變成一個十二進制加法計數(shù)器。十二進制加法計數(shù)器。課后作業(yè):課后作業(yè):n按照按照“構思、設計、實現(xiàn)、運行構思、設計、實現(xiàn)、運行”的步驟,的步驟,完成初值為完成初值為5的六進制減法計數(shù)器設計。的六進制減法計數(shù)器設計。課堂練習:課堂練習:n按照按照“構思、設計、實現(xiàn)、運行構思、設計、實現(xiàn)、運行”的步驟,的步驟,設計一個初值為設計一個初值為2的五進制雙向計數(shù)器。的五進制雙向計數(shù)器。工作任務:工作任務:n1. 分頻器概念分頻器概念n2. 通用分頻器設計通用分頻器設計n3. 占空比占空比50%的奇數(shù)分頻器設計的奇數(shù)分頻器設計8-3 分頻器的分頻器的VHDL設計設計1. 1. 分頻器概念分頻器概念n分頻器
14、功能:分頻器功能: 把頻率較高的信號變成頻率較低的信號。把頻率較高的信號變成頻率較低的信號。n分頻器參數(shù):分頻器參數(shù): 分頻系數(shù):分頻系數(shù): rate=rate=f fin in / / f foutout 占空比:輸出脈沖持續(xù)高電平的時間:周期。占空比:輸出脈沖持續(xù)高電平的時間:周期。n分頻器種類:分頻器種類: 偶數(shù)分頻器、奇數(shù)分頻器、占空比可調的分頻器。偶數(shù)分頻器、奇數(shù)分頻器、占空比可調的分頻器。 clkinclkout分頻器分頻器2. 設計舉例設計舉例通用分頻器通用分頻器n設計要求設計要求:分頻系數(shù)可調,占空比為可調(占空比為:分頻系數(shù)可調,占空比為可調(占空比為50%時分頻系數(shù)不能是奇
15、數(shù)時分頻系數(shù)不能是奇數(shù) )。)。n構思構思: 假設,分頻系數(shù)為假設,分頻系數(shù)為n,占空比為,占空比為m:n(m,n為正整數(shù),且為正整數(shù),且mn;m:n=50%時時n不能為奇數(shù)不能為奇數(shù) )。)。 方案一方案一、用硬件搭接,缺點是電路復雜,焊點多,可靠性、用硬件搭接,缺點是電路復雜,焊點多,可靠性、靈活性差;靈活性差; 方案二方案二、用單片機實現(xiàn),雖然靈活性較好,但速度慢;、用單片機實現(xiàn),雖然靈活性較好,但速度慢; 方案三方案三、用硬件描述語言(、用硬件描述語言(HDL)編程,用可編程邏輯器件編程,用可編程邏輯器件(PLD)實現(xiàn),好處是可靠性高、靈活性好。)實現(xiàn),好處是可靠性高、靈活性好。clk
16、inclkout分頻器分頻器2. 設計舉例設計舉例通用分頻器通用分頻器n設計:設計:采用方案三采用方案三 例如,例如,設計占空比為設計占空比為30%的的10分頻器分頻器,其輸入輸出波形如下,其輸入輸出波形如下圖所示??梢钥闯觯敵鰣D所示??梢钥闯?,輸出1個周期個周期=輸入信號的輸入信號的10個周期,個周期,前前3個輸入周期,輸出高電平;后個輸入周期,輸出高電平;后7個輸入周期,輸出低電個輸入周期,輸出低電平。平。 方法方法:設計一個摸數(shù)為分頻系數(shù):設計一個摸數(shù)為分頻系數(shù)n的計數(shù)器,對輸入時鐘脈的計數(shù)器,對輸入時鐘脈沖計數(shù),當計數(shù)值為沖計數(shù),當計數(shù)值為0m-1時,輸出高電平;計數(shù)值為時,輸出高電
17、平;計數(shù)值為mn-1時,輸出低電平。時,輸出低電平。 源程序源程序:見下頁:見下頁通用分頻器的通用分頻器的VHDL源程序源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fdivn is generic( n: integer:=10; m: integer:=3 ); - n為分頻系數(shù),為分頻系數(shù),占空比占空比m:n;占空比;占空比=50%時時n不能為奇數(shù)不能為奇數(shù) port( clkin : IN std_logic;
18、 clkout : OUT std_logic );end fdivn;architecture a of fdivn is signal cnt: integer range 0 to n-1;-定義中間信號定義中間信號(這里為么不用變量?信號與變量有何不同?)begin process(clkin) begin if(clkinevent and clkin=1) then if(cntn-1) then cnt = cnt+1; else cnt = 0; end if; end if; end process; clkout = 1 when cntm else 0;end a;n從波
19、形圖可以看到,從波形圖可以看到,clkout是是clkin的的10分頻,且分頻,且占空比為占空比為3:10,即,即30%。n修改上述程序中修改上述程序中generic類屬變量類屬變量m和和n的參數(shù)值,的參數(shù)值,即可得到不同分頻系數(shù)和占空比的分頻器。即可得到不同分頻系數(shù)和占空比的分頻器。n實現(xiàn):編輯、編譯、仿真、編程實現(xiàn):編輯、編譯、仿真、編程n運行:測試、改進、總結運行:測試、改進、總結n做做看做做看設計一個占空比設計一個占空比40%的的5分頻器分頻器做做看做做看設計占空比設計占空比40%的的5分頻器分頻器n構思構思:因分頻系數(shù)為:因分頻系數(shù)為5,占空比,占空比40%,故取,故取n=5, m=
20、2。n設計設計:修改:修改fdivn中中generic類屬變量類屬變量m和和n的參數(shù)的參數(shù)值,令值,令n=5,m=2。n實現(xiàn)實現(xiàn):修改程序并存盤,編譯、仿真。:修改程序并存盤,編譯、仿真。 3. 學中做學中做占空比占空比50%的奇數(shù)分頻器設計的奇數(shù)分頻器設計n設計要求:分頻系數(shù)為奇數(shù),占空比設計要求:分頻系數(shù)為奇數(shù),占空比50%n構思:構思: 分析:分析:因為計數(shù)器模數(shù)為奇數(shù),占空比為因為計數(shù)器模數(shù)為奇數(shù),占空比為50%,所以計數(shù),所以計數(shù)器輸出的前半個周期和后半個周期所包含的輸入時鐘的周器輸出的前半個周期和后半個周期所包含的輸入時鐘的周期數(shù)不是整數(shù)。例如,期數(shù)不是整數(shù)。例如,5分頻器,分頻器
21、,clkout的前半個周期包含的前半個周期包含2.5個個clkin周期,后半個周期包含周期,后半個周期包含2.5個個clkin周期。周期。 方案方案:設計兩個摸為分頻系數(shù)的計數(shù)器,一個對輸入時鐘:設計兩個摸為分頻系數(shù)的計數(shù)器,一個對輸入時鐘的上升沿計數(shù),另一個對輸入時鐘的下降沿計數(shù),然后把的上升沿計數(shù),另一個對輸入時鐘的下降沿計數(shù),然后把這兩個計數(shù)器的輸出接到這兩個計數(shù)器的輸出接到“或門或門”的輸入,的輸入, “或門或門”的的輸做分頻器的輸出輸做分頻器的輸出clkout。n設計:設計: 源程序源程序:占空比為:占空比為50%的奇數(shù)分頻器的奇數(shù)分頻器占空比為占空比為50%的奇數(shù)分頻器的奇數(shù)分頻器
22、VHDL源程序源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fdivo is generic(N: integer:=5); -分頻系數(shù)分頻系數(shù)=N,N是奇數(shù)是奇數(shù) port( clkin : in std_logic; clkout: out std_logic );end fdivo;architecture a of fdivo is signal cnt1, cnt2: integer range 0 to N-1;begin process(clkin) begin if(clkinevent and clkin=1 ) then -上升沿計數(shù)上升沿計數(shù) if(cnt1N-1) then cnt1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版特許經(jīng)營權授予協(xié)議
- 買賣協(xié)議書匯編六篇
- 2024年度砸墻工程設計與施工監(jiān)理合同3篇
- 2024年生產協(xié)作合同3篇
- 2024年版食堂廚房管理服務合同3篇
- 活動計劃模板集錦五篇
- 大學生學習計劃15篇
- 收購合同匯編10篇
- 對甲氧基苯甲醛項目商業(yè)計劃書
- 學校后勤干事崗位職責總結
- 浙江省金華市金東區(qū)2023-2024學年九年級上學期語文期末試卷
- 【7地星球期末】安徽省合肥市包河區(qū)智育聯(lián)盟校2023-2024學年七年級上學期期末地理試題(含解析)
- (2021)最高法民申5114號凱某建設工程合同糾紛案 指導
- 尊重學術道德遵守學術規(guī)范學習通超星期末考試答案章節(jié)答案2024年
- 望廬山瀑布李白
- 完善程序填空數(shù)組指針 供練習
- (高清版)組合鋁合金模板工程技術規(guī)程JGJ 386-2016
- 室內質控品統(tǒng)一征訂單
- 《論語》誦讀計劃
- 2006年工資標準及套改對應表
- 中英文對照財務報表-模板
評論
0/150
提交評論