![[信息與通信]專題1 數(shù)字系統(tǒng)設(shè)計(jì)進(jìn)階設(shè)計(jì)ppt課件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a0e46b80-0690-4115-8eca-e2248841a9bf/a0e46b80-0690-4115-8eca-e2248841a9bf1.gif)
![[信息與通信]專題1 數(shù)字系統(tǒng)設(shè)計(jì)進(jìn)階設(shè)計(jì)ppt課件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a0e46b80-0690-4115-8eca-e2248841a9bf/a0e46b80-0690-4115-8eca-e2248841a9bf2.gif)
![[信息與通信]專題1 數(shù)字系統(tǒng)設(shè)計(jì)進(jìn)階設(shè)計(jì)ppt課件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a0e46b80-0690-4115-8eca-e2248841a9bf/a0e46b80-0690-4115-8eca-e2248841a9bf3.gif)
![[信息與通信]專題1 數(shù)字系統(tǒng)設(shè)計(jì)進(jìn)階設(shè)計(jì)ppt課件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a0e46b80-0690-4115-8eca-e2248841a9bf/a0e46b80-0690-4115-8eca-e2248841a9bf4.gif)
![[信息與通信]專題1 數(shù)字系統(tǒng)設(shè)計(jì)進(jìn)階設(shè)計(jì)ppt課件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/a0e46b80-0690-4115-8eca-e2248841a9bf/a0e46b80-0690-4115-8eca-e2248841a9bf5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、專題專題1 數(shù)字系統(tǒng)設(shè)計(jì)數(shù)字系統(tǒng)設(shè)計(jì)- 進(jìn)階設(shè)計(jì)進(jìn)階設(shè)計(jì)一、常用組合邏輯電路模塊一、常用組合邏輯電路模塊二、常用時(shí)序邏輯電路模塊二、常用時(shí)序邏輯電路模塊三、三、A/DA/D控制電路控制電路一、一、 常用組合邏輯電路模塊常用組合邏輯電路模塊 任一時(shí)刻的輸出僅僅取決于當(dāng)時(shí)的任一時(shí)刻的輸出僅僅取決于當(dāng)時(shí)的輸入,與電路原來(lái)的狀態(tài)無(wú)關(guān),這輸入,與電路原來(lái)的狀態(tài)無(wú)關(guān),這樣的數(shù)字電路叫做組合邏輯電路。樣的數(shù)字電路叫做組合邏輯電路。 一、一、 常用組合邏輯電路模塊常用組合邏輯電路模塊1編碼器編碼器2譯碼器譯碼器 3比較器比較器 4數(shù)據(jù)選擇器數(shù)據(jù)選擇器 5三態(tài)輸出電路三態(tài)輸出電路6算術(shù)邏輯單元算術(shù)邏輯單元ALU
2、設(shè)計(jì)設(shè)計(jì)1編碼器編碼器A6A7A5A4A3A2A1A0Y2Y1Y083編碼器編碼器ENA7 A6 A5 A4 A3 A2 A1 A0Y2 Y1 Y000000001000000000100010000010001000001000011000100001000010000010101000000110100000001112譯碼器譯碼器38譯碼器譯碼器A6A7A5A4A3A2A1A0Y2Y1Y0ENa. 38譯碼器譯碼器例如設(shè)計(jì)例如設(shè)計(jì):四位二進(jìn)制四位二進(jìn)制-BCD碼,然后將碼,然后將BCD碼碼-七段顯示器碼。七段顯示器碼。1當(dāng)輸入為當(dāng)輸入為09的數(shù)時(shí),其十位數(shù)為的數(shù)時(shí),其十位數(shù)為0,個(gè)位數(shù),
3、個(gè)位數(shù)=輸入。輸入。當(dāng)輸入為當(dāng)輸入為1015的數(shù)時(shí),其十位數(shù)為的數(shù)時(shí),其十位數(shù)為1,個(gè)位數(shù),個(gè)位數(shù)=輸入輸入-10。2然后將十位和個(gè)位的然后將十位和個(gè)位的BCD碼轉(zhuǎn)換為七段顯示器碼。碼轉(zhuǎn)換為七段顯示器碼。 2譯碼器譯碼器b. 碼制轉(zhuǎn)換碼制轉(zhuǎn)換 3比較器比較器 AGTBBLTBAEQBAB假如假如 ab, 輸出為:輸出為:agtb=1, altb= 0 , aeqb=0;假如假如 ab, 輸出為:輸出為:altb=1, agtb= 0 , aeqb=0;假如假如 a=b, 輸出為:輸出為:aeqb=1, agtb= 0 , altb=0。4數(shù)據(jù)選擇器數(shù)據(jù)選擇器 ABCDZS0S15三態(tài)輸出電路三
4、態(tài)輸出電路 library ieee;use ieee.std_logic_1164.all;entity triout is genericbussize: integer:=8; port data_in:in std_logic_vectorbussize-1 downto 0; en:in std_logic; data_out:out std_logic_vectorbussize-1 downto 0;end triout;architecture behave of triout is begin data_outZ; end behave; -注意此處的注意此處的“Z要大寫(xiě);要
5、大寫(xiě);AENB6算術(shù)邏輯單元算術(shù)邏輯單元ALU電路設(shè)計(jì)電路設(shè)計(jì) 算術(shù)電路單元算術(shù)電路單元 邏輯電路單元邏輯電路單元21數(shù)據(jù)數(shù)據(jù)選擇器選擇器輸輸出出CinABS0S1S21算術(shù)電路單元的設(shè)計(jì)算術(shù)電路單元的設(shè)計(jì) 2邏輯電路單元的設(shè)計(jì)邏輯電路單元的設(shè)計(jì)3 21數(shù)據(jù)選擇器的設(shè)計(jì)數(shù)據(jù)選擇器的設(shè)計(jì)ALU運(yùn)算功能運(yùn)算功能功能選擇功能選擇輸出輸出F執(zhí)行操作執(zhí)行操作S2S1S0000F=A+B+Cin加法加法A+B+Cin01F=A-B-Cin減法減法A-B-Cin10F=A+Cin傳遞傳遞A +Cin11F=A-Cin傳遞傳遞A-Cin100F=ABAND01F=ABOR10F=A+BXOR11F=NOT A
6、NOT算術(shù)電路單元算術(shù)電路單元 邏輯電路單元邏輯電路單元21數(shù)據(jù)數(shù)據(jù)選擇器選擇器輸輸出出CinABS0S1S2Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity malu is genericn : integer:=8; Port s : in std_logic_vector2 downto 0; -運(yùn)算功能選擇信號(hào)運(yùn)算功能選擇信號(hào) Cin : in std_logic; -初始進(jìn)位初始進(jìn)位 A,B : in std_logic_vectorn-1 downto 0; -兩個(gè)運(yùn)算輸入
7、信號(hào)兩個(gè)運(yùn)算輸入信號(hào) F : out std_logic_vectorn-1 downto 0; -運(yùn)算結(jié)果輸出信號(hào)運(yùn)算結(jié)果輸出信號(hào) Cout: out std_logic; -運(yùn)算進(jìn)位輸出信號(hào)運(yùn)算進(jìn)位輸出信號(hào)End malu;Architecture arith of malu is Signal F1 : std_logic_vectorn downto 0; -保存算術(shù)運(yùn)算結(jié)保存算術(shù)運(yùn)算結(jié)果果 Signal F2 : std_logic_vectorn-1 downto 0; -保存邏輯運(yùn)算結(jié)保存邏輯運(yùn)算結(jié)果果BeginB1: Blockbegin processs1 downto 0
8、begin case S1 downto 0 is when 00= F1 F1 F1 F1 F2 F2F2F2=not A; -Not end case; end process;end block B2;B3: blockBegin F= F1n-1 downto 0 when s2=0 else F2; Cout1000-111LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ffd ISPORT cp,d: IN STD_LOGIC; q: OUT STD_LOGIC;END ffd;ARCHITECTURE a OF ffd ISBEGI
9、N processcp begin if cpevent and cp=1 then q1Not Qn-1 LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY fft ISPORT cp: IN STD_LOGIC; q: OUT STD_LOGIC;END fft;ARCHITECTURE a OF fft IS signal qn: std_logic;BEGIN processcp begin if cpevent and cp=1 then qn= not qn; end if; end process; q=qn;END a; D QCP
10、QRS型觸發(fā)器型觸發(fā)器SRQ00 0Qn-101010111不定不定 LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY ffrs ISPORT s,r: IN STD_LOGIC; q,nq: OUT STD_LOGIC;END ffrs;ARCHITECTURE a OF ffrs IS signal qn,nqn: std_logic;BEGIN qn= r nor nqn; nqn= s nor qn; q=qn; nq0; elsif clkEvent and clk = 1 then q3:= q2; q2:= q1; q1:= q0;
11、q0:= din; end if; qout=q; end process; End behave;D QClk QDinClkD QClk QQ0D QClk QQ1D QClk QQ2Q3考慮:還有沒(méi)有第二種語(yǔ)言表示方法進(jìn)展移位?考慮:還有沒(méi)有第二種語(yǔ)言表示方法進(jìn)展移位?延遲電路設(shè)計(jì)延遲電路設(shè)計(jì)QD QCPDinCPD QCPQD QCPQQ1Q2Q3LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;Entity Delay ISPORT Din,clk: IN STD_LOGIC; Q1,Q2
12、,Q3: OUT STD_LOGIC;END Delay;ARCHITECTURE a OF Delay IS Signal N1,N2,N3: STD_LOGIC;BEGIN ProcessDin,clk begin if clkevent and clk=1 then N3=N2; N2=N1; N1=Din; end if; end process; Q3=N3; Q2=N2; Q1=N1;END a;微分電路設(shè)計(jì)微分電路設(shè)計(jì)QD QCPDinCPD QCPQQ1Q2OP1OP2微分電路應(yīng)用微分電路應(yīng)用-計(jì)數(shù)器電路中計(jì)數(shù)器電路中 該微分電路接上計(jì)數(shù)器就構(gòu)成了一個(gè)同步計(jì)數(shù)器。這種計(jì)數(shù)器多了
13、一個(gè)該微分電路接上計(jì)數(shù)器就構(gòu)成了一個(gè)同步計(jì)數(shù)器。這種計(jì)數(shù)器多了一個(gè)“同步控制信號(hào)同步控制信號(hào)EC,計(jì)數(shù)器是否計(jì)數(shù)就由它來(lái),計(jì)數(shù)器是否計(jì)數(shù)就由它來(lái)控制控制。 假如將觸發(fā)計(jì)數(shù)器計(jì)數(shù)的信號(hào)假如將觸發(fā)計(jì)數(shù)器計(jì)數(shù)的信號(hào)Din直接接計(jì)數(shù)器控制管腳直接接計(jì)數(shù)器控制管腳EC,本來(lái)只希望計(jì),本來(lái)只希望計(jì)數(shù)一次,可能因?yàn)檩斎胄盘?hào)數(shù)一次,可能因?yàn)檩斎胄盘?hào)Din過(guò)長(zhǎng),超過(guò)一個(gè)時(shí)鐘脈沖周期,導(dǎo)致計(jì)數(shù)器發(fā)生過(guò)長(zhǎng),超過(guò)一個(gè)時(shí)鐘脈沖周期,導(dǎo)致計(jì)數(shù)器發(fā)生誤動(dòng)作,多計(jì)數(shù)。誤動(dòng)作,多計(jì)數(shù)。 因此,可在因此,可在計(jì)數(shù)器前接一微分電路計(jì)數(shù)器前接一微分電路,先將輸入信號(hào),先將輸入信號(hào)Din微分成微分成僅有一個(gè)時(shí)鐘僅有一個(gè)時(shí)鐘脈沖周期寬的
14、信號(hào)脈沖周期寬的信號(hào),再提供給計(jì)數(shù)器,可進(jìn)步計(jì)數(shù)器的準(zhǔn)確性。,再提供給計(jì)數(shù)器,可進(jìn)步計(jì)數(shù)器的準(zhǔn)確性。 考慮:為什么考慮:為什么EC可以使能計(jì)數(shù)?為什么可以使能計(jì)數(shù)?為什么Diff信號(hào)接到信號(hào)接到EC腳而不是腳而不是CP腳?腳?QD QCPDinCPD QCPQQ1Q2DiffEC Q CP計(jì)數(shù)器計(jì)數(shù)器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY Diff is PORT Din,Clk : INSTD_LOGIC; OP1,OP2 : OUT STD_LOGIC ;END Diff
15、;ARCHITECTURE a OF Diff IS SIGNAL Q1,Q2 : STD_LOGIC;BEGINPROCESS ClkBEGIN If Clkevent AND Clk=1 THEN Q2 = Q1; Q1 = Din; End if;END PROCESS;OP1 = Q1 AND NOT Q2;OP2 = NOT Q1 AND Q2;END a;鍵盤(pán)消抖電路鍵盤(pán)消抖電路對(duì)于機(jī)械按鍵,雖然只是按下一次然后放掉,對(duì)于機(jī)械按鍵,雖然只是按下一次然后放掉,結(jié)果在按鍵信號(hào)穩(wěn)定前后會(huì)出現(xiàn)一些不該存結(jié)果在按鍵信號(hào)穩(wěn)定前后會(huì)出現(xiàn)一些不該存在的噪聲,如下圖。假如將這樣的信號(hào)直接在的噪聲,如
16、下圖。假如將這樣的信號(hào)直接輸入給計(jì)數(shù)器,結(jié)果將可能發(fā)生計(jì)數(shù)超過(guò)一輸入給計(jì)數(shù)器,結(jié)果將可能發(fā)生計(jì)數(shù)超過(guò)一次以上的錯(cuò)誤。次以上的錯(cuò)誤。設(shè)計(jì)原理:設(shè)計(jì)原理:1一般人的按鍵速度至多是一般人的按鍵速度至多是10次次/秒,即一次按鍵秒,即一次按鍵時(shí)間是時(shí)間是100ms,所以按下的時(shí)間可估算為,所以按下的時(shí)間可估算為50ms。假設(shè)。假設(shè)采樣信號(hào)采樣信號(hào)Sample周期為周期為8ms,那么可采樣到,那么可采樣到6次。次。2對(duì)于不穩(wěn)定的噪聲在對(duì)于不穩(wěn)定的噪聲在4ms以下,那么至多可采樣以下,那么至多可采樣到一次。到一次。3對(duì)于如圖電路,對(duì)于如圖電路,RS的組態(tài)僅有三種。的組態(tài)僅有三種。QD QCPKeySamD
17、 QCPQQ1Q2OPS QRQ鍵盤(pán)消抖電路鍵盤(pán)消抖電路Q1Q2SROP000100100不變不變1000不變不變11101QD QCPKeySamD QCPQQ1Q2OPS QRQ結(jié)論:結(jié)論:對(duì)按鍵信號(hào)對(duì)按鍵信號(hào)只有采樣到兩次只有采樣到兩次1才會(huì)輸出才會(huì)輸出1,兩次,兩次0才會(huì)輸出才會(huì)輸出0。否那。否那么保持原狀態(tài)不變。么保持原狀態(tài)不變。4假如按鍵信號(hào)用于計(jì)數(shù)器計(jì)數(shù),那么消抖以假如按鍵信號(hào)用于計(jì)數(shù)器計(jì)數(shù),那么消抖以后可能寬度過(guò)長(zhǎng),而導(dǎo)致超過(guò)計(jì)數(shù)后可能寬度過(guò)長(zhǎng),而導(dǎo)致超過(guò)計(jì)數(shù)1次以上的錯(cuò)誤次以上的錯(cuò)誤發(fā)生,所以最好后面再接一個(gè)微分電路。發(fā)生,所以最好后面再接一個(gè)微分電路。QD QCPKeySa
18、mD QCPQQ1Q2DlyoutS QRQQD QCPDinclkD QCPQD1D2DiffoutEC Q CP計(jì)數(shù)器計(jì)數(shù)器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY Debunce isPORT Clk : IN STD_LOGIC; Key : IN STD_LOGIC; DLY_OUT : OUT STD_LOGIC; DIF_OUT: OUT STD_LOGIC ;END Debunce;ARCHITECTURE a OF Debunce ISSIGNAL SAMPL
19、E, DLY, NDLY, DIFF: STD_LOGIC; BEGINQD QCPKeyClkD QCPQQ1Q2DlyoutS QRQQD QCPDinclkD QCPQD1D2Diffout分頻器分頻器Free_Counter : Block Signal Q : STD_LOGIC_VECTOR3 Downto 0;Signal tmp : STD_LOGIC;BeginPROCESS Clk BeginIF ClkEvent AND Clk=1 thentmp = Q2;Q = Q+1;END IF;END PROCESS;SAMPLE = Q2 AND NOT tmp; -abou
20、t 8 ms END Block;QD QCPKeyClkD QCPQQ1分頻器分頻器Q2Debunce : BlockSIGNAL Q0,Q1, S, R : STD_LOGIC; BeginProcess ClkBeginIF ClkEVENT AND Clk=1 THENIF SAMPLE = 1 THENQ1 = Q0; Q0 = KEY;S = Q0 AND Q1;R = NOT Q0 AND NOT Q1;END IF;END IF;End Process;DLY = R NOR NDLY;NDLY =S NOR DLY;DLY_OUT = DLY;End Block Debunc
21、e;Differential : BlockSignal D1,D2 : STD_LOGIC;BEGINProcess ClkBeginIF ClkEVENT AND Clk=1 THEND2 = D1; D1 = DLY;END IF;End Process;DIFF = D1 AND NOT D2;END Block Differential;DIF_OUT = DIFF;END a;3計(jì)數(shù)器設(shè)計(jì)計(jì)數(shù)器設(shè)計(jì)LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count IS Gene
22、ricn : integer := 3;PORT clk: in STD_LOGIC; q: out STD_LOGIC_vectorn-1 downto 0;END count;ARCHITECTURE a OF count IS signal tmp: STD_LOGIC_vectorn-1 downto 0;BEGIN processclk begin if clkevent and clk=1 then tmp=tmp+1; end if; end process; q=tmp;END a;n位二進(jìn)制加法計(jì)數(shù)器位二進(jìn)制加法計(jì)數(shù)器24進(jìn)進(jìn)制計(jì)制計(jì)數(shù)器數(shù)器ENQAQBCLKLIBRARY
23、ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count24 ISPORT en,Reset,clk: in STD_LOGIC; qa: out STD_LOGIC_VECTOR3 DOWNTO 0; -個(gè)位數(shù)計(jì)數(shù)個(gè)位數(shù)計(jì)數(shù) qb: out STD_LOGIC_VECTOR1 DOWNTO 0; -十位數(shù)計(jì)數(shù)十位數(shù)計(jì)數(shù)END count24;ARCHITECTURE a1 OF count24 ISBEGINprocessclkvariable tma: STD_LOGIC_VECTOR3 DO
24、WNTO 0;variable tmb: STD_LOGIC_VECTOR1 DOWNTO 0;ResetbeginIf Reset = 0 then tma:=0000; tmb:=00; else if clkevent and clk=1 then if en=1 then if tma=1001 then tma:=0000;tmb:=tmb+1; -假如個(gè)位數(shù)為假如個(gè)位數(shù)為9,個(gè)位數(shù)清零,十位數(shù)加一,個(gè)位數(shù)清零,十位數(shù)加一 elsif tmb=10 and tma=0011 then tma:=0000;tmb:=00; -假如十位數(shù)為假如十位數(shù)為2,個(gè)位數(shù)為,個(gè)位數(shù)為3,個(gè)位數(shù)十位
25、數(shù)均清零,個(gè)位數(shù)十位數(shù)均清零 else tma:=tma+1; -以上條件均不滿足,那么個(gè)位數(shù)加以上條件均不滿足,那么個(gè)位數(shù)加一一 end if; end if; end if;end if; qa=tma;qb=tmb; 將結(jié)果輸出將結(jié)果輸出end process;END a1;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count60 ISPORT en,Reset,clk: in STD_LOGIC; qa: out STD_LOGIC_VECTOR3 DOWNTO 0;
26、-個(gè)位數(shù)計(jì)數(shù)個(gè)位數(shù)計(jì)數(shù) qb: out STD_LOGIC_VECTOR2 DOWNTO 0; -十位數(shù)計(jì)數(shù)十位數(shù)計(jì)數(shù) rco: OUT STD_LOGIC; -計(jì)數(shù)進(jìn)位計(jì)數(shù)進(jìn)位END count60;ARCHITECTURE a OF count60 ISBEGINprocessclkvariable tma: STD_LOGIC_VECTOR3 DOWNTO 0;variable tmb: STD_LOGIC_VECTOR2 DOWNTO 0;60進(jìn)進(jìn)制計(jì)制計(jì)數(shù)器數(shù)器ENQAQBCLKRCOResetbeginIf Reset =0 then tma:=0000; tmb:=0000; e
27、lse if clkevent and clk=1 thenif en=1 thenrco=tmb2and tmb0and tma3and tma0; -計(jì)算是否有進(jìn)位,即是否計(jì)數(shù)超過(guò)計(jì)算是否有進(jìn)位,即是否計(jì)數(shù)超過(guò)59,超過(guò)那么有進(jìn)位,否那么無(wú)進(jìn),超過(guò)那么有進(jìn)位,否那么無(wú)進(jìn)位位 if tma=1001 then tma:=0000; -假如個(gè)位數(shù)為假如個(gè)位數(shù)為9,那么個(gè)位數(shù)清零,那么個(gè)位數(shù)清零 if tmb=101 then tmb:=000; else tmb:=tmb+1; end if; -假如十位數(shù)為假如十位數(shù)為5,那么十位數(shù)清零,否那么十位數(shù)加一,那么十位數(shù)清零,否那么十位數(shù)加一 e
28、lse tma:=tma+1; -假如個(gè)位數(shù)不為假如個(gè)位數(shù)不為9,那么個(gè)位數(shù)加一,那么個(gè)位數(shù)加一 end if; end if; end if; end if;qa=tma;qb=tmb; 將結(jié)果輸出將結(jié)果輸出end process;END a;4 分頻器設(shè)計(jì)分頻器設(shè)計(jì) 計(jì)數(shù)器就是對(duì)時(shí)鐘脈沖計(jì)數(shù),同時(shí)計(jì)數(shù)器還是一個(gè)分頻器。計(jì)數(shù)器就是對(duì)時(shí)鐘脈沖計(jì)數(shù),同時(shí)計(jì)數(shù)器還是一個(gè)分頻器。以下圖為一個(gè)以下圖為一個(gè)3位的計(jì)數(shù)器的仿真波形圖。位的計(jì)數(shù)器的仿真波形圖。 一個(gè)一個(gè)3 bits的計(jì)數(shù)器,它所能計(jì)數(shù)的范圍為的計(jì)數(shù)器,它所能計(jì)數(shù)的范圍為07=23-1。同。同理,理,n bits的計(jì)數(shù)器所能計(jì)數(shù)范圍為的計(jì)數(shù)器
29、所能計(jì)數(shù)范圍為02n-1。 Q0、Q1、Q2的波形頻率分別為時(shí)鐘脈沖信號(hào)的波形頻率分別為時(shí)鐘脈沖信號(hào)Clk的的1/2、1/4、1/8,由此可以知道,由此可以知道,n bits的計(jì)數(shù)器可獲得的最低分頻頻率為時(shí)的計(jì)數(shù)器可獲得的最低分頻頻率為時(shí)鐘脈沖信號(hào)鐘脈沖信號(hào)Clk的的1/2n。 輸出信號(hào)輸出信號(hào)Q2downto 0的頻率等于信號(hào)的頻率等于信號(hào)Q2的頻率,信號(hào)的頻率,信號(hào)Q2downto 1的頻率也為信號(hào)的頻率也為信號(hào)Q2的頻率。由此可以知道,矢的頻率。由此可以知道,矢量信號(hào)的頻率為最高位信號(hào)的頻率。量信號(hào)的頻率為最高位信號(hào)的頻率。對(duì)于對(duì)于4MHz頻率信號(hào),假設(shè)得到頻率信號(hào),假設(shè)得到1Hz時(shí)鐘脈
30、沖信號(hào)時(shí)鐘脈沖信號(hào)Clk,通過(guò),通過(guò)公式公式f=1/2n可計(jì)算出可計(jì)算出n22,即應(yīng)設(shè)計(jì)一個(gè),即應(yīng)設(shè)計(jì)一個(gè)22位的計(jì)數(shù)器。位的計(jì)數(shù)器。4MHz到到1Hz的分頻器的分頻器 LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count ISPORT clk: in STD_LOGIC; q: out STD_LOGIC;END count;ARCHITECTURE a OF count ISsignal tmp: STD_LOGIC_vector21 downto 0;Beginproce
31、ssclk beginif clkevent and clk=1 then tmp=tmp+1;end if;end process;q=tmp21;END a;數(shù)控分頻器設(shè)計(jì)數(shù)控分頻器設(shè)計(jì) 對(duì)于一個(gè)加法計(jì)數(shù)器,裝載不同的計(jì)數(shù)對(duì)于一個(gè)加法計(jì)數(shù)器,裝載不同的計(jì)數(shù)初始值時(shí),會(huì)有不同頻率的溢出輸出信號(hào)。初始值時(shí),會(huì)有不同頻率的溢出輸出信號(hào)。 計(jì)數(shù)器溢出時(shí),輸出計(jì)數(shù)器溢出時(shí),輸出1電平,電平,同時(shí)溢出同時(shí)溢出時(shí)的時(shí)的1電平反響給計(jì)數(shù)器的輸入端作為裝載信電平反響給計(jì)數(shù)器的輸入端作為裝載信號(hào);號(hào);否那么輸出否那么輸出0電平。電平。Library ieee;Use ieee.std_logic_1164.a
32、ll;Entity speaker isPort clk : in std_logic; Freq_num : in integer range 0 to 2047; -16#7FF# speaker : out std_logic;End speaker;Architecture a1 of speaker is signal power_speaker : std_logic;beginProcessclk variable count11bit: integer range 0 to 2047;Begin if clkevent and clk=1 then if count11bit=
33、2047 then count11bit:=Freq_num; power_speaker=1; else count11bit:=count11bit+1; power_speaker=0; end if; end if;end process;-將輸出再進(jìn)展將輸出再進(jìn)展2分頻,將脈沖展寬,以使揚(yáng)聲器有足夠功率發(fā)音分頻,將脈沖展寬,以使揚(yáng)聲器有足夠功率發(fā)音processpower_speaker variable count2bit: std_logic;Begin if power_speakerevent and power_speaker=1 then count2bit:=not c
34、ount2bit; if count2bit=1 then speaker=1; else speaker tone tone tone tone tone tone tone tone tone tone tone tone tone tone tone tone tone=2047;End case; End process; End a1;35 63 5 65 31 2 音音調(diào)調(diào)音音符符1234567初初始始值值高高1730175017701790181518301930中中1410149015601600162216501690低低77391210361116119712901372次
35、次低低100200300400500600700Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity top isPort clk : in std_logic; spkout : out std_logic;End top;Architecture a1 of top iscomponent tonePort index : in integer range 0 to 16; tone : out integer range 0 to 16#7FF#;end component;comp
36、onent speakerPort clk : in std_logic; Freq_in : in integer range 0 to 16#7FF#; speaker : out std_logic;end component;signal index1 : integer range 0 to 16;signal tone2 : integer range 0 to 16#7FF#;signal ck4: std_logic;beginprocessclk variable q : std_logic_vector17 downto 0;Begin if clkevent and cl
37、k=1 then q:=q+1; end if; ck=q17;end process;processckBegin if ckevent and ck=1 then if index1=15 then index1=0; else index1=index1+1; end if; end if;end process;u1: tone port mapindex1,tone2;u2: speaker port mapclk,tone2,spkout;End a1;5 ROM設(shè)計(jì)設(shè)計(jì) ROMAddrOeDLibrary ieee;Use ieee.std_logic_1164.all;Enti
38、ty rom isPortaddr : in std_logic_vector3 downto 0; oe : in std_logic; D : out std_logic_vector7 downto 0;End rom;Architecture a of rom isBegind=00000001 when addr=0000 and oe=1 else 00000100 when addr=0001 and oe=1 else 00010100 when addr=0010 and oe=1 else 00100100 when addr=0011 and oe=1 else 0000
39、0101 when addr=0100 and oe=1 else 00000110 when addr=0101 and oe=1 else 00010001 when addr=0110 and oe=1 else 00100001 when addr=0111 and oe=1 else 00100001 when addr=1000 and oe=1 else 01000001 when addr=1001 and oe=1 else 10000001 when addr=1010 and oe=1 else 01111001 when addr=1011 and oe=1 else
40、01111101 when addr=1100 and oe=1 else 01111101 when addr=1101 and oe=1 else 00111111 when addr=1110 and oe=1 else 10111111;End a;6堆棧設(shè)計(jì)堆棧設(shè)計(jì)fullDoutStackDinPushPopResetClkempty堆棧存儲(chǔ)數(shù)據(jù)的特點(diǎn):堆棧存儲(chǔ)數(shù)據(jù)的特點(diǎn):按照先入后出、后入先出的原那么存儲(chǔ)數(shù)據(jù)。按照先入后出、后入先出的原那么存儲(chǔ)數(shù)據(jù)。 fullDoutStackDinPushPopResetClkempty16字節(jié)的堆棧字節(jié)的堆棧 library ieee;use
41、 ieee.std_logic_1164.all;entity mstack is portreset,push,pop,clk:in std_logic; din:in std_logic_vector7 downto 0; empty,full:out std_logic; dout:out std_logic_vector7 downto 0;end mstack;architecture a1 of mstack is type stack is array 15 downto 0 of std_logic_vector7 downto 0;begin processclk,reset
42、 variable s: stack; variable x: std_logic; 標(biāo)記堆棧是否滿標(biāo)記堆棧是否滿 variable cnt: integer range 0 to 15; 堆棧指針堆棧指針 begin16字節(jié)的堆棧字節(jié)的堆棧 if reset=1 then dout=00000000; x:=0; cnt:=0; else if clkevent and clk=1 then if push=1 and pop=0 and x=0 then if cnt/=15 then empty=0; scnt:=din; cnt:=cnt+1; else s15:=din; x:=1;
43、 end if; elsif push=0and pop=1 and cnt/=0 then if x=0 then cnt:=cnt-1; dout=scnt; else dout=s15; x:=0; end if; elsif cnt=0 then empty=1; end if; end if; end if; full=x; end process;end a1; cnt考慮:這個(gè)例子是不是空遞增堆棧?考慮:這個(gè)例子是不是空遞增堆棧?FIFOFIFO如何實(shí)現(xiàn)?如何實(shí)現(xiàn)?7狀態(tài)機(jī)的電路設(shè)計(jì)狀態(tài)機(jī)的電路設(shè)計(jì) 我們可以用我們可以用輸入信號(hào)輸入信號(hào)X和和電路狀態(tài)電路狀態(tài)Q來(lái)描繪時(shí)序電路的邏輯
44、來(lái)描繪時(shí)序電路的邏輯功能,這時(shí)時(shí)序電路稱為功能,這時(shí)時(shí)序電路稱為狀態(tài)機(jī)狀態(tài)機(jī)State Machine。根據(jù)輸出信號(hào)和輸入信號(hào)以及電路狀態(tài)的關(guān)系,狀態(tài)機(jī)可根據(jù)輸出信號(hào)和輸入信號(hào)以及電路狀態(tài)的關(guān)系,狀態(tài)機(jī)可以分為兩種:以分為兩種:穆?tīng)柲聽(tīng)朚oore型型和和米利米利Mealy型型。Y=FX,Q Y=FQ 米利米利Mealy型:型:穆?tīng)柲聽(tīng)朚oore型:型:一個(gè)簡(jiǎn)單一個(gè)簡(jiǎn)單More型狀態(tài)機(jī)型狀態(tài)機(jī) S0S2S3/1S1/1/0/01 More型狀態(tài)機(jī)型狀態(tài)機(jī) S0S20/01/0S31/0S11/10/00/10/01/0輸入信號(hào)影響狀態(tài)的轉(zhuǎn)換。輸入信號(hào)影響狀態(tài)的轉(zhuǎn)換。輸出信號(hào)和輸入信號(hào)無(wú)關(guān)。輸出信
45、號(hào)和輸入信號(hào)無(wú)關(guān)。LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY more ISPORT Clk,reset: in Std_logic; din: in Std_logic; op: out Std_logic;END more;ARCHITECTURE a OF more ISTYPE STATE_TYPE IS s0, s1, s2,s3;SIGNAL state: STATE_TYPE;BEGINS0S20/01/0S31/0S11/10/00/10/01/0PROCESS clk,resetBEGIN If reset = 1 THEN
46、state IF din=1 THEN state = s1; else state IF din=0 THEN state = s2; else state IF din=0 THEN state=s3; else state IF din=1 THEN state = s0; else state=s1;END IF;End Case; End if; End if;End process; op=1 when state=s1 else 0; END a;S0S20/01/0S31/0S11/10/00/10/01/02 Mealy型狀態(tài)機(jī)型狀態(tài)機(jī) S0S20/01/0S31/1S11/
47、10/00/00/11/1LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY mealy ISPORT Clk,reset: IN STD_LOGIC; -clock din: IN STD_LOGIC; op: OUT STD_LOGIC;END mealy;ARCHITECTURE a OF mealy ISTYPE STATE_TYPE IS s0, s1, s2,s3;SIGNAL state: STATE_TYPE;BEGINS0S20/01/0S31/1S11/10/00/00/11/1PROCESS clk,reset BEGINIf
48、reset = 1 THENstate IF din=1 THEN state = s1; else stateIF din=0 THEN state = s2; else state IF din=0 THEN state=s3; else state IF din=1 THEN state = s0; else state=s1;END IF;END CASE;End if; End if; END PROCESS; op=1 when state=s0 and din=1 or state=s1 and din=1 or state=s3 and din=1 else 0; -輸出不僅與
49、狀態(tài)有關(guān),而且和輸入有關(guān)輸出不僅與狀態(tài)有關(guān),而且和輸入有關(guān)。END a; S0S20/01/0S31/1S11/10/00/00/11/1三、A/D控制邏輯電路的實(shí)現(xiàn)1ADC0809控制電路實(shí)現(xiàn)仿真控制電路實(shí)現(xiàn)仿真2TLC5510控制電路實(shí)現(xiàn)仿真控制電路實(shí)現(xiàn)仿真+下載實(shí)現(xiàn)下載實(shí)現(xiàn)A/D轉(zhuǎn)換控制轉(zhuǎn)換控制ADC0809是是CMOS的的8位位A/D轉(zhuǎn)換器,片內(nèi)有轉(zhuǎn)換器,片內(nèi)有8路模擬路模擬開(kāi)關(guān),可控制開(kāi)關(guān),可控制8個(gè)模擬量中個(gè)模擬量中的一個(gè)進(jìn)入轉(zhuǎn)換器中。的一個(gè)進(jìn)入轉(zhuǎn)換器中。ADC0809的分辨率為的分辨率為8位,位,轉(zhuǎn)換時(shí)間約轉(zhuǎn)換時(shí)間約100us128us,含鎖存控制的含鎖存控制的8路多路開(kāi)關(guān),路多
50、路開(kāi)關(guān),輸出有三態(tài)緩沖器控制,單輸出有三態(tài)緩沖器控制,單5V電源供電。電源供電。雙列直插式封裝,共有雙列直插式封裝,共有28條條引腳。引腳。引腳說(shuō)明:引腳說(shuō)明:1IN0IN7:8路模擬電壓輸入,用于輸入被轉(zhuǎn)換的模擬電壓信號(hào)。路模擬電壓輸入,用于輸入被轉(zhuǎn)換的模擬電壓信號(hào)。2地址輸入和控制地址輸入和控制ALE為地址鎖存允許控制,高電平有效。當(dāng)其為高電平時(shí),為地址鎖存允許控制,高電平有效。當(dāng)其為高電平時(shí),ADDA、ADDB和和ADDC三條地址線上地址信號(hào)得以鎖存。三條地址線上地址信號(hào)得以鎖存。3數(shù)字量輸出及控制線數(shù)字量輸出及控制線START為為“啟動(dòng)脈沖輸入,寬度應(yīng)大于啟動(dòng)脈沖輸入,寬度應(yīng)大于100
51、ns,上升沿清零內(nèi)部存放器,下降,上升沿清零內(nèi)部存放器,下降沿啟動(dòng)沿啟動(dòng)ADC工作。工作。EOC為轉(zhuǎn)換完畢輸出線,該線上高電平表示轉(zhuǎn)換完畢。為轉(zhuǎn)換完畢輸出線,該線上高電平表示轉(zhuǎn)換完畢。D0D7為數(shù)字量輸出線,為數(shù)字量輸出線,D7為最高位。為最高位。OE為為“輸出允許輸出允許 線,高電平有效。線,高電平有效。4電源線及其它電源線及其它CLOCK為時(shí)鐘輸入線為時(shí)鐘輸入線最大最大800KHz,可接,可接640KHz時(shí)鐘,用于提供逐次比較時(shí)鐘,用于提供逐次比較所需時(shí)鐘。所需時(shí)鐘。VCC為為+5V電源輸入線,電源輸入線,GND為地線。為地線。VREF+和和VREF-為參考電壓輸入線。為參考電壓輸入線。
52、VREF+常常VCC相連,相連,VREF-常接地或負(fù)電源電壓。常接地或負(fù)電源電壓。A/D轉(zhuǎn)換控制轉(zhuǎn)換控制A/D采樣采樣控制顯示控制顯示電路電路D7.0Q7.0ClkEocOEAddaALEStartLibrary ieee;Use ieee.std_logic_1164.all;ENTITY ADCINT IS PORT D : IN STD_LOGIC_VECTOR7 DOWNTO 0; -0809的的8位轉(zhuǎn)換數(shù)據(jù)輸出位轉(zhuǎn)換數(shù)據(jù)輸出 CLK ,EOC : IN STD_LOGIC; -CLK是轉(zhuǎn)換工作時(shí)鐘是轉(zhuǎn)換工作時(shí)鐘 ALE, START, OE, ADDA : OUT STD_LOGIC; Q : OUT STD_LOGIC_VECTOR7 DOWNTO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市政道路瀝青施工方案
- 水泥砂漿砌筑磚墻施工方案
- 2025年中國(guó)梅花鹿茸盤(pán)粉市場(chǎng)調(diào)查研究報(bào)告
- Unit 1 Visiting Canada(教學(xué)設(shè)計(jì))2023-2024學(xué)年人教新起點(diǎn)版英語(yǔ)六年級(jí)下冊(cè)
- 2025年中國(guó)共燒陶瓷電熱元件市場(chǎng)調(diào)查研究報(bào)告
- 2024-2025學(xué)年高中物理第三章5核裂變練習(xí)含解析教科版選修3-5
- 2024年高中語(yǔ)文5荊軻刺秦王練習(xí)含解析新人教版必修1
- 習(xí)作:身邊那些有特點(diǎn)的人(教學(xué)設(shè)計(jì))2023-2024學(xué)年-部編版語(yǔ)文三年級(jí)下冊(cè)
- 2024-2025版教材新高中化學(xué)第3章第2節(jié)第1課時(shí)自然界中不同價(jià)態(tài)的硫元素及其之間的轉(zhuǎn)化練習(xí)含解析魯科版必修第一冊(cè)
- 第21課《莊子二則-北冥有魚(yú)》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版語(yǔ)文八年級(jí)下冊(cè)
- 改革開(kāi)放前后家鄉(xiāng)的變化教學(xué)課件
- 一年級(jí)的成長(zhǎng)歷程
- 湖北省普通高中2022-2023學(xué)年高一下學(xué)期學(xué)業(yè)水平合格性考試模擬物理(二)含解析
- 2024年濟(jì)南工程職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 癔癥護(hù)理查房
- 駱駝祥子祥子成長(zhǎng)經(jīng)歷
- 團(tuán)隊(duì)協(xié)作和領(lǐng)導(dǎo)力
- 奮力前行迎接挑戰(zhàn)主題班會(huì)課件
- 紅木家具通用技術(shù)條件解析
- 病毒性肺炎疾病演示課件
- 沃爾沃S60L 2014款說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論