VHDL各种D触发器程序.docx
《VHDL各种D触发器程序.docx》由会员分享,可在线阅读,更多相关《VHDL各种D触发器程序.docx(9页珍藏版)》请在冰豆网上搜索。
![VHDL各种D触发器程序.docx](https://file1.bdocx.com/fileroot1/2023-2/6/5cf609f2-ed33-4ac3-bb49-79bfb44a5953/5cf609f2-ed33-4ac3-bb49-79bfb44a59531.gif)
VHDL各种D触发器程序
第一题:
普通触发器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(CLK,D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(CLK,Q1)
BEGIN
IFCLK'EVENTANDCLK='1'
THENQ1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第二题:
异步清零触发器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(CLK,D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC;
ACLK:
INSTD_LOGIC);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(ACLK,CLK,Q1)
BEGIN
IFACLK='1'
THENQ1<='0';
ELSIFCLK'EVENTANDCLK='1'
THENQ1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第三题:
同步清零触发器
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(CLK,D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC;
SCLK:
INSTD_LOGIC);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(SCLK,CLK,Q1)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFSCLK='1'THEN
Q1<='0';
ELSEQ1<=D;
ENDIF;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第四题:
异步置位apre
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(
CLK:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC;
APRE:
INSTD_LOGIC
);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(APRE,CLK,Q1)
BEGIN
IFAPRE='1'
THENQ1<='1';
ELSIFCLK'EVENTANDCLK='1'
THENQ1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第五题:
同步置位spre
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(
CLK:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC;
SPRE:
INSTD_LOGIC
);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(SPRE,CLK,Q1)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFSPRE='1'THEN
Q1<='1';
ELSEQ1<=D;
ENDIF;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第六题:
异步清零,异步置位
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(
CLK:
INSTD_LOGIC;
ACLR:
INSTD_LOGIC;
APRE:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC
);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(APRE,ACLR,CLK,Q1)
BEGIN
IFACLR='1'THEN
Q1<='0';
ELSIFAPRE='1'
THENQ1<='1';
ELSIFCLK'EVENTANDCLK='1'
THENQ1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第七题:
同步使能
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(
CLK:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC;
EN:
INSTD_LOGIC
);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(EN,CLK,Q1)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
Q1<=D;
ENDIF;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;
第八题:
异步清零,置位,同步使能
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDchuIS
PORT(
CLK:
INSTD_LOGIC;
EN:
INSTD_LOGIC;
ACLR:
INSTD_LOGIC;
APRE:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC
);
END;
ARCHITECTUREFFQOFDchuIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(APRE,ACLR,EN,CLK,Q1)
BEGIN
IFACLR='1'THEN
Q1<='0';
ELSIFAPRE='1'
THENQ1<='1';
ELSIFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
Q1<=D;
ENDIF;
ENDIF;
ENDPROCESS;
Q<=Q1;
ENDFFQ;