版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、EDA課程的地位和作用課程的地位和作用項目項目8 時序電路的時序電路的VHDL設(shè)計設(shè)計工作任務(wù):工作任務(wù):n1. 1. 基礎(chǔ)知識學(xué)習(xí)基礎(chǔ)知識學(xué)習(xí)n2. 2. 通用計數(shù)器設(shè)計通用計數(shù)器設(shè)計n3. 3. 十進(jìn)制減法計數(shù)器設(shè)計十進(jìn)制減法計數(shù)器設(shè)計n4. 4. 十二進(jìn)制加法計數(shù)器設(shè)計十二進(jìn)制加法計數(shù)器設(shè)計8-2 計數(shù)器的計數(shù)器的VHDL設(shè)計設(shè)計1. 1. 基礎(chǔ)知識學(xué)習(xí)基礎(chǔ)知識學(xué)習(xí)n計數(shù)器功能:對輸入脈沖計數(shù)計數(shù)器功能:對輸入脈沖計數(shù)n計數(shù)器應(yīng)用:計數(shù)、定時、控制、分頻等計數(shù)器應(yīng)用:計數(shù)、定時、控制、分頻等n計數(shù)器分類:計數(shù)器分類:n 按同步方式分按同步方式分:同步計數(shù)器、異步計數(shù)器:同步計數(shù)器、異步計
2、數(shù)器n 同步:受同一個時鐘控制同步:受同一個時鐘控制n 異步:不受同一個時鐘控制異步:不受同一個時鐘控制n 按計數(shù)方向分按計數(shù)方向分:加法計數(shù)器、減法計數(shù)器:加法計數(shù)器、減法計數(shù)器n 按模數(shù)分按模數(shù)分:二進(jìn)制、五進(jìn)制、十進(jìn)制等:二進(jìn)制、五進(jìn)制、十進(jìn)制等計數(shù)器:計數(shù)器:1. 基礎(chǔ)知識學(xué)習(xí)基礎(chǔ)知識學(xué)習(xí)nPLD原理原理nPLD分類分類CPLD:PAL擴(kuò)展型擴(kuò)展型FPGA:邏輯單元型:邏輯單元型可編程邏輯器件(可編程邏輯器件(PLD):):輸入電路與門陣列或門陣列輸出電路輸入輸出1. 基礎(chǔ)知識學(xué)習(xí)基礎(chǔ)知識學(xué)習(xí)nPLD優(yōu)點:優(yōu)點: 密度大密度大 功耗低功耗低 速度快速度快 結(jié)構(gòu)靈活結(jié)構(gòu)靈活 開發(fā)工具先進(jìn)
3、開發(fā)工具先進(jìn)可編程邏輯器件(可編程邏輯器件(PLD):):VHDL語言要點語言要點:結(jié)合結(jié)合VHDL源程序?qū)嵗v解源程序?qū)嵗v解2. 2. 通用計數(shù)器設(shè)計通用計數(shù)器設(shè)計設(shè)計一個通用計數(shù)器,要求:設(shè)計一個通用計數(shù)器,要求:n復(fù)位信號為高電平時計數(shù)器清零或賦初值;復(fù)位信號為高電平時計數(shù)器清零或賦初值;n使能信號為高電平時計數(shù)器正常工作,低電平時使能信號為高電平時計數(shù)器正常工作,低電平時計數(shù)值不變;計數(shù)值不變;n計數(shù)方向控制信號為高電平時,按加法規(guī)則計數(shù),計數(shù)方向控制信號為高電平時,按加法規(guī)則計數(shù),即來一個時鐘計數(shù)器加即來一個時鐘計數(shù)器加1 1,計數(shù)器達(dá)到最大值時再,計數(shù)器達(dá)到最大值時再來一個時鐘自
4、動清零;否則,按減法規(guī)則計數(shù),來一個時鐘自動清零;否則,按減法規(guī)則計數(shù),減到減到0 0時再來一個時鐘計數(shù)器為最大值;時再來一個時鐘計數(shù)器為最大值;n計數(shù)器的??烧{(diào)計數(shù)器的??烧{(diào); ;n計數(shù)器觸發(fā)邊沿可調(diào)。計數(shù)器觸發(fā)邊沿可調(diào)。設(shè)計要求:設(shè)計要求:resetenableclkQ0N-1通用計數(shù)器通用計數(shù)器dir(1)構(gòu)思)構(gòu)思擬定設(shè)計方案擬定設(shè)計方案CDIO(構(gòu)思、設(shè)計、實現(xiàn)、運行構(gòu)思、設(shè)計、實現(xiàn)、運行)理念)理念(2)設(shè)計)設(shè)計編寫編寫VHDL源程序源程序n方案一方案一、用硬件搭接,缺、用硬件搭接,缺點是電路復(fù)雜,焊點多,點是電路復(fù)雜,焊點多,可靠性差,不夠靈活;可靠性差,不夠靈活;n方案二方案
5、二、用單片機(jī)實現(xiàn),、用單片機(jī)實現(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ù)器復(fù)位計數(shù)器復(fù)位 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就是一個就是一個十進(jìn)制十進(jìn)制加法計數(shù)器加法計數(shù)器。n如果要生成其它進(jìn)制的加法計數(shù)器,只要修改如果要生成其它進(jìn)制的加法計數(shù)器,只要修改gener
8、icgeneric類類屬變量參數(shù)屬變量參數(shù)N N的值即可。例如:設(shè)計五進(jìn)制計數(shù)器時,令的值即可。例如:設(shè)計五進(jìn)制計數(shù)器時,令N=5N=5;設(shè)計十二進(jìn)制計數(shù)器時,令;設(shè)計十二進(jìn)制計數(shù)器時,令N=12N=12。n如果需要對輸入脈沖下降沿計數(shù),只要將如果需要對輸入脈沖下降沿計數(shù),只要將if(clkevent if(clkevent and clk=and clk=1)1) then then 語句中的語句中的11改為改為00即可即可。(4 4)運行)運行測試、改進(jìn)、總結(jié)測試、改進(jìn)、總結(jié)3. 學(xué)中做學(xué)中做十進(jìn)制減法計數(shù)器十進(jìn)制減法計數(shù)器n要求:要求: 設(shè)計一個設(shè)計一個十進(jìn)制十進(jìn)制減法計數(shù)器,初值為減法
9、計數(shù)器,初值為9。n構(gòu)思:構(gòu)思: 方案一方案一、仿照、仿照countn重新設(shè)計,好處是可以省掉加法計數(shù)重新設(shè)計,好處是可以省掉加法計數(shù)部分的的語句,節(jié)省資源,但改動地方較多,容易出錯;部分的的語句,節(jié)省資源,但改動地方較多,容易出錯; 方案二方案二、在通用計數(shù)器、在通用計數(shù)器countn源程序的基礎(chǔ)上稍作修改即源程序的基礎(chǔ)上稍作修改即可滿足設(shè)計要求,好處是可以簡化程序設(shè)計,但占用資源可滿足設(shè)計要求,好處是可以簡化程序設(shè)計,但占用資源稍多。稍多。n設(shè)計:設(shè)計: 采用方案二。將采用方案二。將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. 學(xué)中做學(xué)中做十進(jìn)制減法計數(shù)器十進(jìn)制減法計數(shù)器n圖中可以看出,圖中可以看出, reset為高電平時計數(shù)器輸出為為高電平時計數(shù)器輸出為9;n由于由于dir為低電平為低電平,N=10,所以,所以countn變成了一個變成了一個十進(jìn)制十進(jìn)制減法計數(shù)器減法計數(shù)器。n實現(xiàn):編輯、編譯、仿真、編程實現(xiàn):編輯、編譯、仿真、編程n運行:測試、改進(jìn)、總結(jié)運行:測試、改進(jìn)、總結(jié)4. 4. 做中學(xué)做中學(xué)設(shè)計一個十二進(jìn)制加法計數(shù)器設(shè)計一個十二進(jìn)制加法計數(shù)器 設(shè)計要
11、求:設(shè)計要求:輸輸 入入輸輸 出出resetresetenableenableclkclkQ3Q3Q2Q2Q1Q1Q0Q01 1X XX X0 00 00 00 00 00 0X X不變不變不變不變不變不變不變不變0 01 1計數(shù)器計數(shù)器+1(N=11+1(N=11時清零時清零) )十二進(jìn)制加法計數(shù)器功能表十二進(jìn)制加法計數(shù)器功能表 (1)構(gòu)思)構(gòu)思擬定設(shè)計方案擬定設(shè)計方案resetenableclkQ011十二進(jìn)制加法計數(shù)器十二進(jìn)制加法計數(shù)器dir1 (2)設(shè)計)設(shè)計編寫編寫VHDL源程序源程序 將將countn源程序中的語句源程序中的語句generic(N: integer:=10)改為改為
12、generic(N: integer:= 12即可。即可。n方案一方案一、仿照、仿照countn重新重新設(shè)計,好處是可以省掉減設(shè)計,好處是可以省掉減法計數(shù)部分的語句,節(jié)省法計數(shù)部分的語句,節(jié)省資源;資源;n方案二方案二、在通用計數(shù)器、在通用計數(shù)器countn源程序的基礎(chǔ)上稍源程序的基礎(chǔ)上稍作修改,好處是可以簡化作修改,好處是可以簡化程序設(shè)計。程序設(shè)計。 (3)實現(xiàn))實現(xiàn)編輯、編譯、仿真、編程編輯、編譯、仿真、編程(4)運行)運行測試、改進(jìn)、總結(jié)測試、改進(jìn)、總結(jié)n仿真時令仿真時令dir為高電平。圖中可以看出,為高電平。圖中可以看出, 由于由于dir=1,N=12,這時,這時countn就變成一個
13、就變成一個十二進(jìn)制加法計數(shù)器。十二進(jìn)制加法計數(shù)器。課后作業(yè):課后作業(yè):n按照按照“構(gòu)思、設(shè)計、實現(xiàn)、運行構(gòu)思、設(shè)計、實現(xiàn)、運行”的步驟,的步驟,完成初值為完成初值為5的六進(jìn)制減法計數(shù)器設(shè)計。的六進(jìn)制減法計數(shù)器設(shè)計。課堂練習(xí):課堂練習(xí):n按照按照“構(gòu)思、設(shè)計、實現(xiàn)、運行構(gòu)思、設(shè)計、實現(xiàn)、運行”的步驟,的步驟,設(shè)計一個初值為設(shè)計一個初值為2的五進(jìn)制雙向計數(shù)器。的五進(jìn)制雙向計數(shù)器。工作任務(wù):工作任務(wù):n1. 分頻器概念分頻器概念n2. 通用分頻器設(shè)計通用分頻器設(shè)計n3. 占空比占空比50%的奇數(shù)分頻器設(shè)計的奇數(shù)分頻器設(shè)計8-3 分頻器的分頻器的VHDL設(shè)計設(shè)計1. 1. 分頻器概念分頻器概念n分頻器
14、功能:分頻器功能: 把頻率較高的信號變成頻率較低的信號。把頻率較高的信號變成頻率較低的信號。n分頻器參數(shù):分頻器參數(shù): 分頻系數(shù):分頻系數(shù): rate=rate=f fin in / / f foutout 占空比:輸出脈沖持續(xù)高電平的時間:周期。占空比:輸出脈沖持續(xù)高電平的時間:周期。n分頻器種類:分頻器種類: 偶數(shù)分頻器、奇數(shù)分頻器、占空比可調(diào)的分頻器。偶數(shù)分頻器、奇數(shù)分頻器、占空比可調(diào)的分頻器。 clkinclkout分頻器分頻器2. 設(shè)計舉例設(shè)計舉例通用分頻器通用分頻器n設(shè)計要求設(shè)計要求:分頻系數(shù)可調(diào),占空比為可調(diào)(占空比為:分頻系數(shù)可調(diào),占空比為可調(diào)(占空比為50%時分頻系數(shù)不能是奇
15、數(shù)時分頻系數(shù)不能是奇數(shù) )。)。n構(gòu)思構(gòu)思: 假設(shè),分頻系數(shù)為假設(shè),分頻系數(shù)為n,占空比為,占空比為m:n(m,n為正整數(shù),且為正整數(shù),且mn;m:n=50%時時n不能為奇數(shù)不能為奇數(shù) )。)。 方案一方案一、用硬件搭接,缺點是電路復(fù)雜,焊點多,可靠性、用硬件搭接,缺點是電路復(fù)雜,焊點多,可靠性、靈活性差;靈活性差; 方案二方案二、用單片機(jī)實現(xiàn),雖然靈活性較好,但速度慢;、用單片機(jī)實現(xiàn),雖然靈活性較好,但速度慢; 方案三方案三、用硬件描述語言(、用硬件描述語言(HDL)編程,用可編程邏輯器件編程,用可編程邏輯器件(PLD)實現(xiàn),好處是可靠性高、靈活性好。)實現(xiàn),好處是可靠性高、靈活性好。clk
16、inclkout分頻器分頻器2. 設(shè)計舉例設(shè)計舉例通用分頻器通用分頻器n設(shè)計:設(shè)計:采用方案三采用方案三 例如,例如,設(shè)計占空比為設(shè)計占空比為30%的的10分頻器分頻器,其輸入輸出波形如下,其輸入輸出波形如下圖所示??梢钥闯?,輸出圖所示??梢钥闯觯敵?個周期個周期=輸入信號的輸入信號的10個周期,個周期,前前3個輸入周期,輸出高電平;后個輸入周期,輸出高電平;后7個輸入周期,輸出低電個輸入周期,輸出低電平。平。 方法方法:設(shè)計一個摸數(shù)為分頻系數(shù):設(shè)計一個摸數(shù)為分頻系數(shù)n的計數(shù)器,對輸入時鐘脈的計數(shù)器,對輸入時鐘脈沖計數(shù),當(dāng)計數(shù)值為沖計數(shù),當(dāng)計數(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修改上述程序中修改上述程序中g(shù)eneric類屬變量類屬變量m和和n的參數(shù)值,的參數(shù)值,即可得到不同分頻系數(shù)和占空比的分頻器。即可得到不同分頻系數(shù)和占空比的分頻器。n實現(xiàn):編輯、編譯、仿真、編程實現(xiàn):編輯、編譯、仿真、編程n運行:測試、改進(jìn)、總結(jié)運行:測試、改進(jìn)、總結(jié)n做做看做做看設(shè)計一個占空比設(shè)計一個占空比40%的的5分頻器分頻器做做看做做看設(shè)計占空比設(shè)計占空比40%的的5分頻器分頻器n構(gòu)思構(gòu)思:因分頻系數(shù)為:因分頻系數(shù)為5,占空比,占空比40%,故取,故取n=5, m=
20、2。n設(shè)計設(shè)計:修改:修改fdivn中中g(shù)eneric類屬變量類屬變量m和和n的參數(shù)的參數(shù)值,令值,令n=5,m=2。n實現(xiàn)實現(xiàn):修改程序并存盤,編譯、仿真。:修改程序并存盤,編譯、仿真。 3. 學(xué)中做學(xué)中做占空比占空比50%的奇數(shù)分頻器設(shè)計的奇數(shù)分頻器設(shè)計n設(shè)計要求:分頻系數(shù)為奇數(shù),占空比設(shè)計要求:分頻系數(shù)為奇數(shù),占空比50%n構(gòu)思:構(gòu)思: 分析:分析:因為計數(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ù),然后把這兩個計數(shù)器的輸出接到這兩個計數(shù)器的輸出接到“或門或門”的輸入,的輸入, “或門或門”的的輸做分頻器的輸出輸做分頻器的輸出clkout。n設(shè)計:設(shè)計: 源程序源程序:占空比為:占空比為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)系上傳者。文件的所有權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自主游戲課程設(shè)計研究現(xiàn)狀
- 健康養(yǎng)生度假村場地合作合同3篇
- 央企采購合同范例
- 國際物流管理教師勞動合同電子版3篇
- 地產(chǎn)選購協(xié)議3篇
- 廣告冠名合同范例
- 同業(yè)存款合同范本3篇
- 合同與協(xié)議詳解它們的區(qū)別和聯(lián)系3篇
- 伐木授權(quán)協(xié)議3篇
- 入股不參與經(jīng)營協(xié)議書3篇
- GB/T 1412-2005球墨鑄鐵用生鐵
- 新疆維吾爾自治區(qū)公共建筑節(jié)能設(shè)計標(biāo)準(zhǔn)實施細(xì)則2023
- 2022年西藏自治區(qū)中考英語真題卷(含答案與解析)
- RCS-9626CN電動機(jī)保護(hù)測控裝置
- 年終總結(jié)運維報告課件
- 體育教學(xué)與信息技術(shù)
- 公司力量觀后感
- 《國際法》形成性考核參考資料廣東開放大學(xué)2022年10月題庫
- 純電動汽車整車控制器(VCU)策略 PPT
- 回轉(zhuǎn)支承實驗臺測試系統(tǒng)設(shè)計畢業(yè)設(shè)計論文
- 危險化學(xué)品MSDS(次氯酸鈉溶液)
評論
0/150
提交評論