BAB 2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL Sebelum melangkah lebih jauh, dalam bab ini akan dibahas dasar-dasar logika digital yang merupakan elemen dasar penyusunan komputer. Pembahasan dimulai dengan rangkaian logika kombinasional yang hasil keluarannya hanya tergantung pada masukan saat itu, kemudian dilanjutkan dengan rangkaian logika sekuensial yang hasil keluarannya tergantung pada masukan saat itu dan hasil keluaran sebelumnya. Dengan memahami prinsip logika digital, dapat dirancang rangkaian logika digital seperti yang ada dalam komputer.
2.1
Unit Logika Kombinasional
Unit logika kombinasional (ULK) adalah unit yang menerjemahkan sederetan masukan menjadi sederetan keluaran menggunakan fungsi-fungsi tertentu. Keluaran yang dihasilkan hanya merupakan fungsi dari masukan, dan begitu nilai masukan berubah maka nilai keluaran akan menyesuaikan. Bentuk umum dari unit logika kombinasional tercantum pada Gambar 2.1. Sederetan masukan i0 − in diumpankan ke ULK, yang mengahsilkan sederetan keluaran sesuai dengan fungsi f0 − fm . Tidak ada umpan balik dari keluaran ke masukan dalam rangkaian logika kombinasional. Masukan dan keluaran untuk ULK secara normal mempunyai 2 nilai yaitu: tinggi dan rendah. Jika sinyal (nilai) berupa nilai yang dimabil dari anggota himpunan berhingga, rangkaiannya disebut digital. Rangkaian elektronika digital menerima masukan dan keluaran dalam nilai 0 atau 1. Nilai 0 yang berarti 0 volt disebut sebagai nilai rendah dan nilai 1 yang biasanya mengacu pada 5 volt disebut nilai tinggi. Kesepakatan ini tidak 11
12
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL i0 −→ i1 −→ unit logika .. . kombinasional in −→
−→ f0 (i0 , i1 ) −→ f /qqf 1(i1 , i3 , i4 ) .. . −→ fm (i9 , in )
Gambar 2.1: Unit logika kombinasi, jika dilihat dari luar berlaku di semua keadaan. Walaupun sebagian besar komputer digital adalah komputer biner, namun rangkaian yang menggunakan multi-nilai juga ada. Jalur yang mengirimkan data denga multi-nilai menjadi lebih efisien daripada menggunakan 2 nilai saja. Rangkaian digital multi-nilai berbeda dengan rangkaian analog karena rangkaian digital multi-nilai mempunyai variasi nilai terhingga sedangkan sinyal analog mempunyai nilai kontinu. Secara teori penggunaan rangkaian digital multi-nilai adalah menguntungkan. Namun dalam pratiknya sulit untuk membuat rangkaian multi-nilai yang handal dalam membedakan nilai lebih dari 2 macam. Oleh karena itu, logika multi-nilai saat ini digunakan secara terbatas. Dalam buku ini hanya akan dibahas mengenai rangkaian digital biner, yang mempunyai tepat 2 macam nilai yang diperbolehkan untuk masukan maupun keluaran. Dengan demikian, hanya sinyal binerlah yang digunakan dalam pembahasan selanjutnya.
2.2
Tabel Kebenaran
Pada tahun 1854 George Boole mempublikasikan kertas kerjanya dalam bentuk aljabar unruk merepresentasikan logika. Boole tertarik dengan pemikiran matematika untuk menuangkan pernyataan ”Pintu itu terbuka” atau ”Pintu itu tidak terbuka”. Aljabar Boole kemudian dikembangkan oleh Shannon dalam bentuk seperti sekarang ini. Dalam aljabar boole, perhitungan didasarkan pada variabel biner yang mempunyai satu nilai 0 atau 1. Nilai ini mengacu pada nilai 0 volt dan 5 volt seperti yang ditulis pada bagian sebelumnya. Pengacuan nilai ini dapat tertukar. Artinya nilai 0 mengacu pada +5 V dan nilai 1 mengacu pada 0 V. Untuk memahami kelakukan rangkaian digital pembahasan dititikberatkan pada nilai simbolis 0 dan 1 saja. Dengan kata lain nilai fisik dikesampingkan terlebih dulu. Sumbangan penting yang diberikan Boole adalah penyusunan tabel kebenaran, yang menyatakan hubungan logis dalam bentuk tabel. Misalnya ada ruang dengan 2 saklar A dan B yang mengendalikan lampu Z. Salah satu saklar dapat hidup atau mati, atau kedua saklar dapat hidup atau mati. Yohanes Suyanto
2.3. Gerbang Logika Masukan Keluaran A B Z 0 0 0 0 1 1 1 0 1 1 1 0 (a)
13 Masukan Keluaran A B Z 0 0 1 0 1 0 1 0 0 1 1 1 (b)
Gambar 2.2: Tabel kebenaran untuk saklar A dan B serta lampu Z Jika hanya ada satu saklar yang hidup maka lampu Z akan menyala. Jika kedua saklar hidup semua atau mati semua, lampu Z akan mati. Tabel kebenaran dapat disusun dengan mendaftar semua kemungkinan kombinasi keadaan saklar A dan B serta keadaan lampu Z seperti pada Tabel 2.2. Dalam tabel tersebut nilai 0 menyatakan mati sedang nilai 1 menyatakan hidup atau menyala. Dalam tabel kebenaran, semua kombinasi biner 0 dan 1 yang mungkin untuk nilai masukan didaftar dan setiap kombinasi tersebut menghasilkan nilai keluaran 0 atau 1. Untuk Gambar 2.2.(a) keluaran Z tergantung pada nilai masukan A dan B. Untuk setiap kombinasi masukan menghasilkan nilai X 0 atau 1. Kita dapat menentukan tabel lain seperti Gambar 2.2.(b) yang berarti lampu akan menyala jika A dan B kedua-duanya mati atau kedua-duanya hidup. Jumlah kombinasi yang mungkin untuk 2 masukan adalah 22 = 4. Jumlah kombinasi keluaran yang mungkin adalah 24 = 16, karena ada 4 kombinasi masukan yang masing-masing baris kombinasi masukan ada 2 kemungkinan nilai keluaran. Secara umum, karena ada 2n n kombinasi masukan untuk masukan sebanyak n, maka ada 22 kombinasi keluaran dan masukan.
2.3
Gerbang Logika
Jika kita mendaftar semua kemungkinan dari kombinasi variabel 2 masukan, maka didapat 16 macam kombinasi keluaran seperti tampak pada Gambar 2.3. Fungsi-fungsi tersebut dinamakan fungsi logika Boolean. Fungsi AND akan benar (hasilnya 1) hanya jika A dan B keduanya 1, sedang fungsi OR akan benar (nilainya 1) jika A atau B bernilai 1, yang berarti juga jika keduanya bernilai 1. Fungsi akan menghasilkan salah jika keluaran bernilai 0. Oleh karena itu fungsi F alse selalu menghasilkan 0 sedang fungsi T rue selalu menghasilkan 1. Fungsi A dan B hanya mengulang nilai masukan A dan B sedang fungsi Yohanes Suyanto
14
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Masukan A B 0 0 0 1 1 0 1 1
F alse 0 0 0 0
AND 0 0 0 1
AB 0 0 1 0
Masukan A B 0 0 0 1 1 0 1 1
NOR 1 0 0 0
XNOR 1 0 0 1
B 1 0 1 0
Keluaran A AB 0 0 0 1 1 0 1 0 Keluaran A+B A 1 1 0 1 1 0 1 0
B 0 1 0 1
XOR 0 1 1 0
OR 0 1 1 1
A+B 1 1 0 1
NAND 1 1 1 0
T rue 1 1 1 1
Gambar 2.3: Tabel kebenaran untuk semua kemungkinan fungsi dari 2 masukan A dan B adalah komplemen A dan B yang nilai berkebalikan dengan A dan B. Fungsi ini dapat ditulis juga dengan NOT A dan NOT B. Fungsi NAND kependekan dari NOT AND sedang NOR kependekan dari NOT OR. Fungsi XOR bernilai benar jika salah satu masuka bernilai benar, dan bukan keduaduanya benar. Fungsi XNOR adalah komplemen dari XOR. Fungsi lainnya dapat diduga sendiri artinya. Dari 16 fungsi tersebut, ada 3 fungsi paling dasar dalam gerbang logika ini adalah AND, OR dan NOT . Ke-13 fungsi lainnya dapat disusun dari 3 fungsi tersebut. Lihat Gambar 2.4. Gerbang logika adalah alat fisis yang merupakan implementasi dari fungsi Boolean. Fungsi seperti yang tertera pada Gambar 2.3 mempunyai simbol gerbang logika, dan sebagian dapat dilihat pada Gambar 2.5 dan Gambar 2.6. Untuk setiap fungsi, masukannya adalah A dan B dan sebagai keluaran adalah F . Dalam Gambar 2.5, gerbang AND dan OR sudah dijelaskan sebelumnya. Keluaran dari gerbang AND akan benar jika kedua masukan bernilai benar, dan menghasilkan salah untuk kombinasi lainnya. Keluaran dari gerbang OR adalah benar jika salah satu atau kedua masukan bernilai benar, dan bernilai salah jika kedua masukan bernilai salah. Gerbang buffer hanya meneruskan nilai masukan. Walaupun secara logika gerbang buffer tidak mempunyai peran, namun dalam praktik ini penting karena dapat mengendalikan sejumlah gerbang dengan satu sinyal saja. Gerbang NOT (disebut juga pembalik atau inverter ) menghasilkan 1 untuk masukan 0 dan menghasilkan 0 untuk masukan 1. Sekali lagi, keluaran pembalik ini adalah komplemen dari Yohanes Suyanto
2.3. Gerbang Logika
F alse AB A AB B XOR NOR XNOR B A+B A A+B NAND T rue
= = = = = = = = = = = = = =
15
0 A AND NOT B A NOT A AND B B A AND NOT B OR NOT A AND B NOT (A OR B) NOT (A AND NOT B OR NOT A AND B) NOT B A OR NOT B NOT A NOT A OR B NOT (A AND B) 1
Gambar 2.4: Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi lainnya masukan. Lingkaran kecil di bagian keluaran atau masukan berfungsi juga sebagai komplemen. Dalam Gambar 2.6, gerbang NAND dan NOR mengahasilkan komplemen dari gerbang AND dan OR. Gerbang XOR menghasilkan 1 jika salah satu masukan bernilai 1, tetapi tidak keduanya. Secara umum, gerbang XOR menghasilkan 1 jika masukan yang bernilai 1 berjumlah ganjil. Ini penting untuk diingat karena gerbang XOR tidak selalu mempunyai 2 masukan. Gerbang XNOR menghasilkan komplemen dari gerbang XOR. Simbol logika seperti gambar 2.5 dan 2.6 hanya merupakan bentuk dasar. Masih banyak variasi simbol yang sering digunakan. Contohnya, dapat berupa AND dengan 3 masukan seperti Gambar 2.7a. Lingkaran kecil sebagai simbol kompelemen juga dapat dipasang pada bagian masukan seperti pada Gambar 2.7b. Secara fisis, gerbang logika bukanlah barang ajaib, karena hanya berupa rangkaian elektronika yang menghasilkan keluaran tertentu dari masukan tertentu. Misalnya pada gerbang NOT, akan menghasilkan logika 1 (+5V) untuk masukan berupa logika 0 (0V). Bagian berikut membahas mekanisme Yohanes Suyanto
16
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A 0 0 1 1
B 0 1 0 1
A 0 0 1 1
F 0 0 0 1
A B
F = AB
B F 0 0 1 1 0 1 1 1
A B
F =A+B
AND A 0 1
OR F 0 1
A F =A BUFFER
A 0 1
F 1 0
A
F =A NOT
Gambar 2.5: Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer, dan NOT dasar bagaimana rangkaian gerbang logika bekerja.
2.4
Implementasi Elektronik dari Gerbang Logika
Secara elektronis, gerbang logika mempunyai terminal untuk dihubungkan dengan sumber tenaga yang biasanya tidak ditampilkan. Gambar 2.8a menggambarkan pembalik dengan terminal +5V dan 0V (GND) yang dimunculkan. Sinyal +5V biasanya disebut VCC yang berarti voltage collector-collector. Pada rangkaian fisis, semua terminal VCC dan GND dihubungkan dengan sumber tenaga yang cocok. Gerbang logika tersusun dari alat elektronik yang disebut transistor, yang dapat bersifat sebagai saklar yang mengendalikan sinyal elektronis kuat dengan menggunakan sinyal elektronis lemah. Transistor juga bersifat penguat yang dapat menguatkan sinyal masukan sehingga dapat digunakan untuk dihubungkan dengan banyak gerbang logika. Tanpa penguatan, kita mungkin hanya dapat mengirim sinyal ke sejumlah kecil gerbang logika, sebelum sinyal itu bercampur dengan derau sehingga tidak terdeteksi lagi. Simbol transistor tampak seperti Gambar 2.8c yang digunakan sebagai Yohanes Suyanto
2.4. Implementasi Elektronik dari Gerbang Logika A B 0 0 0 1 1 0 1 1
A 0 0 1 1
F 1 1 1 0
A B
F = AB
B 0 1 0 1
F 1 0 0 0
A B
F =A+B
NAND A B 0 0 0 1 1 0 1 1
17
NOR A 0 0 1 1
F 0 1 1 0
A F =A⊕ B B Exclusive-OR (XOR)
B 0 1 0 1
F 1 0 0 1
A F =A⊕ B B Exclusive-NOR (XNOR)
Gambar 2.6: Simbol gerbang logika untuk fungsi Boolean NAND, NOR, XOR, dan XNOR A B C
F = ABC
(a)
A F =A+B
B
(b)
Gambar 2.7: Variasi gerbang logika (a) tiga masukan dan (b) masukan dengan komplemen gerbang pembalik. Untuk masukan berupa 0 (0 V) pada basis akan menghasilkan keluaran 1 (+5 V) pada kolektor, karena tidak ada arus dari VCC ke GND akibat transistor mati. Jika sinyal 1 (+5 V) dimasukkan ke basis, maka akan ada arus listrik dari VCC ke GND karena transistor hidup. Oleh karena itu di kolektor tegangannya cukup kecil untuk dianggap logika 1. Jadi keluaran akan 0 (0 V). Karena akan selalu ada arus yang mengalir walaupun keluaran menunjukkan logika 0, maka kita perlu menentukan batas tegangan yang aman untuk nilai logika 0 dan 1. Jika kita menentukan secara ketat bahwa logika 0 adalah 0 V dan logika 1 adalah 5 V, maka kemungkinan rangkaian kita tidak bekerja sebagai mana mestinya jika keluarannya adalah 0.1 V bukan 0 V. Hal ini dapat terjadi dalam praktiknya. Untuk alasan ini, maka penentuan nilai Yohanes Suyanto
18
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL VCC R A A
Vcc = +5V F =A GND = 0V (a)
A
(b)
Gambar 2.8: (a) pembalik dengan terminal tenaga dimunculkan dan (b) rangkaian transistor untuk pembalik tegangan untuk logika 0 dan 1 menggunakan batas ambang. Pada Gambar 2.9a logika 0 ditentukan pada tegangan dalam rentang 0 V sampai dengan 0.4 V dan logika 1 dalam rentang 2.4 V sampai dengan 5 V. Rentang tegangan pada Gambar 2.9a adalah untuk sinyal keluaran. Karena sinyal dapat mengalami pelemahan maka untuk sinyal masukan diberi berselisih 0.4 V seperti tampak pada Gambar 2.9b. Namun demikian rentang nilai tegangan yang tercantum di sini tidak mengikat, tergantung dari keluarga gerbang logika yang digunakan. 5.0 V
5.0 V Logika 1
Logika 1
2.4 V Daerah terlarang
2.0 V
Daerah terlarang
0.8 V 0.4 V 0.0 V
Logika 0
(a)
Logika 0
0.0 V
(b)
Gambar 2.9: Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika keluaran, (b) gerbang logika masukan Gambar 2.10 menunjukkan rangkaian transistor untuk gerbang logika NAND dan NOR. Untuk rangkaian NAND kedua masukan A dan B harus berada pada daerah tegangan logika 1 untuk menghasilkan keluaran pada daerah tegangan logika 0. Untuk rangkaian gerbang NOR, salah satu masukan A atau B berada pada tegangan logika 1, akan mengakibatkan keluaran Yohanes Suyanto
2.5. Buffer Tri-State
19
VCC R VCC
AB
R
A
A+B B
A
B
(a)
(b)
Gambar 2.10: Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan berada pada daerah tegangan 0.
2.5
Buffer Tri-State
Buffer Tri-state adalah seperti buffer biasa yang kita bahas sebelumnya, dengan pengecualian bahwa ada tambahan masukan untuk mengendalikan keluaran buffer. Tergantung dari masukan kendali ini, keluaran dari buffer dapat bernilai 0, 1, atau tak berfungsi. Jadi ada 3 macam keluaran. Dalam Gambar 2.11a, jika masukan kendali C bernilai 1 maka buffer bekerja seperti biasa. Namun jika masukan kendali C ini bernilai 0 maka buffer dalam keadaan tak berfungsi, tidak ada sinyal keluaran. Simbol φ digunakan untuk menyatakan keadaan tak berfungsi ini. Perlu diketahui bahwa keadaan φ tidak menunjukkan 0 atau 1, tetapi menyatakan bahwa tidak ada sinyal. Dalam istilah elektronika keadaan ini disebut berimpedansi tinggi high impedance. Buffer tri-state kendali inversi mirip dengan buffer tri-state kecuali masukan kendalinya merupakan komplemen. Lihat Gambar 2.11b. A C (a)
F = AC atau F =∅
A C (b)
F = AC atau F =∅
Gambar 2.11: Buffer tri-state dan Buffer tri-state kendali inversi Keluaran yang secara elektronis tak terhubung berbeda dengan keluaran yang menghasilkan 0. Tidak terhubung secara elektronis berarti tidak ada Yohanes Suyanto
20
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Postulat
Teorema
Relasi AB = BA A(B + C) = AB + AC 1A = A AA = 0 0A = 0 AA = A A(BC) = (AB)C A=A AB = A + B AB + AC + BC = AB + AC A(A + B) = A
Dualisme A+B =B+A A + BC = (A + B)(A + C) 0+A=A A+A=1 1+A=1 A+A =A A + (B + C) A+B =A B (A + B)(A + C)(B + C) = (A + B)(A + C) A + AB = A
Sifat Komutatif Distributif Identitas Komplemen Teorema nol dan satu Idempoten Asosiatif Involusi Teorema DeMorgan Teorema konsensus Teorema absorbsi
Tabel 2.1: Sifat-sifat dasar aljabar Boole sinyal elektronis sedang logika 0 terhubung dengan GND. Dengan buffer tristate memungkinkan sejumlah keluaran dihubungkan menjadi satu tanpa ada risiko hubung singkat, asal dijaga bahwa pada satu saat hanya boleh satu buffer tri-state yang hidup. Buffer tri-state penting saat implementasi register.
2.6
Sifat-sifat Aljabar Boole
Tabel 2.1 merangkum sebagian dari sifat-sifat aljabar Boole yang dapat diterapkan pada ekspresi logika Boole. Postulat (dikenal sebagai postulat Huntington) merupakan aksioma dasar untuk aljabar Boole dan tidak memerlukan pembuktian. Teorema dapat dibuktikan melalui postulat. Setiap relasi dalam tabel mempunyai bentuk AND dan OR sebagai hasil dari prinsip dualisme. Bentuk dualisme ini memungkinan mengubah bentuk AND menjadi OR dan sebaliknya bentuk OR menjadi AND. Sifat komutatif menyatakan bahwa urutan kemunculan du avriabel dalam fungsi AND dan OR tidak mengakibatkan hasil yang berbeda. Dengan prinsip dualisme, sifat komutatif mempunyai bentuk AND (AB = BA) dan bentuk OR (A + B = B + A). Sifat distributif menunjukkan bagiaman variabel didistribusikan melalui operasi AND. Karena prinsip dualisme juga maka ada sifat distributif untuk OR. Sifat identitas menunjukkan bahwa variabel yang di-AND-kan dengan 1 atau di-OR-kan dengan 0, menghasilkan nilai variabel itu sendiri. Sifat komplemen mengakibatkan bahwa variabel yang dikenakan operasi AND terhadap komplemen variabel tersebut, menghasilkan 0 (karena paling tidak pasti ada 1 operan bernilai 0), dan variabel yang dikenakan operasi OR terYohanes Suyanto
2.6. Sifat-sifat Aljabar Boole A 0 0 1 1
B 0 1 0 1
AB 1 1 1 0
21 = A+B 1 1 1 0
A+B 1 0 0 0
=
AB 1 0 0 0
Gambar 2.12: Pembuktian teorema DeMorgan untuk 2 variabel hadap komplemennya, menghasilkan nilai 1 (karena pasti ada nilai 1 pada operannya). Teorema nol dan satu menyatakan bahwa operasi AND antara variabel dengan 0 akan menghasilkan 0 dan operasi OR antara variabel dengan 1 akan menghasilkan 1. Teorema idempoten menyatakan bahwa operasi AND atau OR antara variabel dengan dirinya sendiri menghasilkan nilai variabel itu sendiri. Teorema asosiatif menyatakan bahwa urutan operasi AND atau OR tidak mengakibatkan hasil yang berbeda. Teorema involusi menyatakan bahwa komplemen dari komplemen suatu variabel adalah variabel itu sendiri. Teorema DeMorgan, teorema konsensus, dan teorema absorbsi tidak begitu jelas sehingga kita perlu membuktikannya. Teorema DeMorgan dapat dibuktikan dengan induksi yaitu mendaftar semua kemungkinan nilai 2 variabel A dan B serta fungsi yang dibuktikan seperti Gambar 2.12. Sisi kiri dan kanan dalam ekspresi DeMorgan mempunyai nilai yang sama, inilah buktinya. Untuk teorema konsensus dan absorbsi, silakan dicoba sendiri untuk latihan. Tidak semua gerbang logika dibicarakan secara mendalam karena berdasarkan 3 himpunan gerbang logika yaitu {AND, OR, NOT}, {NAND}, dan {NOR}, satu himpunan dapat disusun dari gerbang-gerbang pada himpunan lainnya. Sebagai contoh misalnya implementasi OR dengan menggunakan himpunan {NAND}. Teorema DeMorgan dapat digunakan untuk menyusun gerbang OR dari gerbang NAND seperti Gambar 2.13 dan 2.14. Penjelasannya adalah sebagai berikut: A+B
= =
A+B AB
Teorema involusi Teorema DeMorgan
Untuk mendapatkan inversi (NOT) dari gerbang NAND penjelasannya adalah: A
= A + A Teorema idempoten Teorema DeMorgan = AA Yohanes Suyanto
22
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A B
A B
≡
F =A+B
F =AB
Gambar 2.13: Penyusunan NAND menjadi OR A A B
A+B
≡
A+B B
Gambar 2.14: Implementasi inversi dengan NAND Fungsi AND dalam {NAND} (Gambar 2.15) dijelaskan sebagai berikut: AB A B
=
F = AB
AB
≡
Teorema involusi A B
F = AB
Gambar 2.15: Penyusunan NAND menjadi AND Ekuivalensi di antara fungsi-fungsi logika menjadi penting dalam praktik, karena suatu jenis gerbang logika kemungkinan mempunyai karakteristik yang lebih baik daripada yang lainnya.
2.7
Bentuk Sum-of-Product dan Diagram Logika
Misalnya kita akan membuat fungsi yang lebih kompleks daripada sekedar gerbang logika sederhana, seperti fungsi mayoritas yang tertera sebagai tabel kebenaran pada Gambar 2.16. Fungsi mayoritas akan benar jika lebih dari separo masukan bernilai benar. Fungsi ini sering digunakan pada pembetulan kesalahan dengan menganggap bahwa nilai yang paling banyak muncul sebagai nilai hasil, atau kadang disebut pula sebagai fungsi voting. Karena pembahasan sampai di sini belum ada gerbang sederhana yang dapat digunakan secara langsung untuk implementasi fungsi mayoritas, maka kita akan melakukan transformasi dari persamaan AND-OR dua-level dan mengimplementasikannya dalam bentuk gerbang logika dari himpunan {AND, OR, NOT} (misalnya). Disebut persamaan dua-level karena ada satu level bentuk AND dilanjutkan dengan satu level bentuk OR. Fungsi Boolean untuk mayoritas ini bernilai benar jika nilai F pada tabel kebenaran bernilai Yohanes Suyanto
2.7. Bentuk Sum-of-Product dan Diagram Logika
Indeks minterm
0 1 2 3 4 5 6 7
A
B
C F
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
23
0 0 0 1 0 1 1 1
Gambar 2.16: Tabel kebenaran untuk fungsi mayoritas benar. Dengan demikian F akan benar untuk nilai A = 0, B = 1, dan C = 1, atau A = 1, B = 0, dan C = 1, dan seterusnya seperti dalam tabel. Salah satu cara untuk menuliskan persamaan logika adalah dengan menggunakan bentuk sum-of-product atau SOP, yang merupakan kumpulan AND dari variabel yang terlibat kemudian dioperasikan dengan OR. Bentuk persamaan logika untuk fungsi mayoritas tertulis pada Persamaan 2.1. Tanda ’+’ berarti operasi OR dan bukan penambahan secara aritmetika. F = ABC + ABC + ABC + ABC
(2.1)
Dengan mengamati persamaan tersebut kita dapat menentukan bahwa diperlukan 4 buah AND untuk implementasi suku perkalian ABC, ABC, ABC, dan ABC. Keluaran dari gerbang AND kemudian dihubungkan ke masukan gerbang OR 4-masukan seperti Gambar 2.17. Rangkaian ini menunjukkan fungsi mayoritas, dan kita dapat mengeceknya dengan memasukkan semua kombinasi yang mungkin untuk masukan dan mengamati hasilnya. Jika setiap suku mengandung tepat masing-masing variabel 1 kali, dalam bentuk komplemen atau bukan, maka suku ini disebut minterm. Minterm mempunyai nilai 1 dalam keluaran tabel kebenaran. Dengan demikian minterm adalah minimum term yang menghasilkan benar. Sebagai alternatif fungsi dapat ditulis dalam bentuk jumlahan dari kombinasi yang benar. Persamaan 2.1 dapat ditulis ulang menjadi persamaan 2.2 dengan indeks adalah minterm indeks seperti Gambar 2.16. X F = (3, 5, 6, 7) (2.2) Notasi ini digunakan secara resmi sebagai persamaan Boolean karena hanya berisi minterm saja. Persamaan 2.1 dan 2.2 disebut sebagai notasi Yohanes Suyanto
24
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A
B
C
F
Gambar 2.17: Implementasi fungsi mayoritas dengan dua-level AND-OR. Inverter tidak dihitung sebagai level. resmi untuk bentuk SOP.
2.8
Bentuk Product-of-Sum
Sebagai pasangan dari bentuk sum-of-product, persamaan Boolean dapat direpresentasikan dalam bentuk product-of-sum (POS). Persamaan dalam bentuk POS berupa koleksi rangkaian OR yang keluarannya dihubungkan bersama dengan gerbang AND. Salah satu cara untuk membentuk POS adalah dengan jalan melakukan komplemen terhadap bentuk SOP, dan kemudian diterapkan teorema DeMorgan. Sebagai contoh, lihat kembali fungsi mayoritas dalam bentuk tabel kebenaran di Gambar 2.16, bentuk komplemennya adalah baris-baris yang menghasilkan keluaran 0, seperti persamaan 2.3: F = A B C + A BC + ABC + AB C
(2.3)
Dilakukan komplemen pada kedua ruas didapat persamaan 2.4: F = A B C + A BC + ABC + AB C
(2.4)
Penerapan teorema DeMorgan yang berbentuk W + X + Y + Z = W X Y Z didapat persamaan 2.5: F = (A B C) (A BC) (ABC) (AB C)
(2.5)
Penerapan teorema DeMorgan yang berbentuk W XY Z = W +X +Y +Z pada faktor dalam kurung didapat persamaan 2.6 Yohanes Suyanto
2.8. Bentuk Product-of-Sum A
B
25
C
F
Gambar 2.18: Rangkaian OR-AND dua-level implementasi dari fungsi mayoritas. Inverter tidak dihitung sebagai level
F = (A + B + C)(A + B + C) + (A + B + C)(A + B + C)
(2.6)
Persamaan 2.6 berbentuk POS, dan berisi 4 maxterms, yang membolehkan setiap variabel muncul tepat 1 kali dalam bentuk komplemen maupun tidak. Maxterm, misalnya (A + B + C), mempunyai nilai 0 untuk satu baris dalam tabel kebenaran. Persamaan yang hanya berisi maxterm dalam bentuk POS dikatakan sebagai persamaan product-of-sum. Rangkaian OR-AND sebagai implementasi dari persamaan 2.5 tampaka pada Gambar 2.18. Salah satu motivasi penggunaan POS daripada SOP adalah jika menghasilkan bentuk persamaan Boole yang lebih sederhana. Persamaan Boole yang lebih sederhana dapat menghasilkan rangkaian yang lebih sederhana, namun ini tidak pasti karena ada sejumlah faktor yang tidak tergantung langsung pada ukuran persamaan Boole, seperti kompleksitas topologi perkawatan. Cacah gerbang adalah ukuran kompleksitas rangkaian yang menunjukkan cacah semua gerbang logika yang digunakan. Cacah masukan gerbang adalah ukuran lain kompleksitas rangkaian yang menunjukkan jumlah masukan ke semua gerbang logika. Untuk rangkaian pada Gambar 2.17 dan Gambar 2.18, cacah gerbang adalah 8 dan cacah masukan gerbang adalah 19 untuk bentuk SOP dan POS. Dalam kasus ini tidak ada perbedaan kompleksitas rangkaian antara bentuk SOP dan POS, tetapi untuk kasus lain perbedaannya menjadi nyata. Ada banyaj variasi metode untuk mereduksi kompleksitas rangkaian digital, beberapa di antaranya dibahas pada Bab 4. Yohanes Suyanto
26
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
2.9
Logika Positif dan Negatif
Sampai saat ini kita berasumsi bahwa tegangan tinggi dan rendah berpadanan dengan logika 1 dan 0, atau BENAR dan SALAH, yang dikenal sebagai active high atau logika positif. Kita dapat membuat pernyataan yang sebaliknya: tegangan rendah untuk logika 1 dan tegangan tinggi untuk logika 0. Penggunaan logika negatif kadang-kadang lebih disukai daripada logika positif untuk aplikasi yang sifatnya menghalangi daripada membolehkan. Gambar 2.19 menunjukkan ilustrasi pasangan gerbang AND-OR dan NAND-NOR untuk logika positif dan negatif. Logika positif gerbang AND berlaku seperti logika negatif gerbang OR. Gerbang logika secara fisis sama tanpa memperhatikan logika positif atau negatif, hanya interpretasi sinyalnya berubah. Level tegangan
A rendah rendah tinggi tinggi
B rendah tinggi rendah tinggi
F rendah rendah rendah tinggi
A B
gerbang AND fisis
F
B rendah tinggi rendah tinggi
F tinggi tinggi tinggi rendah
A B
gerbang NAND fisis
F
Level logika negatif
A 0 0 1 1
A B 1 1 1 0 0 1 0 0
B 0 1 0 1
A B
Level tegangan
A rendah rendah tinggi tinggi
Level logika positif
A B
F 0 0 0 1
F = AB
A B
F 1 1 1 0
F =A+B
Level logika positif
Level logika negatif
A 0 0 1 1
A B 1 1 1 0 0 1 0 0
B 0 1 0 1
F 1 1 1 0
F = AB
A B
F 0 0 0 1
F =A+B
Gambar 2.19: Logika positif dan negatif untuk pasangan AND-OR dan NAND-NOR Pencampuran logika positif dan negatif dalam satu sistem sebaiknya dihindari untuk mencegah kerancuan, tetapi kadang-kadang hal ini tidak daYohanes Suyanto
2.10. Data Sheet
27
pat dihindari. Untuk kasus ini, suatu teknik yang dikenal dengan nama ”pencocokan gelembung” membantu untuk menjaga agar logikanya berjalan dengan benar. Idenya adalah rangkaian logika positif bernilai positif dan dipasangi ”gelembung” (yang berarti inversi) untuk semua masukan dan keluaran untuk dihubungkan dengan rangkaian logika negatif. Dengan demikian sinyal yang keluar dari gelembung adalah komplemen dari sinyal yang memasukinya. Perhatikan rangkaian yang ditunjukkan oleh Gambar 2.20a, 2 rangkaian logika positif digabungkan dengan gerbang AND dan dihubungkan ke sistem logika positif. Sistem yang ekuivalen secara logis ditunjukkan pada Gambar 2.20b. Dalam proses pencocokan gelembung, gelembung dipasang pada setiap masukan atau keluaran dari rangkaian aktif rendah seperti Gambar 2.20c. Untuk memudahkan analisis rangkaian, gelembung masukan aktif rendah perlu dicocokkan dengan gelembung keluaran aktif rendah. Dalam Gambar 2.20c ada gelembung yang tidak cocok karena hanya ada 1 gelembung dalam 1 garis. Teorema DeMorgan digunakan untuk konversi dari gerbang OR menjadi gerbang NAND dengan masukan yang dikomplemenkan. Gambar 2.20d menunjukkan gelembung yang sudah cocok. logika positif
Logika positif x0 Logika positif x1 (a)
(b) logika negatif
Logika negatif x0 Logika negatif x1
logika negatif
Logika negatif x0 Logika negatif x1
logika negatif
Logika negatif x0 Logika negatif x1
(c)
(d)
Gambar 2.20: Proses pencocokan gelembung
2.10
Data Sheet
2.11
Komponen Digital
Desain rangkaian digital tingkat tinggi biasanya menggunakan sekumpulan gerbang yang dikemas dalam bentuk komponen bukan gerbang logika tunggal. Hal ini mengakibatkan bahwa kompleksitas rangkaian dapat dikurangi dan pemodelannya menjadi sederhana. Beberapa komponen dibahas dalam bagian berikut. Yohanes Suyanto
28
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
2.11.1
Level Integrasi
Sampai saat ini kita membahas desain unit logika kombinasional. Karena kita bekerja dengan gerbang tunggal, maka kita bekerja pada level integrasi skala kecil (small scale integration (SSI), yang meliputi chip dengan isi 10 - 100 komponen. Pengertian komponen di sini berbeda dengan komponen sebelumnya, yaitu mengacu pada transitor dan elemen diskrit lain. Dalam integrasi skala menengah atau mediam scale integration (MSI), isi chip berkisar antara 100-1000 komponen. Integrasi skala besar atau large scale integration (LSI) mengacu pada chip yang berisi 1000-10.000 komponen, dan integrasi skala sangat besar atau very large scale integration (VLSI) berisi komponen yang lebih banyak lagi.
2.11.2
Multiplekser
Multiplekser atau MUX (mutiplexer ) adalah komponen yang mempunyai banyak masukan dan 1 keluaran. Diagram blok dan table kebenaran dari MUX 4-ke-1 ditunjukkan oleh Gambar 2.21. Keluaran F adalah sama dengan masukan pada jalur yang dipilih oleh kendali masukan A dan B. Misalnya, jika AB = 00, maka keluaran F adalah nilai pada masukan D0 (baik 0 maupun 1). Rangkaian yang sesuai untuk MUX ini terlihat pada Gambar 2.22 D0 D1 Masukan D0 D1
00 01 10 11
AB F
0 0 1 1
0 1 0 1
F D0 D1 D2 D3
A B Kendali masukan F = A BD0 + A BD1 + A BD2 + ABD3 Gambar 2.21: Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 Saat kita mendesain rangkaian dengan MUX, biasanya kita menggunakan bentuk kotak seperti Gambar 2.21, bukan bentuk terperinci seperti Gambar 2.22. Dengan cara ini, gambar rangkaian menjadi lebih mudah dipahami. Multiplekser juga dapat digunakan untuk implemtasi fungsi Boolean. Gambar 2.23 menunjukkan penggunaan MUX sebagai fungsi mayoritas. Data masukan diambil langsung dari tabel kebenaran fungsi mayoritas, dan masukan kendali dihubungkan langsung ke variabel A, B, dan C. Implementsai fungsi menggunakan MUX adalah dengan memasang 1 pada jalur Yohanes Suyanto
2.11. Komponen Digital
29
D0 D1 F
D2 D3
A
B
Gambar 2.22: Implementasi MUX 4-ke-1 dengan AND-OR masukan yang merupakan minterm dan mengisi 0 untuk lainnya. Walaupun sebagian masukan tidak digunakan namun penggunakan MUX untuk implementasi fungsi Boolean namun banyak juga fungsi Boolean yang menggunakannya, sebab proses desainnya dan implementasinya menjadi lebih sederhana. ABC F 000 0 001 0 010 0 011 1 100 0 101 1 110 1 111 1
0 0 0 1 0 1 1 1
000 001 010 011 100 101 110 111
F
A B C Kendali masukan Gambar 2.23: Implementasi MUX 8-ke-1 untuk fungsi mayoritas Kasus lain penggunakan MUX 4-ke-1 untuk fungsi dengan 3 variabel ditunjukkan pada Gambar 2.24. Data msukan diambil dari himpunan {0,1,C, C}, dan pengelompokannya dapat dilihat pada tabel kebenaran. Jika AB = 00 maka F = 0, apapun nilai C, sehingga kita isi 0 untuk jalur masukan 00 pada MUX. Jika AB = 01, maka F = 1 apapun nilai C, sehingga Yohanes Suyanto
30
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
kita isi 1 pada jalur 01 pada MUX. Jika AB = 10 maka F = C, karena untuk C = 0 maka F = 0 dan untuk C = 1 maka F = 1, sehingga kita isi C pada jalur 10 pada MUX. Akhirnya untuk AB = 11, maka F = C, dan kita isi jalur 11 pada MUX dengan C. Dengan cara ini, kita dapat mengimplementasikan fungsi 3 variabel dengan menggunakan MUX 2 variabel. ABC F 000 0 001 0 010 1 011 1 100 0 101 1 110 1 111 0
0 1 C
0 1 C C
00 01 10 11
F
A B
C
Gambar 2.24: Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel
2.11.3
Demultiplekser
Demultiplekser atau DEMUX (demultiplexer ) adalah kebalikan dari MUX. Diagram blok untuk DMUX 1-ke-4 dengan kendali masukan A dan B serta tabel kebenaran yang sesuai ditunjukkan oleh Gambar 2.25. DEMUX mengirim data masukan D ke salah satu jalur keluaran Fi yang ditentukan oleh kendali masukan. Rangkaian DEMUX 1-ke-4 ditunjukkan pada Gambar 2.26. Aplikasi DEMUX digunakan untuk mengirim data dari satu sumber ke salah satu dari sejumlah tujuan, seperti tombol pada elevator kepada wahana elevator terdekat. DEMUX tidak biasa digunakan pada implementasi fungsi Boolean umumnya, walaupun cara ini juga bisa dilakukan.
2.11.4
Dekoder
Dekoder menerjemahkan secara logika kode menjadi artinya. Pada satu saat tepat hanya satu keluaran yang bernilai 1, yang ditentukan oleh kendali input. Diagram blok dan tabel kebenaran dari dekoder 2-ke-4 dengan kendali masukan A dan B tercantum pada Gambar 2.27. Rangkaian dekoder yang sesuai dengan itu terlihat pada Gambar 2.28. Dekoder dapat digunakan untuk mengendalikan rangkaian lain, dan menonaktifkan rangkaian lain. Karena alasan ini, kita tambahkan jalur Enable yang kan menghasilkan keluYohanes Suyanto
2.11. Komponen Digital
D
00 01 10 11
31
D0 D1 D0 D1
A B
DAB
F0 F1 F2 F3
0 0 0 0 1 1 1 1
0 0 0 0 1 0 0 0
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
Gambar 2.25: Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4
F0 F1 D F2 F3
A
B
Gambar 2.26: Rangkaian DEMUX 1-ke-4
aran 0 semua jika Enable ini diisi 0, yang secara logika mirip dengan DEMUX dengan masukan 1. Salah satu aplikasi dekoder adalah untuk menerjemahkan alamat memori menjadi lokasi fisis. Dekoder juga dapat digunakan untuk implementasi fungsi Boolean. Karena setiap jalur keluaran berkorespondensi dengan minterm yang berbeda, maka fungsi dapat diimplementasikan dengan operasi OR pada keluaran yang berkorespondensi dengan minterm yang bernilai benar. Contohnya Gambar 2.29 adalah implementasi fungsi mayoritas menggunakan dekoder 3-ke-8. Keluaran yang tidak digunakan dibiarkan tak terhubung. Yohanes Suyanto
32
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL Enable=1
A B Enable
00 01 10 11
D0 D1 D0 D1
AB
0 0 1 1
0 1 0 1
Enable=0
D0 D1 D2 D3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
AB
0 0 1 1
0 1 0 1
D0 D1 D2 D3
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
D0 = A B D1 = AB D2 = AB D3 = AB Gambar 2.27: Diagram blok dan tabel kebenaran dekoder 2-ke-4 D0 D1 A B
D2 D3
Enable Gambar 2.28: Rangkaian dekoder 2-ke-4
2.11.5
Enkoder Prioritas
Enkoder menerjemahkan sekumpulan masukan menjadi kode biner, dan dapat dipahami sebagai kebalikan dari dekoder. Enkoder prioritas adalah salah satu bentuk enkoder yang memperhatikan urutan masukan. Diagram blok dan tabel kebenarannya ada pada Gambar 2.30. Prioritas dalam enkoder ini maksudnya adalah bahwa masukan Ai mempunyai prioritas lebih tinggi daripada Ai+1 . Keluaran berupa nilai 00,01,10, atau 11 tergantung dari jalur masukan yang aktif dengan prioritas tertinggi. Jika tidak masukan yang aktif, keluaran menghasilkan nilai bawaan A0 (F1 F 0 = 00). Enkoder prioritas digunakan untuk memilih dari sejumlah alat yang berkompetisi untuk menggunakan jalur yang sama, misalnya jika sejumlah pengguna secara serentak berusaha menggunakan sistem komputer yang sama. Rangkaian enkoder prioritas 4-ke-2 tampak pada Gambar 2.31.
Yohanes Suyanto
2.11. Komponen Digital
A B C
33
000 001 010 011 100 101 110 111
M
Gambar 2.29: Implementasi fungsi mayoritas dengan dekoder 3-ke-8
2.11.6
PLA
Larik logika dapat diprogram atau programmable logic array (PLA) adalah komponen yang berisi matriks AND diikuti dengan matriks OR. PLA dengan 3 masukan dan 2 keluaran ditunjukkan oleh Gambar 2.32. Tiga masukan A, B, dan C dan komplemennya tersedia sebagai masukan untuk 8 gerbang AND yang menghasilkan 8 suku perkalian. Keluaran dari gerbang AND dihubungkan ke masukan semua gerbang OR yang menghasilkan keluaran fungsi F0 dan F1 . Sekering yang dapat diprogram diletakkan pada setiap persilangan pada matriks AND dan OR. PLA diprogram untuk fungsi tertentu dengan memutus sekering pada matriks. Pada saat sekering diputus pada gerbang AND, maka masukan tersebut terhubung ke nilai logika 1. Demikian juga jika sekering diputus pada gerbang OR, maka masukan terhubung ke logika 0. Sebagai contoh bagaiamana penggunaan PLA, kita lihat implementasi fungsi mayoritas dengan memakai PLA 3 × 2 (fungsi dengan 3 masukan variabel × 2 keluaran). Untuk keperluan penyederhanaan ilustrasi, bentuk seperti Gambar 2.33 yang dipergunakan, bukan 2.32. Dengan catatan bahwa jalura tunggal pada masukan gerbang AND mewakili 6 jalur masukan, dan jalur tunggal pada setiap gerbang OR mewakili 8 jalur masukan. Tanda bulatan kecil pada persimpangan menunjukkan tempat koneksi dibuat. Dalam Gambar 2.32 fungsi mayoritas hanya menggunakan setengah dari PLA, dan sisanya dapat dipergunakan untuk fungsi lain. PLA adalah komponen yang banyak gunanya sebagai rangkaian digital umum. Keunggulan dari penggunaan PLA adalah karena hanya ada sedikit masukan dan keluaran, dan ada banyak gerbang logika di antara masukan dan keluaran. Proses minimisasi jumlah koneksi dalam rangkaian menjadi penting untuk modularisasi sistem menjadi komponen. PLA sangat ideal unYohanes Suyanto
34
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A0 A1 A2 A3
A0 A1 A2 A3
00 01 10 11
F0 F1
F0 = A0 A1 A3 + A0 A1 A2 F1 = A0 A2 A3 + A0 A1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F0 F1
0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0
Gambar 2.30: Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2 tuk keperluan ini, dan banyak program otomatisasi desain PLA untuk fungsifungsi tertentu. Untuk menjaga konsep modularitas sering PLA dinyatakan sebagai kotak hitam seperti pada Gambar 2.34, dan diasumsikan bahwa isi PLA dengan mudah dapat dibuat menggunakan program secara otomatis.
2.11.7
Penggunaan PLA untuk Penjumlah Ripplecarry
Sebagai contoh lain implementasi PLA dalam rangkaian digital, kita akan mendesain rangkaian untuk menjumlah 2 bilangan. Penjumlahan secara biner mirip dengan penjumlah desimal menggunakan tangan. Bilangan biner yang dijumlahkan dari kanan ke kiri, menghasilkan hasil dan sisa (carry) di setiap bit. Dua bit dan sisa sebelumnya dijumlahkan pada setiap posisi bit, sehingga kemungkinan masing-masing nilai serta hasil jumlahan dan sisanya dapat disusun seperti pada Gambar 2.35. Tabel kebenaran pada Gambar 2.35 menjelaskan mengenai elemen yang disebut sebagai penjumlah penuh (full adder ), dan gambar simbolnya ada disebelahnya. Penjumlah setengah (half adder ), dapat digunakan pada bagian penjumlah paling kanan yang menjumlahkan 2 bit dan menghasilkan jumlah dan sisa. Penjumlah penuh di lain pihak menjumlah 2 bit beserta sisa Yohanes Suyanto
2.11. Komponen Digital
35
A0 A1
F0
A2 A3
F1
Gambar 2.31: Rangkaian enkoder prioritas 4-ke-2 pada proses sebelumnya dan juga menghasilkan jumlah dan sisa. Penjumlah setengah tidak digunakan pada kasus ini untuk meminimumkan macam komponen. Dengan 4 penjumlah penuh yang dipasang berjenjang dapat dihasilkan penjumlah biner 4 bit, seperti nampak pada Gambar 2.36. Penjumlah paling tetap menggunakan penjumlah penuh dengan menghubungkan masukan c0 dengan 0. Perlu diperhatikan bahwa nilai jumlah belum dapat dihitung sampai sisa dari penjumlah penuh sebelumnya dihitung. Rangkaian disebut penjumlah ripple carry karena nilai yang benar seperti bergeser dari kanan ke kiri. Walaupun gambar yang diperlihatkan nampak seperti paralel, namun sebenarnya penjumlahan bit dilakukan secara serial dari kanan ke kiri. Hal inilah yang merupakan kelemahan dari rangkaian ini. Pendekatan desain penjumlah penuh menggunakan PLA, nampak pada Gambar 2.37 Pendekatan desan dengan cara PLA adalah hal yang umum, dan alat bantu desain menggunakan komputer untuk VLSI biasanya lebih suka menggunakan PLA daripada MUX atau yang lain karena PLA berbentuk keseragamannya.
Yohanes Suyanto
36
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A
B
C
F0
F1
Gambar 2.32: PLA 3 masukan 2 keluaran
Yohanes Suyanto
2.11. Komponen Digital A
37
B
C
ABC ABC ABC ABC
F0
F1
Gambar 2.33: Penyederhanaan PLA A B C
PLA
F0 F1
Gambar 2.34: PLA dalam bentuk kotak hitam Ai Bi Ci
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
Si Ci+1
0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
Bi Ai Ci Full adder Ci+1 Si
Gambar 2.35: PLA dalam bentuk kotak hitam Yohanes Suyanto
38
2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
b3 a3
c3
b2 a2
c2
b1 a1
c1
b0 a0
Full adder
Full adder
Full adder
Full adder
s3
s2
s1
s0
c0
c4 Gambar 2.36: Implementasi penjumlah 4 bit menggunakan penjumlah penuh berjenjang
A
B Cin
Sum Cout Gambar 2.37: Penjumlah penuh menggunakan PLA
Yohanes Suyanto