boole cebiri ve temel geçitleraykut/classes/fall2012/... · 2017-01-08 · • Çıkışlar,...
TRANSCRIPT
BİL 201 Geçit düzeyinde yalınlaştırma
(Gate-Level Minimization)(Gate-Level Minimization)
Hacettepe ÜniversitesiBilgisayar Müh. Bölümü
Boole Cebiri ve Temel Geçitler
• Boole cebiri (Boolean algebra )
• Boole işlevleri (Boolean functions)
• Temel geçitler (Logic gates)
•• Standard biçimler (Standard forms)– Standard çarpımlar toplamı (Sum of minterms)
– Standard toplamlar çarpımı (Product of maxterms)
2geçtiğimiz hafta..
Birleşimsel Mantık(Combinatorial Logic)
• Bir ya da daha çok giriş sinyali
• Bir ya da daha çok çıkış sinyali
• Çıkışlar, yalnız giriş değerlerinin o andaki değerlerine bağlı değerlerdir. (yayılma değerlerine bağlı değerlerdir. (yayılma gecikmesi - propagation delays)
3önümüzdeki hafta..
Birleşimsel Mantık(Combinatorial Logic )
• Birleşimsel devreler belleksiz devrelerdir. – Çıkışlar, yalnızca giriş değerlerine bağlıdır.
– Daha önceki olaylar bilinmez.
– Aynı giriş değerleri her zaman aynı çıkış – Aynı giriş değerleri her zaman aynı çıkış değerlerini verir.
• Dizisel devreler (sequential circuit) bellekli devrelerdir. – Aynı giriş değerleri farklı çıkış değerlerini
verebilir.
4önümüzdeki hafta..
Geçit Düzeyinde Yalınlaştırma(Gate-Level Minimization)
• Harita yöntemiyleyalınlaştırma (Karnaughmap minimization)map minimization)
5
bu hafta..
* Buradaki yansıların büyük bir bölümü Herb Kaufman (UMICH, ABD)’ın yansılarına dayanmaktadır.
Deyimler ve Mantıksal Devreler
• Her bir deyim bir devre ile gösterilebilir.
• Bir işlev birçok deyimden oluşur.
• Deyim yalın ise, devre de o oranda daha hızlı ve ucuzdur. ve ucuzdur.
• Bu nedenle boole işlevlerini yalınlaştırmaya çalışırız.
• Buna yalınlaştırma (minimization) denir.
6
Boole İşlevlerinin Yalınlaştırılması (Simplification of Boolean Functions)• Amaç,
verilen mantıksal bir ifadeye eş başka bir ifade bulmaktır:– a) Bir deyimde daha az değişken– b) Daha az deyim– b) Daha az deyim– c) Gerçekleştirimi daha basit
• Üç yöntem– Cebirsel yalınlaştırma– Harita yöntemi ile yalınlaştırma (Karnaugh Map)– Çizelge yöntemi ile yalınlaştırma (Quine-McCluskey)
7
Cebirsel Yalınlaştırma(Algebraic Minimization)
• Boole cebirinin kuralları, ilkeleri ve teoremleri (laws, postulates, theorems) kullanılarak yalınlaştırmadır. – Ne zaman hangi kural uygulanacak ?
– Elde edilen deyim en küçük deyim midir ?
– Hata yapmak kolaydır : örn. tümlerinin alınmasının unutulması, değişkenlerin unutulması,...
8
Bitişikliğe Dayalı Cebirsel Yalınlaştırma (Algebraic Minimization via Adjacency)
• Aşağıdaki iki deyim bir değişkenin tümlerinin alınması dışında eşdeğerdir. – Örnek: abc’d’ + abcd’ = abd’
xy + xy’ = x (x+y) (x+y’)=x
– Örnek: abc’d’ + abcd’ = abd’
• Bir deyim silinir ve kalan deyimlerden bir değişken silinir.– Örn: (önce yeni bir abc ekle)
ab’c + abc +a’bc = ab’c + abc + abc + a’bc= ac + bc
9
Harita Yöntemi ile Yalınlaştırna(Karnaugh Map Minimization)
• Görsel bir yalınlaştırma yöntemidir. – Yakınlık özelliğini kullanır.
– En küçük deyimi bulur.
– Kullanımı kolay ve hızlıdır. – Kullanımı kolay ve hızlıdır.
– Problemler:• Belirli sayıda değişkene uygulanabilir. (4 ~ 8)
• Doğruluk çizelgesinden haritaya geçirirken yanlışlar yapılabilir.
• Haritadaki hücreler doğru bir şekilde gruplanmayabilir.
• Son deyim yanlış okunabilir.
10
Harita Yöntemi
• Harita belli sayıda hücreden oluşan bir 2 boyutlu dizgedir. – Her harita 1 bitten oluşan çıktıyı ifade eder.
– Her bir hücre çıktı işlevinin bir bitini gösterir. – Her bir hücre çıktı işlevinin bir bitini gösterir.
• Hücrelerin yerleşimi – Bitişik terimlerde sadece 1 değişken değeri
farklıdır.
örn. m6 (110) and m7 (111)
11
Doğruluk Çizelgesi ve Bitişiklik (adjacency)
00000
00001
00111
m0m1m3m2m6
01100
A B C D minterm
00000
00001
00110
m0m1m2m3m4
01010
A B C D minterm
Standart doğruluk çizelgesi Yakınlığı göstermez.
Gray kodları
12
000011111111
111111110000
110000111100
m6m7m5m4m12m13m15m14m10m11m9m8
011001100110
000011111111
111100001111
001100110011
m4m5m6m7m8m9m10m11m12m13m14m15
010101010101
Gray Kodlarından HaritayaABCD
0000
0001
0011
0010
0110
0111
0101
0100
13
0100
1100
1101
1111
1110
1010
1011
1001
1000
00 01 11 10
00
01
11
10
AB
CD
Harita (K-Maps)
• 1 değişkenli harita 21 = 2 .2 değişkenli harita 22 =43 değişkenli harita 23 = 8 4 değişkenli harita 24 = 16 hücreye sahiptir.
14
1 değişken 2 değişken 3 değişken 4 değişken
Harita ile Yalınlaştırma
• Her bir hücre için 4 komşu vardır. (yukarı, aşşağı, sağ yan, sol yan)
• 2 boyutlu dizge yapısı ile ancak 4 değişkenekadar yakınlık bilgisi kodlanabilir.
15
kadar yakınlık bilgisi kodlanabilir.
AB
00 01 11 10
00
01
11
10
C
CD
A
D
B
AB 01 11 10
0
C
A
C
B
00
1
4 değişkenli
3 değişkenliEn üst ve en alttaki hücreler, en sağ ve en sol
hücreler de bitişiktir.
Doğruluk Çizelgesinden Haritaya
• Doğruluk çizelgesindeki satırların sayısı ile haritanın hücrelerinin sayısı aynı olmalıdır.!
AB00 01 11 10CD
A0
0
0
0
0
0
x
x
0
1
A B C D F
16
00 01 11 10
00
01
11
10 C
CD
D
B
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
m13
m12
m15
m5 m9
m0
m7
m1
m3
Harita ile YalınlaştırmaDoğruluk çizelgesinden harita gösterimine geçiş
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
A B C D F AB00 01 11 10
00
01
CD
A
0 0 0 1
1 1
0
0
17
10 ve 11 sütunlarının yerine dikkat!
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
01
11
10 C
D
B
1 1
1
1
0
0 0
0
0
0 0 0
Gruplama –Bitişiklik ilkesinin uygulanması
• Đki hücre aynı değere sahip (1) ve birbirlerine komşu ise, deyimler bitişiktir.
• Gruplar üst üste gelebilir.
AB00 01 11 10
00
01
CD
A
0 0 0 1
1 1
0
0
AB’C’D’
AB’C’
AB’C’D
18
• Grup sayısı 2 nin katlarıdır. (1, 2, 4, 8)
• 1ler ve 0lar gruplandırılabilir.
11
10 C
D
B
1 1
1
1
0
0 0
0
1
1 0 0
Grupların okunması 1/2• 1leri /0ları gruplama çarpımlar
toplamı/toplamlar çarpımı deyimlerini yalınlaştırır.
• Grupların içindeki değişken değerlerinin nasıl değiştiğine dikkat edin. (Aşağıdaki tabloya
AB00 01 11 10
00
01
11
CD
A
D
0 0 0 1
1 1
1
0
0 0
0
1
AB’C’
19
dikkat edin. (Aşağıdaki tabloya göre deyimler belirlenir.)
Değişken değişiyor Dahil etme Dahil etmeDeğişken sabit 0 tümleri kendisiDeğişken sabit 1 kendisi tümleri
11
10 C
B
1
1
0 01
1 0 0
1leri gruplama 0ları gruplama
Grupların okunması 2/2
• Gruptaki değişkenin değeri grup içerisinde değişiyor ise, bu değişkeni deyimden çıkar.
• Sabit 1 değeri, o değişkenin kendisinin alınacağını (AND terimi için) gösterir.(AND terimi için) gösterir.
• Sabit 0 değeri, o değişkenin kendisinin alınacağanı (OR terimi için) gösterir.
20
2-Değişkenli HaritaA 1
r0 r2
r1 r3
0
1
B 0
Satır 0,
Satır A B F(A,B) 0 0 0 0 1 0 1 12 1 0 13 1 1 1
21
Satır 0, A=0, B= 0
3 1 1 1
A
1
0 1
1 1
0
1
B 0
F(A,B) = A + B
2 Değişkenli HaritaSatır A B F1(A,B) 0 0 0 0 1 0 1 12 1 0 13 1 1 0
A1
0 1
1 0
0
1
B 0
F1(A,B) = A’B + AB’
22
Satır A B F2(A,B) 0 0 0 0 1 0 1 02 1 0 03 1 1 1
A1
0 0
0 1
0
1
B 0
F2(A,B) = AB
3 Değişkenli HaritaSatır A B C F(A,B,C) 0 0 0 0 1 1 0 0 1 02 0 1 0 13 0 1 1 04 1 0 0 05 1 0 1 0
A1
1 0
0 0
00
BC0
01
0 4
1 5
23
5 1 0 1 06 1 1 0 17 1 1 1 0
0 0
1 1
11
10F(A,B,C) = Σm(0,2,6)
F’(A,B,C) = Σm(1,3,4,5,7)
F(A,B,C) = πM(1,3,4,5,7)
1 5
3 7
2 6
F(A,B,C) = A’C’+BC’
Örn : 3 Değişkenli Harita
• Eğer bir işlev cebirsel formda ise, onu çarpım terimleri (mintermler) biçiminde açmak gereksizdir.
• Örnek: F(A,B,C) = ABC’+B’C+A’
24
A1
1
1 1
00BC 0
1
1 1
01
11
10
ABC’
B’C (in BC=01 satır)
A’ (in A=0 sütun)
Örn 2: 3 Değişkenli Harita
• Harita Boole cebirinin temel teoremlerini gösterir.
Örnek: XY+X’Z+YZ = XY+X’Z (Consensus Teoremi)
25
X1
1
1
00YZ 0
1
1
01
11
10XY
X1
1
1
00YZ 0
1
1
01
11
10
X’Z
YZ (consensus deyimi)
XY+X’Z+YZ XY+X’Z
Örn 3: 3 Değişkenli Harita
• Bir işlevin birden çok en küçük deyimi var ise, hepsi harita yöntemi ile bulunabilir.
• Örn: F(a,b,c) = Σm(0,1,2,5,6,7)
26
a1
1
1 1
00bc 0
1
1 1
01
11
10
a 1
1
1 1
00bc 0
1
1 1
01
11
10
F = a’b’+bc’+ac F = a’c’+bc’+ab
4 Değişkenli HaritaF(A,B,C,D) = Σm(0,2,5,7,8,9,10,11,12,13,14,15)
ABCD
00 01 11 10
00 1 11
=A+BD+B’D’
0 4 12 8
B’D’
27
00
01
11
10
1
1
1 1
1 1
1
1
11
1
1
0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 10
BD
A
Toplamların Çarpımı olarak Yalınlaştırma 1/2
• F(A,B,C,D) = Σ(0,1,2,5,8,9,10) toplamların çarpımı olarakyalınlaştırın.
• 0 ile işaretlenmiş hücreler F içinde yer almayan çarpım terimlerini gösterir (F’
AB00 01 11 10
00
CD
A
1 0 0 1
28
almayan çarpım terimlerini gösterir (F’aittir). 0 içeren hücreleri birleştirmek Fin tümlerini verir.
F’ = AB + BD’+CD
F’ a DeMorgan kuralını uygularsak
F = (A’+B’)(B’+D)(C’+D’)
00
01
11
10 C
D
B
1 0 0 1
1 1
0
0
0
0 0
1
0
1 0 1
CD BD’ AB
Toplamların Çarpımı olarak Yalınlaştırma 2/2
29
İçerikler(Implicants) veAsal İçerikler (Prime Implicants)
Daha büyük bir grubun parçası olan tek bir hücre ya da bir grup hücreye içerikdenir.
En büyük gruba asal içerik
AB00 01 11 10
00
01
CD
A
0 0 0 1
1 1
0
0
30
Asal içerikler
Đçerikler
En büyük gruba asal içerikdenir. (başka bir deyimle bir değişkeni elimine etmek için birleşmez)
Tek bir hücre de asal içerik olabilir.
01
11
10 C
D
B
1 1
1
1
0
0 0
0
1
1 0 0
İçerikler ve En Küçük Deyimler
• Tüm değerleri (1ler) içeren içeriklerin herhangi istenilen işlevi gösterir.
• Tüm değeleri (1ler) içeren asal içeriklerin en
31
• Tüm değeleri (1ler) içeren asal içeriklerin en küçük kümesi, işlevin en küçük deyim ile gösterimini verir. – Birden fazla en küçük küme olabilir.
Asıl Asal İçerikler
• Bir asıl asal içerik 1 ile gösterilen bir hücreye sahip ve bu hücre başka bir asal içerik tarafından kapsanmaz ise, bu bir asıl asal içerik (essential prime implicant) tir.
• Diğer asal içeriklere ise ikincil asal içerik secondary prime implicant denir.
• En küçük deyim, asıl asal içeriklerin hepsini ve diğer 1 değerlerini örten minimum sayıdaki ikincil asal içeriği içerir.
32
Harita Yöntemi ile Yalınlaştırma
A) Tüm asal içerikleri bul.
B) En küçük asal içerik kümesini bul.
1) Tüm asıl asal içerikleri bul. 1) Tüm asıl asal içerikleri bul.
2) Đkincil asal içeriklerin en küçük kümesini bul.
Ortaya çıkan deyim, en küçük deyimdir.
33
Harita Yöntemi ile Yalınlaştırma
• m2 sadece B’C ile kapsanır� B’C asıl asal içeriktir
• m14 sadece AC ile kapsanıs � AC asıl asal içerik
• m5 sadece BD ile kapsanır
AB00 01 11 10
00
01
11
CD
A
D1
1
1
1 11
BD
CD 5
34
• m5 sadece BD ile kapsanır � BD asıl asal içerik
• CD asıl asal içerik değildir,çünkü her bir 1 başka bir asal içerik ile kapsanabilir.
• Tüm asıl asal içerikler en küçük deyimde olmalıdır.
• Kalan 1ler ikincil asal içerikler ile kapsanır.
11
10 C
B
1 1 11
1 1 1
B’C
AC2
3
14
F = BD+B’C+AC
Önemsiz Birleşimler (Don’t Cares)
• Đşlevlerin yalınlaştırılması için, önemsiz birleşimler (“x” ya da “-”) 0 ya da 1 ile ifade edilebilir. – Cebirsel yalınlaştırmada kullanılması zordur zira tüm
olası kombinasyonların incelenmesini gerektirir.
35
olası kombinasyonların incelenmesini gerektirir.
– Harita yöntemi ile kolay bir şekilde incelenebilir.
• Harita yöntemi uygulanırken önemsiz birleşimler daha büyük grupların elde edilmesine yardımcı olabilirler.
Önemsiz Birleşimler ile Yalınlaştırma
AB00 01 11 10
00
CD
A
0 0 x 1 A*BD*
36
1 ve X içeren hücreleri çevreleyebiliriz.
01
11
10 C
D
B
1 1
1
1
x
x x
0
0
0 x x
BC*
F = A+BC+BD
5 Değişkenli HaritaBC
DE
BC
A =0 00 01 11 10
00
01
11
10
0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 10
1
10
1
10 BC
DE 00 01 11
00
01
11
10
A=0
BC DE 00 01 11
1 1
1
1 1
37
= C E + A B' E + B C' D' E' + A' C' D E'
BC DE
A =1
00 01 11 10
00
01
11
10
16 20 28 24
17 21 29 25
19 23 31 27
18 22 30 26
00
1 01
11
10
A=1 1
1 1
1 1 1
ƒ(A,B,C,D,E) = �m(2,5,7,8,10,13,15,17,19,21,23,24,29 31)
6 Değişkenli HaritaCD
EF
CD EF
AB =00
AB =01
00 01 11 10 00
01
11
10
00 01 11 10 00
01
11
10
0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 10
16 20 28 24
17 21 29 25
19 23 31 27
18 22 30 26
1
1 1
1
1 1
CD EF
CD EF
AB =00
AB =01
00 01 11 10 00
01
11
10
00 01 11 10 00
01
11
10
ƒ(A,B,C,D,E,F) =�m(2,8,10,18,24,26,34,37,42,45,50,
53,58,61)
38
= D' E F' + A D E' F+ A' C D' F'
10
CD EF
AB =11
00 01 11 10 00
01
11
10
CD EF
AB =10
00 01 11 10 00
01
11
10
18 22 30 26
48 52 60 56
49 53 61 57
51 55 63 59
50 54 62 58
32 36 44 40
33 37 45 41
35 39 47 43
34 38 46 42
1 1
1 1
1 1
1 1
1 1
10
CD EF
AB =11
00 01 11 10 00
01
11
10
CD EF
AB =10
00 01 11 10 00
01
11
10
NAND ve NOR
• AND, OR ve NOT, birleşimsel devreleri boole cebiri ile ifade edebilmek için kullanılan temel işlemlerdir.
• Diğer iki temel mantık işlem kümeleri:– sadece NAND
a
b(ab)’
a
ba' + b’
NAND Geçidi
a
b(a + b)’
a
ba'b’
NOR Geçidi
– sadece NAND
– sadece NOR NAND and NOR evrensel geçitler olarak anılır!
NAND NOR
NAND
40
AND-OR dan NAND-NAND e Geçiş
• Tüm AND geçitlerini NAND (AND-invert) geçitlerine çevir.
• Tüm OR geçitlerini NAND (invert-OR) geçitlerine çevir.çevir.
• Şemadaki tüm yuvarlakları kontrol et. Herbir yuvarlak sembol için- başka bir geçit ile tümlenmeyen- 1 girişli NAND geçiti kullan ya da tümlerini al.
41
Örn. 1: AND-OR dan NAND-NANDe Geçiş
42
Örn. 2: AND-OR dan NAND-NANDe Geçiş
• F(A,B,C,D) = Σ(1,2,3,4,5,7) fonksiyonunu sadece NAND kapıları kullanarak yalınlaştırın.
43
NOR
44
AND-OR dan NOR-NOR a Geçiş
45
Diğer 2 düzeyli gerçekleştirmeler
• AND-OR-INVERT
• OR-AND-INVERT
• Okuma ödevi: Mano-Ciletti (bölüm 3.4)
46
Exclusive-OR (XOR)
• ⊕ ile gösterilir.• Sayısal devrelerde çokça kullanılır• a ⊕ b = a’b + a b’ işlemini gerçekleştirir.
• Yer değiştirme (commutativity) özelliğia ⊕ b = b ⊕ a
• Birleşme (associativity) özelliği:
a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c = a ⊕ b ⊕ c
47