Vhdl'de 0 and 1 işlemi

Başlatan vitruvius, 06 Ocak 2012, 01:36:58

vitruvius

Merhaba, mesela bir switch off iken ve bir butona basıldığında bir led yakmak istiyorum. Switch normalde off'tur ama on olma durumunda led'in yanmasını istemiyorum. Burada switch'in off olma durumunu nasıl algılayabiliriz?

if ((s1='0')and s2)='1' then


Şu şekilde bir deneme yaptım ama hata verdi. Ekstradan bir çıkış atayıp A<=not s1; şeklinde mi yapmam lazım?

Teşekkür ederim.

yamak

Hocam 'S', switchi ifade etsin 'B', butonu 'L' de ledi.
if S='0' and B='1' then 
L<='1';
else
L<='0';
end if;


Bu şekilde yazarsan çalışır.

vitruvius

Teşekkür ederim hocam hata kalktı. Şu anda başka sorunum var onun başlığı da geliyor  :) Parantez koyunca derleyeci nasıl bir anlam yüklüyor acaba?

yamak

((s1='0')and s2)='1' böyle bi durumda logic and işlemi gibi algılıyo fakat s1='0' ifadesi de işi bozuyo. Eğer if (s1 and s2)='1' then ... şeklinde yazsaydın hata oluşmazdı fakat logic olarak s1 ve s2 yi and işlemine tabii tutar sonucu 1 ise belirtilen komutları işletirdi.