數(shù)字電路與邏輯設(shè)計(jì) 基于VHDL的數(shù)字邏輯設(shè)計(jì)2_第1頁
數(shù)字電路與邏輯設(shè)計(jì) 基于VHDL的數(shù)字邏輯設(shè)計(jì)2_第2頁
數(shù)字電路與邏輯設(shè)計(jì) 基于VHDL的數(shù)字邏輯設(shè)計(jì)2_第3頁
數(shù)字電路與邏輯設(shè)計(jì) 基于VHDL的數(shù)字邏輯設(shè)計(jì)2_第4頁
數(shù)字電路與邏輯設(shè)計(jì) 基于VHDL的數(shù)字邏輯設(shè)計(jì)2_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于VHDL的數(shù)字邏輯設(shè)計(jì)時(shí)序邏輯部分二、常用時(shí)序邏輯電路設(shè)計(jì)(1)觸發(fā)器設(shè)計(jì)(D)(2)計(jì)數(shù)器設(shè)計(jì)(分頻器)(3)移位寄存器設(shè)計(jì)(4)狀態(tài)機(jī)設(shè)計(jì):序列檢測器

(1)觸發(fā)器設(shè)計(jì)DQCPCPDQn+1無變化XQn0->1000->111D觸發(fā)器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdffISPORT(cp,d:INSTD_LOGIC;q:OUTSTD_LOGIC);ENDdff;ARCHITECTUREaOFdffISBEGINprocess(cp)beginifcp'eventandcp='1'thenq<=d;endif;endprocess;ENDa;(2)-A簡單計(jì)數(shù)器設(shè)計(jì)計(jì)數(shù)器CLKQ3Q2Q1Q0四位加計(jì)數(shù)器LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;USEieee.std_logic_arith.ALL;ENTITYcounterISPORT(clk:inSTD_LOGIC;q:buffer

STD_LOGIC_vector(3downto0));ENDcounter;ARCHITECTUREaOFcounterISBEGIN

process(clk)

begin

if(clk'eventandclk='1')thenq<=q+1;

endif;

endprocess;ENDa;四位加計(jì)數(shù)器計(jì)數(shù)器CLKCLR(2)-B帶同步清零、同步置數(shù)功能的計(jì)數(shù)器LDQ3Q2Q1Q0D3D2D1D0控制信號CLR、LD:具有更高優(yōu)先級LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;USEieee.std_logic_arith.ALL;ENTITYcounterISPORT(clk,clr,ld:inSTD_LOGIC;d:inSTD_LOGIC_vector(3downto0);q:bufferSTD_LOGIC_vector(3downto0));ENDcounter;ARCHITECTUREaOFcounterISBEGIN

process(clk)

begin

if(clk'eventandclk='1')thenif(clr='1')then

q<="0000";elsif(ld='1')thenq<=d;

elseq<=q+1;

endif;endif;endprocess;ENDa;計(jì)數(shù)器CLKCLR(2)-C帶異步清零、同步置數(shù)功能的計(jì)數(shù)器LDQ3Q2Q1Q0D3D2D1D0LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;USEieee.std_logic_arith.ALL;ENTITYcounterISPORT(clk,clr,ld:inSTD_LOGIC;d:inSTD_LOGIC_vector(3downto0);q:bufferSTD_LOGIC_vector(3downto0));ENDcounter;ARCHITECTUREaOFcounterISBEGIN

process(clk,clr)begin

if(clr=‘1’)thenq<=“0000”;

else

if(clk'eventandclk='1‘)

thenif(ld='1')then

q<=d;

elseq<=q+1;

endif;

endif;endif;

endprocess;ENDa;(2)-D帶進(jìn)位計(jì)數(shù)器設(shè)計(jì)計(jì)數(shù)器CLKQ3Q2Q1Q0四位加計(jì)數(shù)器COUTLIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;USEieee.std_logic_arith.ALL;ENTITYcounterISPORT(clk:inSTD_LOGIC;q:buffer

STD_LOGIC_vector(3downto0);cout:outstd_logic);ENDcounter;ARCHITECTUREaOFcounterISBEGINprocess(clk) variabletmp:std_logic_vector(3downto0);begin

if(clk'eventandclk='1')thenq<=q+1;tmp:=q+1;

if(tmp=15)thencout<='1';

elsecout<='0';

endif;

endif;endprocess;ENDa;(3)分頻器設(shè)計(jì)Tclk=1usTcout=10us計(jì)數(shù)器就是對時(shí)鐘脈沖計(jì)數(shù),同時(shí)計(jì)數(shù)器還是一個(gè)分頻器。(4)移位寄存器設(shè)計(jì)4位右移移位寄存器Reset:異步清零右移移位寄存器dinresetclkQAQBQCQDlibraryieee;useieee.std_logic_1164.all;ENTITYshifterISPORT(

din:instd_logic;reset,clk:instd_logic;QA,QB,QC,QD:bufferstd_logic);

ENDshifter;ARCHITECTUREbehaveOFshifterISBEGINProcess(reset,clk)Begin

if(reset='1')

then

QA<='0';QB<='0';QC<='0

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論