İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
02.02.2001
LOJİK DEVRELERİ DÖNEM SONU SINAVI AÇIKLAMALAR: 1. Sınav Süresi 110 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Kopya çektiği belirlenenler Fakülte Disiplin Kuruluna sevk edilecektir. SORU 1: Bu sorunun şıkları birbirinden bağımsız olarak çözülebilir. a) Aşağıda verilen üç girişli, üç çıkışlı genel fonksiyonu, uygun boyutta bir adet kod çözücü ve sadece 2 girişli lojik bağlaçlar kullanarak tasarlayınız. f1(a,b,c) = abc' + b'c f2(a,b,c) = b'c' + bc f3(a,b,c) = a'bc' + ab' b) Bir adet veri girişi (X), bir adet veri çıkışı (Z) olan ve 4 adet D tipi izin girişli tutucu (latch) içeren bir devre tasarlanacaktır. Devrenin kullanıcısı, X girişinden gelen veriyi bu tutuculardan istediğine yazdırabilecektir; Z çıkışında da istediği tutucunun içeriğini görebilecektir. Devrenin gerekli sayıda yazma seçme girişi (YS) ve okuma seçme girişi (OS) olacaktır. YS girişleri verinin hangi tutucuya yazılacağını, OS girişleri ise hangi tutucunun içeriğinin çıkışa aktarılacağını belirleyecektir. Bu devreyi, gerekli boyutlarda bir adet kod çözücü ve bir adet veri seçici kullanarak tasarlayıp çiziniz. Tutucuların iç yapılarını göstermenize gerek yoktur; bu elemanları blok diyagram olarak gösterebilirsiniz. SORU 2: {0,1,2,3,4} kümesi içinde sayım yapacak olan bir sayıcı tasarlanacaktır. Sayıcının saat girişi dışında bir de denetim girişi (X) vardır. X=0 olduğunda sayıcı, saat işaretinin çıkan kenarlarında 2 adım geriye, X=1 olduğunda ise 1 adım ileriye saymaktadır. Sayıcı ilk çalışmasına sıfır sayısından başlamaktadır. a) Sayıcıyı senkron ardışıl bir devre olarak tasarlamak üzere durum tablosunu oluşturunuz. b) Sayıcıyı T flip-flopları ve gerekli sayıda lojik kapı kullanarak tasarlayıp çiziniz. c) Aynı sayıcıyı D flip-flopları, uygun boyutta veri seçiciler kullanarak tasarlayıp çiziniz. Gerekmesi durumunda ek olarak tümleme kapıları kullanabilirsiniz. d) Tasarladığınız sayıcı herhangi bir nedenle ‘5’ durumuna geçerse bir sonraki durumu ne olur? Yukarıdaki b ve c şıklarında yaptığınız her iki tasarım için ayrı ayrı cevaplayınız. e) Kullanıcın isteğine bağlı olarak sayıcının, saat işaretinin pozitif ya da negatif kenarında çalışması isteniyor ve bunun için devreye yeni bir giriş ekleniyor (PN). PN=0 ise sayıcı pozitif kenarda, PN=1 ise negatif kenarda çalışacaktır. Sayıcının bu şekilde çalışabilmesi için devreye PN girişinin nasıl ekleneceğini çizerek gösteriniz. Tüm syıcıyı yeniden çizmenize gerek yoktur, sadece değişen kısmı gösterebilirsiniz. SORU 3: a) Bir TTL tipi lojik kapının sadece çıkış katını çizerek çalışmasını açıklayınız. b) Bir TTL kapının çıkışına bağlanacak eleman sayısı neden sınırlıdır? İzin verilenden daha fazla sayıda eleman bağlanması sonucunda neler olacağını çıkış katı üzerinde açıklayarak soruyu cevaplandırınız.
CEVAP 1: a) f1(a,b,c)=abc' + b'c = abc' + ab'c + a'b'c 15 PUAN f2(a,b,c)=b'c' + bc = ab'c' + a'b'c' + abc + a'bc f3(a,b,c)=a'bc' + ab' = a'bc' + ab'c + ab'c' 3:8 Kod çözücü kullanılacaktır. Kod çözücünün çıkışları sırasıylar şu minterimlere karşı düşmektedir: a'b'c', a'b'c, a'bc', a'bc, ab'c', ab'c, abc', abc. Buna göre yukarıdaki fonksiyonları gerçekleştirmek için gerekli olan çıkışlar VEYA kapıları ile bağlanarak devre çizilir. b) Burada kod çözücü hangi tutucuya yazılacağını (yani izin verileceğini), veri seçici ise hangi tutucunun içeriğinin çıkışa aktarılacağını belirler. Buna göre devre aşağıdaki gibi çizilir: X
15 PUAN
D Q E
O0
D
O1 2:4 KÇ O2 O3
E
Q
I0 I1 4:1 I2 VS
D Q E
Z
I3
D Q E OS1 OS0
YS1 YS0 Q2+Q1+Q0+ X Q2Q1Q0 0 1 000 011 001 001 100 010 010 000 011 011 001 100 100 010 000 ØØØ ØØØ 101 ØØØ ØØØ 110 ØØØ ØØØ 111
CEVAP 2: a)
b) Q2+
Q0X Q2Q1 00
00 01 11 10 T2
0 0
01 11 10 0 0 1 0 1 0
Ø
Ø
0
0
Ø Ø
Q0X Q2Q1 00 01 11
00 01 11 10
Ø Ø
0 0
0 0
0 1
10 1 0
Ø
Ø
1
1
Ø Ø
Ø Ø
T2 = Q2 + Q1Q0X + Q1'Q0X'
Sayıcı Moore modeline göre tasarlanır. Çıkışlar: Z2=Q2 Z1=Q1 Z0=Q0
Q1+ Q0X Q2Q1 00 01 11
00 01 11 10
00 01 11 10
Q0+ Q0X Q2Q1 00 01 11 10
1 0
0 1
1 0
0 0
Ø
Ø
1
0
Ø Ø
Ø Ø
T1 Q0X Q2Q1 00 01 11
5 PUAN
00 01 11 10
1 0
1 1
0 0
10 0 1
Ø
Ø
0
0
Ø Ø
Ø Ø
T0 Q0X Q2Q1 00 01 11 10
1 1
0 0
1 1
0 1
Ø
Ø
1
0
Ø Ø
Ø Ø
T1 = Q0'X' + Q0X + Q1Q0
00 01 11 10
1 0
1 1
1 1
10 1 0
Ø
Ø
0
0
Ø Ø
Ø Ø
T0= Q2'Q1' + Q2'X
15 PUAN Yukarıda bulunan T ifadelerine göre devre çizilir. c) D flip-flopları ve veri seçiciler ile tasarım yaparken Karnaugh tablolarını yeniden oluşturmaya gerek yoktur, sadece durum tablosunu kullanmak yeterlidir. Üç durum değişkeni olduğuna göre 8:1 veri seçiciler kullanılır ve veri seçicilerin seçme uçlarına durum değişkenleri bağlanır. a) şıkkındaki durum tablosunun satıralarına bakılarak veri seçicilerin girişlerine gelecek olan değerler belirlenir. ‘1’ ‘0’ ‘0’ Boş
8:1 VS s2s1s0
8:1 VS
‘0’ Boş
s2s1s0
‘0’ ‘0’ ‘0’ Boş
X
8:1 VS s2s1s0
D Q C
D C
Q
D C
Q
Z0
Z1
5 PUAN
Z2
X’
saat d) b) şıkkı için: 5 durumu Q2Q1Q0 =101 durumudur. Burdan hangi duruma gidileceği T değerleri belirlenirken Ø’lerin nasıl seçildiğine bağlıdır. Bunu T ifadelerinin belirlendiği tablolardan anlayabiliriz ya da T ifadelerine 101 değerini koyarak hesaplayabiliriz. Buna göre 101 durumunda: X=0 için T2 = 1 demek ki Q2 değer değiştirecek yani Q2+ = 0 001 durumuna geçilir. T1 = 0 demek ki Q1 değer değiştirmeyecek yani Q1+ = 0 + T0 = 0 demek ki Q0 değer değiştirmeyecek yani Q0 = 1 10 PUAN X=1 için T2 = 1 demek ki Q2 değer değiştirecek yani Q2+ = 0 T1 = 1 demek ki Q1 değer değiştirecek yani Q1+ = 1 011 durumuna geçilir. T0 = 0 demek ki Q0 değer değiştirmeyecek yani Q0+ = 1 c) şıkkı için: 5 durumu Q2Q1Q0 =101 durumudur. Burdan hangi duruma gidileceği veri seçicilerin 5 no.lu girişlerine ne bağlandığına bağlıdır. Boş bırakılan girişler lojik 1 olarak değerlendirildiğinden yukarıdaki tasarımda hem X=0 hem de X=1 için 111 durumunda geçilir. e) PN=0 olduğunda saat işaretinin kendisi, PN=1 olduğunda saat işaretinin tümleyeninin devreye uygulanması isteniyor. Bu işlem en basit olarak bir YA DA bağlacı ile gerçeklenebilir.
PN Saat işareti
Flip-flopların saat girişlerine bağlanacak
5 PUAN
CEVAP 3: a) Vcc Rc Q1
Q1 iletimde, Q2 kesimdeyken çıkış Vcc’ye yakın bir değer, yani lojik 1 olur. Q1 kesimde, Q2 iletimdeyken çıkış yaklaşık 0.2V, yani lojik 0 olur. Her iki tranzistor da kesimdeyse çıkış yüksek empedans durumunda olur. İki tranzistor aynı anda iletimde olamaz. 15 PUAN Çıkış
Q2
b) Bir lojik elemanın çıkışına çok sayıda eleman bağlanması durumunda bu elamnın çıkışından akan akım miktarı artar. Bu da elemanın doğru şekilde çalışmasını engeller. Çıkış lojik 0’dayken Q2 iletimdedir. Dışardan gelen akım bu tranzistor üzerinden toprağa akar. Akımın artması durumunda Q2’nin iç direnci nedeniyle buradaki gerilim de artar V=R*I. Böylece çıkış gerilimi lojik 0 değerini aşmaya başlar. Çıkış lojik 1’deyken Q1 iletimdedir. Çıkış akımı bu tranzistor üzerinden dışarıya doğru akar. Çekilen akımın artması durumunda Q1’in iç direnci ve Rc direnci nedeniyle buradaki gerilim de artar. Bu gerilm Vc den çıkarılacağı için çıkıştaki gerilim azalır ve lojik 1 değerinin altına düşmeye başlar. 15 PUAN
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
17.11.2000
LOJİK DEVRELERİ 1. YILİÇİ SINAVI AÇIKLAMALAR: 1. Sınav Süresi 80 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Kopya çektiği belirlenenler Fakülte Disiplin Kuruluna sevk edilecektir. SORU 1: a b
c
d
x
a) Yukarıda verilen lojik devreye ilişkin ifadeyi çarpımların toplamı şeklinde yazınız. Tümleyenleri göstermek için değişkenlerin üstüne çizgi koyunuz ( a gibi). b) Bulduğunuz ifadeyi Boole cebrinin aksiyom ve teoremlerini kullanarak basitleştiriniz. c) Basitleştirilmiş ifadeyi sadece TVE (NAND) bağlaçları ile gerçekleyip çiziniz. Bağlaçların giriş sayılarında bir sınırlama yoktur. SORU 2: f(a,b,c,d) = Σ1(2,3,6,8,11,13,15) + ΣΦ(0,4,7,9,10) a) Yukarıda verilen fonkisyonun tüm temel içeren tabanını Karnaugh diyagramı ile bulunuz. b) Aşağıda verilen maliyet kriterini kullanarak seçenekler tablosunu oluşturup indirgeyiniz. Yaptığınız indirgemenin aşamalarını kısaca açıklayınız. İndirgeme sonucu elde ettiğiniz “en ucuz” fonksiyonun ifadesini ve toplam maliyetini yazınız. Maliyet Kriteri: Her bir değişken 2 birim, her tümleme işlemi 1 birim. c) Fonkisyonun “en ucuz” ifadesini sadece 2 girişli TVE bağlaçları kullanarak gerçekleyip çiziniz.
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
17.11.2000
LOJİK DEVRELERİ 1. YILİÇİ SINAVI CEVAPLARI CEVAP 1: a) x = abc’d’ + abc’d + abc + a’bc + acd + ab’cd + a’bcd’ b) İndirgeme Sonucu: (Ara işlemler burada gösterilmemiştir) x = ab + bc + acd c) a b
c
d
x
CEVAP 2: a) Tüm temel içeren tabanı: a’d’, a’c, b’c, cd, ad, ab’, b’d’ A B C D E F G 6 5 5 4 4 5 6 b) 2 X X X
A B C D √ E F G X 2 X X X
A B C D F G X 2 X
√ B D √ F G X
3 X X X
6 X X
X X X
6 X X
X
X X X X
8
6 X
8
M 5 4 5 6
X X
13
X
M 6 5 5 4 5 6
X X
X 3 X X
11
X X
X 3
8
15
X X
M 6 5 5 4 4 5 6
E gerekli içeren olduğu için alındı.
B, A ve C’yi örter. Maliyeti A’dan az, C ile eşit. Buna öre A ve C’yi sileriz. DİKKAT: B, D’yi de örter, ama D daha ucuz olduğu için silinmez. DİKKAT: G, F’yi örter, ama F daha ucuz olduğu için silinmez. B gerekli içeren haline geldi ve alındı. 8 noktasını F daha ucuza örttüğü için F de alındı
Buna göre en ucuz yeterli taban: f = E+B+F = ad + a’c + ab’ Toplam Maliyet = 14 birim. c) a
b
c
d
f
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
21.12.2001
LOJİK DEVRELERİ 2. YILİÇİ SINAVI AÇIKLAMALAR: 1. Sınav Süresi 100 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Kopya çektiği belirlenenler Fakülte Disiplin Kuruluna sevk edilecektir. SORU 1: a) Bir adet pozitif kenar tetiklemeli D flip-flopu ve gerekli sayıda lojik bağlaç kullanarak, pozitif kenar tetiklemeli bir SR flip-flopu tasarlayarak çiziniz. b) Ana-uydu (master-slave) tipi bir SR flip-flopu ile, kenar tetiklemeli bir SR flip-flopunun çalışması arasında ne fark vardır? Bu farkı gösteren bir zamanlama diyagramını çiziniz. SORU 2:
I0 I1 4:1 I2 VS I3 s1 s0
D1
Q CLK
D0 A B
D
D
Q CLK
Q1 Q1'
Z
Q0 Q0'
Saat a) Yukarıda çizimi verilmiş olan senkron ardışıl devreyi çözümleyerek durum geçiş/çıkış tablosunu ve durum geçiş diyagramını çiziniz. b) Aynı devreyi veri seçici kullanmadan, lojik kapılar ve D tipi flip-floplar ile tasarlayıp çiziniz. SORU 3: Bir lambayı kontrol etmek üzere; bir saat girişi, iki adet veri girişi (X,Y) ve bir adet çıkışı (Z) olan bir senkron ardışıl devre tasarlanacatır. Saat işaretinin periyodu 1 saniye olan devrede, X girişi en az 2 saniye boyunca '1' olursa Z = 1 olacak ve lamba yanacaktır. Lambanın yanmadığı durumlarda (Z = 0) Y girişinden gelen değerlerin bir etkisi yoktur. Lamba yanıyorken pozitif bir saat kenarında Y=1 olursa lamba söner ve lambanın tekrar yanması için X girişinin en az 2 saniye boyunca '1' olması beklenir. Lambanın yandığı durumlarda X girişinden gelen değerlerin bir etkisi yoktur. Dikkat: X girişinin en az 2 saniye boyunca '1' olması için, saat işaretinin 3 kenarında X =1 olmalıdır. Devrenin zamanlama diyagramı aşağıda gösterilmiştir: SAAT X Y Z
a) Devrenin durum geçiş diyagramını çiziniz, durum/çıkış tablosunu oluşturunuz. b) Devreyi T flip-flopları ve gerekli sayıda lojik bağlaç kullanarak tasarlayıp çiziniz.
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç. Dr. Feza BUZLUCA
21.12.2001
LOJİK DEVRELERİ 2. YILİÇİ SINAVI CEVAPLARI CEVAP 1: a) SR Flip-flop: Q(t+1)= S + Q(t)R', SR=0 D Flip-flop: Q(t+1)= D Buna göre D tipi flip-flopun girişine S + Q(t)R' ifadesi uygulanacaktır. S
D
R
CLK
Q
Q Q'
Saat
b) Ana-uydu (master-slave) tipi flip-floplarda, saat işareti '1'de olduğu sürece girişe gelen değerler, çıkışı belirlemek üzere değerlendirilir. Belirlenen değer saat işaretinin inen kenarında kayıt edilir ve çıkışa yansıtılır. Kenar tetiklemeli flip-floplarda girişler sadece saat işaretinin etkin kenarında değerlendirilir ve çıkışa yansıtılır. Saat S R Q (A-U) Q (KT) Yukarıdaki diyagramda saat işareti 1'deyken S=1 R=0 oluyor. Ana-uydu flip-flop bu girişi değerlendiriyor ve içeriğini 1 yapmaya hazırlanıyor. Daha sonra yine saat işareti 1'deyken S=0 R=0 oluyor. Bu giriş içerik değişmeyecek (yani ana-uydu ff 1'de kalacak) demektir. Saat işaretinin inen kenarında ise hazırlanan değer (yani 1) ana uydu flip-flopun çıkışına yansıyor. Karşılaştırmaya aldığımız negatif kenar tetiklemeli flip-flop ise sadece inen kenardaki girişleri değerlendiriyor. Burada S=0,R=0 olduğuna göre filp-flopun içeriği değişmiyor ve 0'da kalıyor. CEVAP 2: a) D tipi ff'larda Q+=D olduğuna göre Q0+ ve Q1+ belirlemek için D0 ve D1 belirlenmeli. Devreden D0 = A⋅B ve çıkışın Z = A⋅B⋅Q1' + Q0'olduğu görülüyor. Veri seçici ise devrenin her durumu için veri girişlerinden birini çıkışına aktaracaktır. Buna göre: Q1 Q0 D1 Q1+Q0+,Z AB 00 A⋅B Tabloyu oluşturmak için 00 01 10 11 Q1 Q0 01 (A⋅B)' veri seçicinin ifadesini 00 00,1 00,1 00,1 11,1 10 A+B yazmaya gerek yoktur. 01 10,0 10,0 10,0 01,1 11 B' Yandaki tablo Karnaugh 10 00,1 10,1 10,1 11,1 diyagramı değildir. 10,0 00,0 10,0 01,0 11
S+,Z AB S D1 D2 D3 D4
00 D1,1 D3,0 D1,1 D3,0
01 D1,1 D3,0 D3,1 D1,0
10 D1,1 D3,0 D3,1 D3,0
01,0
11 D4,1 D2,1 D4,1 D2,0
00,1 01,1 10,1
D1
11,1 00,1
11,0
D4
D2 11,1
11,1
c) Yukarıda bulunan tablo Karnaugh diyagramı haline getirilip Q1+ için yeniden yazılır: Q1 + Q1 Q0 00 01 11 10
00 0 1 1 0
AB 01 0 1 0 1
11 1 0 0 1
00,0 01,0 10,0
D3
00,0 10,0
01,1 10,1
10 0 1 1 1
D1 = B'⋅Q0 + A'⋅Q1'⋅Q0 + A⋅B⋅Q0' + B⋅Q1⋅Q0' + A⋅Q1⋅Q0' Sadece D1 girişine gelen devre değişecektir. Yukarıdaki ifadeye göre devre çizilir. SORU 3: Zamanlama diyagramından da görüldüğü gibi girişlerin çıkış üzerindeki etkisi saat işaretinden sonra gerçekleşmektedir. Bu nedenle devre Moore modeline göre tasarlanacaktır. (Girişler XY şeklinde gösterilmiştir.)
01 11
A,0
00 01
D,1
S+
00 01
Başlangıç Durumu
S A B C D
00 01 10 11
00 A A A D
XY 01 A A A A
11 B C D A
10 B C D D
Z 0 0 0 1
00
XY 01
11
10
Z
00 00 00 10
00 00 00 00
01 11 10 00
01 11 10 10
0 0 0 1
B,0 Q1+ Q0+
10 11
00 10
C,0
T1 Q1 Q0 00 01 11 10
Q1 Q0
10 11
00 01 11 10 T0
00
XY 01
11
10
0 0 1 0
0 0 1 1
0 1 0 1
0 1 0 0
T1= X⋅Q1'⋅Q0 + X'⋅Q1⋅Q0 + Y⋅Q1⋅Q0' Yukarıdaki ifadelere göre devre çizilir.
Z= Q1⋅Q0'
Q1 Q0 00 01 11 10
00
XY 01
11
10
0 1 1 0
0 1 1 0
1 0 1 0
1 0 1 0
T0= X⋅Q1'⋅Q0' + X'⋅Q0 + ⋅Q1⋅Q0
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
09.01.2003
LOJİK DEVRELERİ DÖNEM SONU SINAVI AÇIKLAMALAR: 1. Sınav Süresi 105 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Tümleyenleri göstermek için değişkenlerin üstüne çizgi koyunuz ( a gibi). SORU 1: a) Aşağıda verilen lojik fonksiyonun birinci kanonik açılımını (çarpımların toplamı) yazınız. Bulduğunuz ifadeyi Boole cebrinin aksiyom ve teoremlerini kullanarak sadeleştiriniz. f(a,b,c,d) = Σ1(0,1,3,4,5,13) b) Aşağıda verilen 3 girişli, iki çıkışlı fonksiyonu sadece uygun boyutta bir adet kod çözücü ve gerekli lojik bağlaçlar kullanarak tasarlayıp çiziniz. f1(a,b,c) = ac' + bc f2(a,b,c) = (a'+b)(b'+c)(a+c) SORU 2: a) Aşağıda verilen fonksiyonun tüm temel içeren tabanını Quine-McCluskey yöntemi ile bulunuz. f(a,b,c,d) = Σ1(5, 7, 10, 11, 12, 14, 15) + ΣΦ(3, 4, 8) b) Aşağıda verilen maliyet kriterini kullanarak seçenekler tablosunu oluşturup indirgeyiniz. Yaptığınız indirgemenin aşamalarını kısaca açıklayınız. İndirgeme sonucu elde ettiğiniz “en ucuz” fonksiyonun ifadesini ve toplam maliyetini yazınız. Maliyet Kriteri: Her bir değişken 2 birim, her tümleme işlemi 1 birim. c) Fonksiyonun “en ucuz” ifadesini sadece 2 girişli TVE bağlaçları kullanarak gerçekleyip çiziniz. SORU 3: Bir saat girişi, iki adet veri girişi (X,Y) ve bir adet çıkışı (Z) olan ardışıl bir senkron devre tasarlanacaktır. X girişi birbirini izleyen en az 2 pozitif saat kenarında lojik 1 olduktan sonra, Z=1 olur. Çıkışın tekrar sıfır olması için Y girişi birbirini izleyen en az 2 pozitif saat kenarında lojik 1 olmalıdır. Çıkışta '0' varken (Z=0) Y girişinden gelen değerler çıkışı etkilemez. Benzer şekilde çıkışta '1' varken (Z=1) X girişinden gelen değerler çıkışı etkilemez. Devrenin zamanlama diyagramı aşağıda gösterilmiştir: SAAT
X Y Z
a) Devrenin durum geçiş diyagramını çiziniz, durum/çıkış tablosunu oluşturunuz. b) Devreyi T flip-flopları ve gerekli sayıda lojik bağlaç kullanarak tasarlayıp çiziniz.
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
09.01.2003
LOJİK DEVRELERİ DÖNEM SONU SINAVI ÇÖZÜMLERİ CEVAP 1: a) Birinci kanonik açılım: f(a,b,c,d) = a'b'c'd' + a'b'c'd + a'b'cd + a'bc'd' + a'bc'd + abc'd Konsansüsler kullanılarak indirgeme yapılabilir. İndirgeme sonucu: f(a,b,c,d) = a'c' + bc'd + a'b'd b) Bir adet 3:8 kod çözücü ve VEYA bağlaçları kullanılacaktır. Tasarım için ifadelerin 1. kanonik açılımlarını yazmak (ya da örttükleri doğru noktaları bulmak) gerekir. f1(a,b,c) = abc' + ab'c' + abc + a'bc (6, 4, 7, 3 numaralar) f2(a,b,c) = (a'+b)(b'+c)(a+c) (çarpım yapılıp sadeleştirilir) = a'c + bc = a'bc + a'b'c + abc (kanonik açılım) 3, 1, 7 numaralar
3:8 KÇ s2 s1 s0
O0 O1 O2 O3 O4 O5 O6 O7
O3 O4 O6 O7
f1
O1 O3 O7
f2
Ara bağlantılar uygun şekilde yapılır. a bc
CEVAP 2: 2) f(a,b,c,d)=∑(5,7,10,11,12,14,15) + ∑φ(3,4,8) K.No 4 8 3 5 10 12 7 11 14 15
a 0 1 0 0 1 1 0 1 1 1
K.No 3,7,11,15 8,10,12,14 10,11,14,15
b 1 0 0 1 0 1 1 0 1 1
c 0 0 1 0 1 0 1 1 1 1 a 1 1
d 0 0 1 1 0 0 1 1 0 1 b -
c 1 1
d 1 0 -
K.No 4,5 4,12 8,10 8,12 3,7 3,11 5,7 10,11 10,14 12,14 7,15 11,15 14,15
a 0 1 1 0 0 1 1 1 1 1
b 1 1 0 0 1 0 1 1 1
c 0 0 0 1 1 1 1 1 1 1
d 0 0 0 1 1 1 0 0 1 1 -
İşaretsiz (boyanmamış) olan kombinezonlar temel içerenlere karşı düşerler.
Tüm temel içerenler : a’bc’ , Maliyet : (8) Örtülenler 5
bc’d’ , (8) 12
a’bd , cd , (7) (4) 5,7 7,11,15
ad’ , (5) 10,12,14
1. tablo a’bc’ bc’d’ a’bd ac ad’ cd
5 X
7
10
X
X
11
12
14
15
X X
X
X X X X
X X X
X
Maliyet 8 8 7 4 5 4
a’bd, a’bc’ bileşenini örter. ad’, bc’d’ bileşenini örter. 2. tablo 5 X
a’bd ac ad’ cd
7 X
10
11
X X
X
X
X
12
14
15
X X
X
X
X
Maliyet 7 4 5 4
Başlıca Noktalar : (5) , (12) İlgili satır ve kolonlar silinir. Seçilen Bileşenler : a’bd , ad’ 3. tablo ac cd
11 X X
15 X X
Maliyet 4 4
Bileşenlerin maliyetleri eşit olduğundan “en ucuz” fonksiyon ifadesi i) f= a’bd + ad’ + ac
(Maliyet = 16 birim)
veya ii) f= a’bd + ad’ + cd
(Maliyet = 16 birim)
olur.
ac (4) 10,11,14,15
CEVAP 3: Girişlerin çıkış üzerindeki etkisi saat işaretinden sonra gerçekleşmektedir. Bu nedenle devre Moore modeline göre tasarlanacaktır. (Girişler XY şeklinde gösterilmiştir.)
A,0 10 11
00 10 01 11
S A B C D
00 01
01 11
D,1
S+
00 01
Başlangıç Durumu
B,0
00 A A C C
XY 01 A A D A
Q1+ Q0+ C,1
10 11
Q1 Q0 00 01 11 10
00 10
T1 Q1 Q0 00 01 11 10
00
11
10
0 0 0 0
0 0 0 1
0 1 0 1
0 1 0 0
Q1 Q0 00 01 11 10
10 B C C C
Z 0 0 1 1
00
XY 01
11
10
Z
00 00 11 11
00 00 10 00
01 11 10 00
01 11 11 11
0 0 0 1
T0
XY 01
11 B C D A
00
XY 01
11
10
0 1 0 1
0 1 1 0
1 0 1 0
1 0 0 1
T1= X⋅Q1'⋅Q0 + Y⋅Q1⋅Q0'
T0= X⋅Q1'⋅Q0' + X'⋅Q1'⋅Q0 + Y⋅Q1⋅Q0'+ Y'⋅Q1⋅Q0' Z= Q1 Yukarıdaki ifadelere göre devre çizilir. X Y
Flip-flop Sürme Devresi
F
T0
T1
T
Q CLK
T
Q CLK
Q0 Q'0 Q1 Q'1
Saat
Z
4
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
01.11.2002
LOJİK DEVRELERİ 1. YILİÇİ SINAVI AÇIKLAMALAR: 1. Sınav Süresi 90 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Kopya çektiği belirlenenler Fakülte Disiplin Kuruluna sevk edilecektir. 4. Tümleyenleri göstermek için değişkenlerin üstüne çizgi koyunuz ( a gibi). SORULAR: 1) a. Aşağıda gösterilen teoremin ("Biform kareler konsansüslerini yutar") doğru olduğunu, Boole cebrinin aksiyom ve teoremlerinden yararlanarak kanıtlayınız. Kanıt, doğruluk tablosu ya da Karnaugh diyagramı kullanılmadan, cebirsel olarak yapılacaktır. ab + a'c + bc = ab + a'c b. Yukarıdaki teorimin dualini yazıp aynı şekilde doğru olduğunu gösteriniz. 2) Aşağıda verilen lojik fonksiyonun birinci kanonik açılımını (minterimlerin toplamı) yazınız. Bulduğunuz ifadeyi cebirsel olarak basitleştiriniz ve sadece 2 girişli TVE bağlaçları kullanarak tasarlayıp çiziniz. f(a,b,c,d) = (a+b') · (b+d) · (a'+c) 3) Aşağıda verilen lojik fonksiyonun tümleyenini De Morgan teoremini kullanarak bulunuz. Bulduğunuz ifadenin doğru olduğunu, Boole cebrinin aksiyom ve teoremlerinden yararlanarak cebirsel olarak gösteriniz. İfadenin doğruluğunu gösterirken tekrar De Morgan teoremini kullanamazsınız. f(a,b,c,d) = ad' + bc' + a'b' 4) a. Aşağıda verilen fonksiyonun tüm temel içeren tabanını Karnaugh diyagramından yararlanarak bulunuz. f(a,b,c,d) = Σ1(0,3,4,7,8,10,11,12,14,15) b. Aşağıda verilen maliyet kriterini kullanarak seçenekler tablosunu oluşturup indirgeyiniz. Yaptığınız indirgemenin aşamalarını kısaca açıklayınız. İndirgeme sonucu elde ettiğiniz “en ucuz” fonksiyonun ifadesini ve toplam maliyetini yazınız. Maliyet Kriteri: Her bir değişken 2 birim, her tümleme işlemi 1 birim. c. Fonksiyonun “en ucuz” ifadesini sadece 2 girişli TVE bağlaçları kullanarak gerçekleyip çiziniz.
4
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
01.11.2002
LOJİK DEVRELERİ 1. YILİÇİ SINAVI ÇÖZÜMLERİ 1) a) ab + a’c + bc =(?) ab + a’c ab + a’c + bc = ab + a’c + bc(a+a’) = ab + a’c + bca + bca’ = a(b+bc) + a’(c+bc) = ab + a’c b)
(a+b)(a’+c)(b+c) = (?) (a+b)(a’+c) DUAL (a+b)(a’+c)((b+c)+a⋅a’) = (a+b)(a’+c)(b+c+a)(b+c+a’) = ( a + b⋅(b+c) )( a’ + c⋅(b+c) ) = (a+b)(a’+c)
2) Doğruluk tablosu kullanarak, Karnaugh diyagramı yardımıyla ya da cebirsel olarak bulunabilir. Hatırlatma: 1. kanonik açılım minterimlerin toplamlarından oluşur. Her minterim sadece bir doğru noktaya (kombinezon) karşı gelir ve minterimlerde tüm değişkenler bulunur. Karnaugh Diyagramı yardımıyla: cd ab
00
01
11
1
3
00
10
a’b’c’d + a’b’cd + ab’cd + abcd’ + abcd 1 3 11 14 15
01
1. Kanonik açılım
11
15
10
11
14
Aynı ifadenin cebirsel olarak bulunması: Önce çarpım yapılır, ardından her monomdaki eksik değişkeni tamamlamak için ifadeye Bool cebrine uygun eklemeler yapılır. Örneğin abc monomunda d değişkeni eksiktir. Bu nedenle abc yerine ona eşit olan abcd + abcd' yazılır. f= (a+b’)(a’b+bc+a’d+cd) = abc+ acd + a’b’d + b’cd f= abcd + abcd’ + ab’cd + a’b’cd + a’b’c’d Sadeleşme sonucu : f= a’b’d + abc + acd f= a’b’d + abc + b’cd
(1) (2)
1. Kanonik açılım
(1) ifadenin çizimi
3) f(a,b,c,d) = ad' + bc' + a'b' ise f '(a,b,c,d) = (a'+d)(b'+c)(a+b) Bulduğumuz tümleyen ifadenin doğru olduğunu kanıtlamak için hem f · f ' = 0 olduğunu hem de f + f ' = 1 olduğunu göstermek gerekir. Sadece bir tanesini göstermek yeterli değildir. Çünkü; a. E ve F iki lojik ifade olmak üzere F=E' ise E·F=0 olur. Ancak tersi doğru değildir, yani E·F=0 olması F = E' olduğunu göstermez. Örnek: E=ab, F=a'b olsun E·F=0'dır, ancak F=E' değildir. b. E ve F iki lojik ifade olmak üzere F=E' ise E+F=1 olur. Ancak tersi doğru değildir, yani E+F=1 olması F = E' olduğunu göstermez. Örnek: E=a, F=a'+b olsun E+F=1'dir, ancak F=E' değildir. Buna göre kanıt iki kısımdan oluşacaktır: f · f ' = (?) 0 f '(a,b,c,d) = (a'+d)(b'+c)(a+b) = a'bc + ab'd + acd + bcd f · f ' = ( ad' + bc' + a'b' )( a'bc + ab'd + acd + bcd ) = 0 çünkü bir parantezdeki terim diğer parantezlerdeki tüm terimler ile çarpılacaktır. Her çarpımda bir değişkenin kendisi ve tümleyeni birlikte yer aldığından tüm çarpımların sonucu lojik 0 olacaktır. f + f ' = (?) 1 f + f ' = ad' + bc' + a'b' + a'bc + ab'd + acd + bcd Konsansüsler eklenir: = ad' + bc' + a'b' + a'bc + ab'd + acd + bcd + a'b + b'd + bd + d = ad' + bc' + a'b' + a'b + d + a' + d' =1 1 Kanıtın bu kısmı değişik yollardan gidilerek da yapılabilir.
4) a) Tüm temel içeren tabanı: İfadeler: cd, c’d’, ac, ad’ Simgeler: A B C D Maliyetler: 4 6 4 5 b) 0 √ A √ B C D C D
3 X
X
4
7 X
X
8
14 X X
11 X
X X
X
X X
10 X X
10
M 4 5
12
14
15 X
X X
X
X X
M 4 6 4 5
A ve B gerekli temel içerenlerdir. C D’yi örter ve maliyeti daha düşüktür. Bu durumda D slinir.
Buna göre en ucuz yeterli taban: f = A+B+C = cd + c’d’ + ac Toplam Maliyet = 14 birim. c)
a b c
d
f
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr. Feza BUZLUCA
13.12.2002
LOJİK DEVRELERİ 2. YILİÇİ SINAVI AÇIKLAMALAR: 1. Sınav Süresi 100 dakikadır. 2. Gözetmenlere soru sormayınız. 3. Kopya çektiği belirlenenler Fakülte Disiplin Kuruluna sevk edilecektir. SORU 1: Yanda blok diyagramı gösterilen, 3 adet veri girişi (a,b,c), bir adet seçme girişi (s) olan bir lojik devre tasarlanacaktır. Devrenin s girişine lojik 0 uygulanırsa z çıkışında f(a,b,c) lojik fonksiyonunun değeri, s girişine lojik 1 uygulanırsa aynı f fonksiyonun tümleyeni (f') elde edilmektedir.
a b c
s
s=0 verilirse z = f(a,b,c) = a'b +bc + b'c' s=1 verilirse z = f'(a,b,c)
f / f'
z
Tarif edilen devreyi, en fazla iki adet tümleme kapısı ve en büyüğü 4:1 olan gerekli sayıda veri seçiciler kullanarak tasarlayıp çiziniz. Bunların dışında herhangi bir lojik bağlaç kullanılmayacaktır. SORU 2: a) Hem Q hem de Q' çıkışı olan bir adet pozitif kenar tetiklemeli D flip-flopu ve sadece bir adet uygun boyutta veri seçici kullanarak, pozitif kenar tetiklemeli bir JK "flip-flop"u tasarlayarak çiziniz. b) Yandaki şekilde gösterildiği gibi bir T flip-flopunun girişine bir YA DA (EXOR) bağlacı bağlanarak bir X "flip-flop"u elde edilmiştir. Bu X "flip-flop"unun işlev tablosunu (X girişine göre "flip-flop" içeriğinin değişimi) çizerek çalışmasını açıklayınız. X "flip-flop"unun zaman diyagramını çiziniz.
X
T
Q
SORU 3:
Q0 J Q K CLK
Q 0'
T
A B
Q CLK
Z
Q1 Q 1'
Saat
Yukarıda çizimi verilmiş olan senkron ardışıl devreyi çözümleyerek durum geçiş/çıkış tablosunu ve durum geçiş diyagramını çiziniz.
İ.T.Ü Bilgisayar Mühendisliği Bölümü Yrd.Doç. Dr. Feza BUZLUCA
13.12.2002
LOJİK DEVRELERİ 2. YILİÇİ SINAVI CEVAPLARI CEVAP 2: S=0 ise z = f(a,b,c) = a’b + bc + b’c’ S=1 ise z = f ’(a,b,c) a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
f(S=0) 1 0 1 1 1 0 0 1
c' 1 c' c
Devre c
c' 1
I0 I1 I2 I3
f 4:1 MUX
s1
a
CEVAP 2: a) JK Flip-flop işlev tablosu: J K Q(t+1) 0 0 Q(t) 01 0 10 1 1 1 Q(t)'
'0' '1'
f'
s0
J K
I1
2:1 MUX
s0
s
b
I0 I1 4:1 I2 VS I3 s 1 s 0
I0
Q D CLK Q
Q Q'
Saat
b) T tipi flip-flop: Q(t+1) = T⊕ Q(t) Verilen flip-flop: T = X ⊕ Q(t) → Q(t+1) = ( X ⊕ Q(t) ) ⊕ Q(t) Q(t+1) = X D tipi flip-flop gibi davranır. İşlev tablosu: X Q(t+1) 0 0 (saat işaretinin çıkan kenarlarında) 1 1 (saat işaretinin çıkan kenarlarında) φ Q(t) (saat işaretinin diğer durumlarında)
z
Saat X T Q
CEVAP 3: J=(A·B)' + Q0 K=(A·B)' + Q1 T= (A+B)·Q1'
Q0+ = J·Q0' + K'⋅Q0 Q0+ = ((A·B)' + Q0 )⋅Q0' + ((A·B)' + Q1)'⋅Q0 Q0+ = A'·Q0' + B'·Q0' + A·B·Q0·Q1' Q1+ = T ⊕ Q Q1+ = A + B + Q1
Q1+Q0+,Z Q1 Q0 00 01 10 11
00 01,1 00,1 11,1 10,0
AB 01 11,1 10,1 11,1 10,0
S+,Z 10 11,1 10,1 11,1 10,0
S D1 D2 D3 D4
11 10,1 11,1 10,0 10,0
Durum-geçiş diyagramında girişler ve çıkış AB,Z şeklinde gösterimiştir.
00 D2,1 D1,1 D4,1 D3,0
D1 01,1 10,1 11,1
D4
AB 01 10 D4,1 D4,1 D3,1 D3,1 D4,1 D4,1 D3,0 D3,0
11 D3,1 D4,1 D3,0 D3,0
00,1 00,1
11,1
D2 11,1
00,0 01,0 10,0 11,0
00,1 01,1 10,1
D3
01,1 10,1
11,0