帶有異步復位端的D觸發器


異步復位端(rst)並采用時鍾(clk)上升沿觸發的D觸發器(DFF)。當rst='1'時,無論時鍾是什么狀態,D觸發器的輸出

(q)都將被置為低電平。否則,只要時鍾信號出現上升沿,輸入的值就傳遞給輸出(也就是說,D觸發器是靠時鍾的上升沿

觸發的)。其原理圖

 

 

程序:

library ieee;

use ieee.std_logic_1164.all;--庫聲明。其中std和work庫是默認的,不必進行聲明。

entity dff is

port(

d,clk,rst:in std_logic;--輸入端口列表(輸入端口的信號模式只能是in),輸入信號類型std_logic。

q:out std_logic

);

end;

architecture bhv of dff is

begin

process(rst,clk)--每當敏感信號列表中的信號發生變化時,process就執行一次。

begin

if(rst='1') then

q<='0';--無論clk是什么狀態,只要rst=‘1’,輸出都將復位(異步復位)

elsif (clk'event and clk='1') then--如果rst是低電平;且clk出現上升沿(clk='1'),則輸入信號將存儲在D觸發器中(q<=d)。

q<=d;

end if;

end process;

end bhv;

"<="操作符用來給信號(signal)賦值

":="用來給變量(variable)賦值。

默認情況下,entity中所有的端口都是信號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM