0

クリアとリセットを使用した T フリップフロップのコーディングに問題があります。下の図が示すように、t_in はイネーブル入力として動作しており、mod-m カウンターから 1 または 0 に設定されます。次に to_ldspkr がトグルします。clr_FF はフリップフロップをクリアします。

ブロック図へのリンク

リンクされたブロック線図

これで、このフリップフロップをどのようにコーディングすればよいかわかりました。これは私のコードですが、機能していません:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;


entity T_FF is
    port(
        from_t_in : in std_logic;
        clk, reset : in std_logic;
        from_clr_FF : in std_logic;
        to_ldspkr : out std_logic
    );
end T_FF;

architecture Behavioral of T_FF is
    signal temp: std_logic;
    signal r_reg, r_next : std_logic;

    begin
    process(reset, clk, from_clr_FF, r_reg)
    begin
        if(reset = '1') then
            r_reg <= '0';   
        elsif(from_clr_FF = '1') then
            r_next  <= '0';
        elsif(clk'event and clk='1') then
            if(from_t_in = '1') then
                temp <= not temp;
            end if;
        end if;
    end process;
    to_ldspkr <= temp;
end Behavioral;
4

1 に答える 1