1

ここからのコード: http://esd.cs.ucr.edu/labs/tutorial/latch.vhd

--------------------------------------------
-- Simple D Latch (ESD book Chapter 2.3.1)
-- by Weijun Zhang, 04/2001
--
-- latch is simply controlled by enable bit
-- but has nothing to do with clock signal
-- notice this difference from flip-flops
--------------------------------------------

library ieee ;
use ieee.std_logic_1164.all;

entity D_latch is
port(   data_in:    in std_logic;
    enable:     in std_logic;
    data_out:   out std_logic
);
end D_latch;

architecture behv of D_latch is
begin       

    -- compare this to D flipflop

    process(data_in, enable)
    begin
        if (enable='1') then
            -- no clock signal here
        data_out <= data_in;  
    end if;
    end process;    

end behv;

「data_in」を機密リストに含める必要があるのはなぜですか? プロセスが割り当てのためにそれを必要とすることは知っていますが、プロセスはイネーブル入力に基づいて機能します。

ありがとう

4

1 に答える 1

0

D ラッチの場合、enable が「1」である限り、data_out=data_in が必要です。したがって、enable が「1」のままで data_in が変化した場合、data_out を変更する必要があります。センシティビティ リストにない data_in の場合、これは発生しません。

于 2014-02-13T19:44:03.707 に答える