[VHDL] Przerzutnik typu D; poprawność kodu?


(kid_m) #1

Witam.

Proszę o pomoc. Poniżej znajdują się 2 kody-"wzory" przerzutników D, czy całość zapisałem poprawnie??

Czy wystarczy "jedynki" przypisane CLK zastąpić zerami aby układ był wyzwalany opadającym zboczem...?

process (CLK, RESET)

    begin

    -- reset asynchroniczny, aktywny w stanie wysokim

    if (RESET= `1`) then

    Q <= `0`;

    -- narastające zbocze

    elsif (CLK ` event and CLK = `1` then

    Q <= D;

    end if;

end process;


--


process (CLK)

    begin

    -- narastające zbocze

    if (CLK ` event and CLK = `1`) then

    -- reset synchroniczny, aktywny w stanie niskim

    if (RESET = `0`) then

    Q <= `0`;

    else

    Q <= D;

    end if;

    end if;

end process;

(Airborn) #2

wystarczy, chociaż w ogóle można zamienić warunek wewnątrz if() na odpowiednie funkcje rising_edge(CLK) albo falling_edge(CLK)

na oko jest ok