VHDL’de İfade Düzenleme

Aşağıda verilen kodda, sinyal_secme sinyalinin ‘1’ olma durumunda siynal_cikis sinyaline sinyal_2 sinyali atanmakta aksi durumda ise sinyal_1 sinyali atanmaktadır. sinyal_secme, sinyal_1 vesinyal_2 sinyallerinin herhangi birinde meydan gelen değişimde process aktif olmakta ve koşul işlemektedir.

..
..
signal sinyal_1 : std_logic;
signal sinyal_2 : std_logic;
signal sinyal_secme : std_logic;
signal sinyal_sonuc : std_logic;
..
..
process_etiketi:process(sinyal_secme, sinyal_1, sinyal_2)
begin
    if sinyal_secme = '1' then
        sinyal_cikis<= sinyal_2;
    else
        sinyal_cikis<= sinyal_1;
    end if;
end process process_etiketi;
..
..

VHDL dilinde process içerisinde işlemlerin sıralı olarak yapılmasından dolayı yukarıda verilen uygulama aşağıdaki gibide ifade edilebilmektedir. sinyal_secme, sinyal_1 vesinyal_2sinyallerinin herhangi birinde meydan gelen değişimle process aktif olmakta ve sinyal_cikis sinyaline sinyal_1 sinyali atanmaktadır. Eğer sinyal_secme sinyali ‘1’ ise sinyal_cikis sinyaline sinyal_2 sinyali atanmaktadır.

..
..
signal sinyal_1 : std_logic;
signal sinyal_2 : std_logic;
signal sinyal_secme : std_logic;
signal sinyal_sonuc : std_logic;
..
..
process_etiketi:process(sinyal_secme, sinyal_1, sinyal_2)
begin
    sinyal_cikis<= sinyal_1;
    if sinyal_secme = '1' then
        sinyal_cikis<= sinyal_2;
    end if;
end process process_etiketi;
..
..

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir