簡體   English   中英

帶反饋回路的D型觸發器可清除

[英]D flip flop with a feedback loop to clear

這是我的廣告觸發器代碼,具有低有效異步清除和重置功能。 Clear的輸入是q(d ff的輸出)和復位信號的組合。我上傳了一張圖片,向您展示了我為其編寫程序的電路。 我沒有得到預期的輸出; 清除,q始終為低。 我已將重置設置為仿真中的邏輯一。 請幫助,讓我知道我的錯誤:)謝謝。

LIBRARY ieee ;
USE ieee.std_logic_1164.all ;
use ieee.numeric_std.all;


ENTITY d_feedback_clr IS
PORT ( 
       clock, reset, d: IN STD_LOGIC ;  
       q : OUT STD_LOGIC
      ) ;

END d_feedback_clr ;

ARCHITECTURE Behavior OF d_feedback_clr IS
signal state, clear: STD_LOGIC:='0'; -- state implies the output of the d register

BEGIN

    clear <= reset nand state; 

    PROCESS (clock, clear, reset)
        BEGIN

             IF (clear='0') THEN
                state <= '0';
             elsif reset='0' then
                state <= '1'; 
             elsif (clock'event and clock='1') THEN
                state <= d;                                     
             END IF ;

    END PROCESS ;
    q <= state;
END Behavior ;

我認為您的問題在於明確的信號。 如果您的狀態為“ 1”且復位為“ 1”,則清除信號(由於這兩個nand門的輸出)將變為“ 0”,並且狀態將立即變為“ 0”。 因此狀態和q將始終為低。

我已經使用Modelsim Altera來模擬您的設計,它清楚地顯示了信號中的毛刺。

模擬結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM