[Realisasi Rangkaian Kombinasional] BAB IV
Realisasi Rangkaian Kombinasional a. XOR, Parity generator/checker Exclusive-OR atau XOR yang dinotasikan dengan symbol , adalah operator logika yang akan memberikan nilai 1 apabila x bernilai 1 atau apabila y bernilai 1, namun bukan saat keduanya, x dan y bernilai 1. XOR memiliki fungsi Boolean. π₯ β¨π¦ = π₯π¦ β² + π₯β²π¦ Komplemen dari XOR adalah XNOR, adalah operator logika yang akan memberikan nilai 1 apabila x dan y bernilai 0 atau bernilai 1. XNOR memiliki fungsi Boolean. π₯ β¨π¦ β² = π₯π¦ + π₯ β² π¦β²
Gambar 4.10. Rangkaian POS dengan gerbang NOR Simbol gerbang serta table kebenaran XOR dan XNOR ditunjukkan pada gambar 4.11
Gambar. 4.11. Tabel Kebenaran XOR dan XNOR
[Realisasi Rangkaian Kombinasional] BAB IV
Dari table kebenaran XOR dan XNOR dapat dilihat bahwa operator XOR dan XNOR dapat digunakan untuk mengecek parity. XOR untuk mengecek parity ganjil, sedangkan XNOR untuk mengecek parity genap. Fungsi XOR mengecek parity ganjil apabila nilai binary memiliki jumlah angka 1 ganjil. Dan sebaliknya pada fungsi XNOR akan mengecek parity genap apabila nilai binary memiliki jumlah angka 1 genap. Sehingga fungsi XOR sangat membantu dalam error-detection dan pengkoreksian kode, karena kedua system tersebut menggunakan fungsi parity. Parity bit adalah extra bit yang ditambahkan pada binary message untuk membuat jumlah angka 1 pada binary message ganjil atau genap. Pesan dan parity bit tersebut dikirim, kemudian di cek oleh receiver untuk mengetahui apakah terjadi error pada pesan atau tidak. Error akan terdeteksi apabila nilai parity tidak sesuai dengan yang diharapkan. Rangkaian yang membangkitkan nilai parity disebut parity generator, sedangkan rangkaian yang mengecek nilai parity disebut parity generator. Contoh 4.1 : Sebuah system even-parity-generator akan mengirim pesan 4-bit bersama dengan bit even parity-nya. Tabel kebenaran untuk parity generator ditunjukkan pada table 4.2 Tabel 4.2 even-parity-generator
Inputnya adalah 4-bit pesan (x,y,z) dan outputnya adalah bit parity. Pada pesan 4-bit yang bernilai ganjil, output akan bernilai 1, agar jumlah angka 1 bernilai genap (even-parity-generator). Maka fungsi outputnya adalah π = π₯β¨π¦β¨π§ Implementasi rangkaian diunjukkan pada gambar 4.12
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.12. Implementasi rangkaian Selanjutnya pesan 4-bit dan bit parity-nya dikirim, dan dicek oleh rangkaian parity checker, apakah ada error pada pesan yang telah dikirim. Error akan terjadi apabila 4-bit yang diterima, jumlah angka 1-nya tidak berjumlah genap. Rangkaian parity checker akan memberi nilai 1 pada output (C) apabila terjadi error atau angka 1 pada bit pesan bernilai ganjil. Table kebenaran untuk fungsi even-parity-checker ditunjukkan pada table 4.4 Tabel 4.4. Tabel kebenaran even-parity-checker
Maka fungsi outputnya adalah πΆ = π₯β¨π¦β¨π§β¨π Implementasi rangkaian diunjukkan pada gambar 4.14
Gambar 4.14 Implementasi parity checker
[Realisasi Rangkaian Kombinasional] BAB IV
b. Hamming code (parity Code) generator / checker Hamming Code adalah salah satu kode tunggal pengoreksi kesalahan (single error-correcting code) yang digunakan dalam RAM ditemukan oleh RW Hamming. Dalam kode Hamming, bit parity ditambahkan ke dalam bit-bit informasi, jika suatu saat ada perubahan bit-bit data ketika proses transmisi, maka bit-bit informasi asli masih bisa diselamatkan. Bit k parity ditambahkan ke word data n-bit, membentuk kata baru dari n + k bits. Posisi bit nomor berurutan dari 1 sampai n + k. Bit parity tambahan diberikan pada bit-bit informasi sebelum ditransmisikan, sedangkan pada sisi penerima dilakukan pengecekan dengan algoritma yang sama dengan pembangkitan bit parity tambahan. Cara pengisian bit tambahan pada bit-bit informasi x, adalah sebagai berikut : π1 π2 π4 π4 π5 π6 π7
x x 1 x 0 1 1
data4,5,6, / Untuk bit data 4-bit, bit-bit data terletak pada Bit posisi dan 7. Bit pengisi terletak pada posisi 1,2,4 (2K) --> K = jumlah bitdata -1. Tabel Hamming untuk informasi 4 bit Bit Pengisi informasi terlihat pada tabel 5.1.
Data/bit 0000 0001 0010 0011 0100 0101 0110
π1 0 1 0 1 1 0 1
Tabel 5.1. Tabel Hamming 4 bit π2 π4 π4 π5 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1
π6 0 0 1 1 0 0 1
π7 0 1 0 1 0 1 0
[Realisasi Rangkaian Kombinasional] BAB IV
0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 0 1 0 0 1 0 1
0 1 0 0 1 1 0 0 1
0 1 1 1 1 1 1 1 1
1 0 1 1 0 1 0 0 1
1 0 0 0 0 1 1 1 1
1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1
Nilai bit pengisi / cek : (untuk informasi 4 bit) diperoleh melalui rumus berikut ini : π1 = π4 β¨ π5 β¨π7 π2 = π4 β¨ π6 β¨π7 π4 = π5 β¨ π6 β¨π7 Untuk informasi n-bit, nilai bit pengisi / cek adalah : π1 = 4,5,7,9,11,14,15,... π2 = 4,6,7,10,11,14,15,... π4 = 5,6,7,12,14,14,15,20,21,22,24, β¦ π8 = 9 β 15, 24 β 41, 40 β 47, ... π16 = 17 β 41, 48 β 64, 80 β 95, β¦ π42 = 44 β 64, 96 β 127, 160 β 191, β¦ Dst.. Perhatikan, misalnya, data word 8-bit 11000100. Kami menyertakan 4 paritas bit dengan kata 8-bit dan 12 bit mengatur sebagai berikut: Bit 1 2 4 4 5 6 7 8 9 10 11 12 Position π1 π2 1 π4 1 π8 0 0 0 1 0 0 4 bit parity π1 , π2 , π4 , πππ π8 berada pada posisi 1,2,4, dan 8. 8 bit word data berada pada posisinya. Tiap bit parity dihitung berdasarkan rumus berikut ini : π1 = πππ
πππ‘ 4,5,7,9,11 = 1 β¨ 1 β¨ 0 β¨ 0 β¨ 0 = 0 π2 = πππ
πππ‘ 4,6,7,10,11 = 1 β¨ 0 β¨ 0 β¨ 1 β¨ 0 = 0 π4 = πππ
πππ‘ 5,6,7,12 = 1 β¨ 0 β¨ 0 β¨ 0 = 1
[Realisasi Rangkaian Kombinasional] BAB IV
π8 = πππ
πππ‘ 9,10,11,12 = 1 β¨ 0 β¨ 0 β¨ 0 = 1 Operasi EXOR menampilkan fungsi ganjil, outputnya = 1 untuk jumlah variabel 1 yang jumlahnya ganjil. Dan outputnya = 0, untuk jumlah variabel bernilai 1 jumlahnya genap. Sehingga tiap bit parity diset pada jumlah keseluruhan variabel bernilai 1 pada posisi yang dicek termasuk didalamnya bit parity, akan selalu genap. 8 bit data word dimasukkan dalam memory secara bersama-sama dengan 4 bit parity sebagaimana 12 bit word composit. Penggantian 4 P bit pada posisi yang sesuai, maka diperoleh 12 bit composite word yang dimasukkan dalam memory : Bit 0 Position 1
0 2
1 4
1 4
1 5
0 6
0 7
1 8
0 9
1 10
0 11
0 12
Ketika 12 bit data dibaca dari memory, kemudian dicek kembali nilai errornya. Parity dicek keseluruhan dengan kombinasi bit yang sama termasuk bit parity. 4 bit yang dicek dievaluasi dengan cara berikut ini : πΆ1 = πππ
πππ‘ 1,4,5,7,9,11 πΆ2 = πππ
πππ‘ 2,4,6,7,10,11 πΆ4 = πππ
πππ‘ 4,5,6,7,12 πΆ8 = πππ
πππ‘ 8,9,10,11,12 Hasil C = πΆ8 πΆ4 πΆ2 πΆ1 = 0000, mengindikasikan bahwa tidak ada error yang terjadi. Tetapi, jika C β 0, sehingga 4 bit binary dibentuk dengan bit cek yang mengindikasikan bit error. Sebagai contoh, mengingat 4 kasus berikut : 1 Bit 0 Position 1
2 0 0
4 1 1
4 1 1
5 1 1
6 0 0
7 0 0
8 1 1
9 0 0
10 1 1
11 0 0
12 0 0
0
0
1
1
0
0
0
1
0
1
0
0
No Error Error in bit 1 Error in bit 5
Pada kasus pertama, tidak ada error pada 12 bit word. Pada kasus yang kedua, terjadi error pada posisi bit 1 karena berubah dari 0 ke 1. Kasus ketiga menunjukkan
[Realisasi Rangkaian Kombinasional] BAB IV
adanya error pada posisi bit 5, dengan perubahan dari 1 ke 0. Pengevaluasian XOR dari bit yang berkorespondensi, menentukan 4 bit cek dengan cara :
For no error With error in bit 1 With error in bit 5
πΆ8 0 0 0
πΆ4 0 0 1
πΆ2 0 0 0
πΆ1 0 1 1
C = 0000, dengan nilai error pada bit 1, diperoleh nilai C = 0001 dan nilai error pada bit 5, nilai C = 0101. Ketika binary number C tidak sama dengan 0000, memberikan posisi pada bit error. Error dapat diperbaiki dengan melengkapi bit yang berkorespondensi. Error dapat terjadi pada word data atau pada salah satu bit parity. Hamming code terdiri dari k bit cek dan n bit data, untuk keseluruhan bit n + k. Nilai C terdiri dari k bit dan memiliki range 2π , nilainya diantara 0 dan 2π β 1. Satu dari nilai ini, biasanya adalah 0, yang digunakan untuk mengindikasikan bahwa tidak ada error yang terdeteksi. Nilai 2π β 1 untuk mengindikasikan bit π + π telah error. Tiap nilai 2π β 1 dapat digunakan secara unik untuk mendeskripsikan bit yang error. Oleh karena itu, rentang k harus sama dengan atau lebih besar dari π + π, hubungan antar keduanya adalah : 2π β 1 β₯ π + π pemecahan untun pada bagian k, diperoleh : 2π β 1 β π β₯ π Hubungan ini memberikan formula untuk membangun sejumlah bit data yang dapat digunakan pada konjungsi dengan k bit cek. Sebagai contoh, ketika k = 4, jumlah bit data yang dapat digunakan π β€ 24 β 1 β 4 = 4. Untuk k = 4, diperoleh 24 β 1 β 4 = 11, diberikan π β€ 11. Word data paling tidak 11 bit, tetapi harus memiliki paling tidak 5 bit, sebaliknya hanya 4 bit cek yang dibutuhkan. Hal ini membenarkan penggunaan 4 bit cek untuk 8 bit data pada contoh sebelumnya. Rentang nilai n untuk variasi nilai k, terlihat pada tabel 5.2. Pengelompokkan bit untuk parity generation dan checking dapat ditentukan dari sederetan binary number 1,4,5,7 dan sebagainya. Bit Signifikan kedua adalah 1 pada binary number 2,4,6,7 dan sebagainya. Perbandingan jumlah ini dengan posisi bit yang digunakan
[Realisasi Rangkaian Kombinasional] BAB IV
untuk men-generate dan checking bit parity pada hamming code, perlu dicatat hubungan Tabel 5.2. Rentang Bit Data untuk k bit cek Jumlah bit cek , k Rentang bit data, n 4 2-4 4 5 - 11 5 12 - 26 6 27 - 57 7 58 - 120 antara pengelompokkan bit pada code dan posisi bit - 1 pada urutan binary count. Tiap grup dari permulaan bit dimulai dengan angka 2:1,2,4,8,16,... Angka ini juga merupakan nomer posisi dari bit parity. Sehingga dapat dituliskan untuk informasi nbit, cara pengecekkan adalah : 1. Tanda semua posisi bit yang merupakan pangkat dua sebagai bit parity (posisi 1, 2, 4, 8, 16, 42, 64, ...). 2. Posisiyang lain digunakan sebagai bit data yang akan dikodekan (posisi 4, 5, 6, 7, 9, 10, 11, 12, 14, ...). 3. Masing-masingbit pengecek menghitung bit setiap posisi dengan cara menge-cek dan melewati, sebagai berikut: a. Posisi1 : cek 1 bit, lewat 1 bit, cek 1 bit, lewat 1 bit dsb (1,4,5,7,9,11,14,15β¦). b. Posisi2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb (2,4,6,7,10,11,14,15,β¦). c. Posisi4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb (4,5,6,7,12,14,14,15,20,21,22,24, β¦). d. Posisi8 : cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb (8-15,24-41,4047,...) e. Posisi42 : cek42 bit, lewat 42 bit, cek42 bit, lewat 42 bit, dsb (42-64,96127,160-191,...). Bernilai bit parity = 1, jika total bit "1" diposisi yang dicek adalah ganjil (odd) dan bernilai 0 jika total bit "1" adalah genap (Even).
[Realisasi Rangkaian Kombinasional] BAB IV
Single-Error Correction, Double-Error Detection Hamming Code dapat mendeteksi dan mengoreksi hanya untuk error tunggal. Dengan menambahkan parity lainnya pada code word, hamming code dapat digunakan untuk mengoreksi error tunggal dan mendeteksi error ganda. Jika tambahan bit parity, kemudian 12 bit code word sebelumnya menjadi 001110010100π14 , dimana π14 dievaluasi dari EXOR dari 12 bit lainnya. Hal ini memproduksi 14 bit word 0011100101001 (parity genap). Saat 14 bit word dibaca dari memory, bit cek di evaluasi, sebagaimana parity pada keseluruhan 14 bit. Jika P = 0, parity benar (parity genap), tetapi jika P = 1, kemudian keseluruhan 14 bit parity adalah incorrect (odd parity). Sehingga dapat disimpulkan : a. Jika C = 0 dan P = 0, maka tidak ada error yang terjadi b. Jika πΆ β 0 dan P = 1, error tunggal yang terjadi dan dapat diperbaiki c. Jika πΆ β 0 dan P = 0, error ganda yang terdeteksi, akan tetapi tidak dapat diperbaiki. d. Jika C = 0 dan P = 1, Error terjadi pada bit π14 Skema ini dapat mendeteksi lebih dari 2 error, akan tetapi tidak menggaransi untuk mendeteksi seluruh error. Contoh Soal : 1. Bagaimana bentuk data yang ditransmisikan dengan kode Hamming, jika diketahui bit data = 1010 ? Jawab : π1 = π4 β¨π5 β¨π7 β π1 = 1 + 0 + 0 = 1 π2 = π4 β¨π6 β¨π7 β π2 = 1 + 1 + 0 = 0 π4 = π5 β¨π6 β¨π7 β π4 = 0 + 1 + 0 = 1 sehingga bentuk data yang ditransmisikan menjadi : 1011010. 2. Sebuah urutan data diterima : 0010011 dengan nilai : e1 = 0 e2 = 1 e4 = 0 Tentukan bit diposisi mana yang salah?Berapa nilai data asli (sebelum ditambah bit parity)? Jawab : π1 = π1 β¨π4 β¨π5 β¨π7 = 0 + 1 + 0 + 1 = 0 β πππππ π2 = π2 β¨π4 β¨π6 β¨π7 = 0 + 1 + 1 + 1 = 1 β π πππβ π4 = π4 β¨π5 β¨π6 β¨π7 = 0 + 0 + 1 + 1 = 1 β πππππ
[Realisasi Rangkaian Kombinasional] BAB IV
π1 = π4 β¨π5 β¨π7 β π1 = 1 + 0 + 1 = 0 β π πππ ππππππ π¦πππ πππππππ π2 = π4 β¨π6 β¨π7 β π2 = 1 + 1 + 1 = 1 β π‘ππππ π πππ ππππππ π¦πππ πππππππ π4 = π5 β¨π6 β¨π7 β π4 = 0 + 1 + 1 = 0 β π πππ ππππππ π¦πππ πππππππ Berarti bit diposisi 2 yang salah, seharusnya yang diterima adalah : 0110011 nilai data asli = π4 π5 π6 π7 = 1011. c. Adder: Ripple-carry dan LookAhead Carry
[Realisasi Rangkaian Kombinasional] BAB IV
Adder adalah rangkaian untuk melakukan operasi aritmatika penjumlahan. Pada bab ini akan dijelaskan 4 macam adder : 1. Half adder Half adder adalah rangkaian adder yang hanya memiliki input untuk bilangan yang ingin dijumlahkan, tanpa ada carry sebagai input. Tabel kebenaran dan rangkaian half adder ditunjukkan pada gambar 4.14
A
Net 1
SUM
B Net 2 CARRY
Gambar 4.14 Tabel kebenaran dan Rangkaian Selain itu, dari table kebenaran dapat dilihat bahwa Sum memiliki logika kebenaran yang sama dengan XOR, maka rangkaian pada gambar 4.15 dapat diganti dengan gambar 4.16.
Gambar 4.15. Rangkaian Half Adder dengan XOR 2. Full Adder Full adder adalah rangkaian adder yang memiliki input untuk bilangan yang ingin dijumlahkan, carry input. Tabel kebenaran dan rangkaian full adder ditunjukkan pada gambar 4.16
[Realisasi Rangkaian Kombinasional] BAB IV
\Cin \ B \ A Cin B A A
B SUM Cin
Cout
Gambar 4.16. Tabel Kebenaran dan Rangkaian
[Realisasi Rangkaian Kombinasional] BAB IV
Disederhanakan menjadi
Sehingga rangkaian full adder menjadi seperti yang ditunjukkan pada gambar 4.17
Gambar 4.17. Rangkaian Full Adder Selain itu, 1-bit full adder juga dapat disusun dari 2 half adder seperti yang ditunjukkan pada gambar 4.18.
Gambar 4.18. rangkaian Full Adder dari Half Adder
[Realisasi Rangkaian Kombinasional] BAB IV
4. Ripple Carry Adder dan Look Ahead Adder Dari gambar 4.18 dimana 1-bit full adder dapat disusun dari 2 half adder, maka full adder dapat disusun secara seri untuk membuat n-bit full adder, dimana bit carry-out pada full adder sebelumnya menjadi input bit carry-in selanjutnya. Oleh karena itu, konfigurasi n-bit full adder yang disusun dari beberapa 1-bit full adder disebut Ripple-carry adder. Pada gambar 4.19 menujukkan blok diagram dari 4-bit Ripple-carry adder, dimana berfungsi untuk menjumlahkan 4 bit yaitu X 4 X2 X1 X0 dengan Y4 Y2 Y1 Y0. Gambar 4.22 adalah rangkaian 16-bit riplle adder. Gambar 4.20 dan 4.21 menunjukkan look ahead carry. Pada look ahead adder carry digenerate secara pararel
Gambar 4.19 Ripple Carry Adder
Gambar 4.20 Multi bit carry look ahead adder
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.21 look ahead adder
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.22 16 bit Ripple Adder d. Subtractor (HS, FS) Substractor adalah rangkaian untuk melakukan operasi aritmatika pengurangan. Substractor juga bisa disusun dari adder dengan prinsipx bilangan pengurangan diubah menjadi bernilai negative, seperti fungsi X β Y = X + (-Y). Konsep dari substractor terlihat pada gambar 4.24. Pada bab ini akan dijelaskan 4 macam substractor : 1. Half substractor 2. Full substractor 3. Ripple substractor Half Substractor Half substractor adalah rangkaian substractor yang hanya memiliki input untuk bilangan yang ingin dikurangkan, tanpa ada borrow sebagai input. Tabel
[Realisasi Rangkaian Kombinasional] BAB IV
kebenaran dan rangkaian half substractor ditunjukkan pada gambar 4.24. Jika x β₯ y, maka ada 4 kemungkinan yakni 0 - 0 = 0, 1 - 0 = 1 dan 1 - 1 = 0. Jika x < y, maka diperoleh nilai 0 - 1, dan harus memnjam borrow (Bo --> borrow out ) 1 pada kondisi setelahnya. Half substractor membutuhkan 2 output, output pertama adalah hasil dari pengurangan kedua input direpresentasikan sebagai nilai Di (Difference). Output kedua adalah direpresentasikan sebagai nilai Bi (Borrow).
Gambar 2.24. Konsep substractor pada sistem digital Nilai output Bi benilai 0 selama x β₯ y, dan bernilai 1 untuk x = 0 dan y = 1. dari tabel kebenaran diperoleh persamaan sebagai berikut : π· = π₯ β² π¦ + π₯π¦β² π΅ = π₯β²π¦ Full substractor Full substractor adalah rangkaian substractor yang memiliki input untuk bilangan yang ingin dikurangkan, dan borrow input. Tabel kebenaran dan rangkaian full substractor ditunjukkan pada gambar 4.24 dan 4.25.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.24 menunjukkan map Fungsi Boolean untuk kedua output dari full substractor, menghasilkan nilai fungsi sebagai berikut : π·π = π₯ β² π¦ β² π§ + π₯ β² π¦π§ β² + π₯π¦π§ π΅π = π₯ β² π¦ + π₯ β² π§ + π¦π§ Rangkaian full substractor terlihat pada gambar 4.26, Full substractor dapat dibangun dengan 2 half substractor.
Gambar 4.24. Map karnaugh full substractor
Gambar 4.25. (a) contoh binary substraction, (b) Tabel kebenaran full substraction
[Realisasi Rangkaian Kombinasional] BAB IV
Ripple-carry substractor Dari gambar 4.24(a) dimana 1-bit full substractor dapat disusun dari 2 half substractor, maka full substractor dapat disusun secara seri untuk membuat n-bit full substractor, dimana bit borrow-out pada full substractor sebelumnya menjadi input bit borrow-in selanjutnya. Oleh karena itu, konfigurasi n-bit full substractor yang disusun dari beberapa 1-bit full substractor disebut Ripple-carry substractor. Pada gambar 4.27 menujukkan blok diagram dari 4-bit Ripple-carry substractor, dimana berfungsi untuk mengurangkan 4 bit yaitu A4 A2 A1 A0 dengan B4 B2 B1 B0.
Gambar 4.25 (a) Binary substraction tables, (b) Tabel Kebenaran untuk half substractor, (c) Blok untuk half substractor, (d) Rangkaian logika untuk half substractor. e. Multiplier Multiplier adalah rangkaian untuk melakukan operasi aritmatika perkalian. Seperti :
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.26. Full Substractor (a) Block symbol; (b) Full substractor yang dibangun dari 2 half adder; (c) Diagram logika
[Realisasi Rangkaian Kombinasional] BAB IV
Pada perhitungan perkalian diatas, dapat dilihat masing-masing dikalikan dengan operator AND, kemudian hasil perkalian dijumlah, namun terlebih dahulu 0000, 1011, dan 1011 digeser ke kiri terlebih dahulu dengan bantuan shifter register. Cara lain yaitu dengan membuat table kebenaran untuk menemukan fungsi perkalian.Contoh akan dibuat rangkaian perkalian 2-bit perkalian. Tabel kebenaran untuk 2-bit perkalian A (A1,A0) dikali B (B1,B0), dan hasil perkalian P (P4,P2,P1,P0), ditunjukkan pada table 4.4. Dengan bantuan Kmap diperoleh fungsi untuk masing-masing perkaliannya P0 = A0.B0 P1 = A1β.A0.B1 + A1.A0.B0β + A1.B1β.B0 + A1.A0β.B0 P2 = A1.B1.B0β + A1.A0β.B1 P4 = A1.A0.B1.B0
Gambar 4.27. Ripple-carry substractor
[Realisasi Rangkaian Kombinasional] BAB IV
f. Shifter combinational Shifter combinational adalah rangkaian yang dapat menggeser nilai bit, baik dari kiri ke kanan, maupun dari kanan ke kiri. Saat bergeser, bit terakhir akan dibuang dan bit awal akan diisi dengan 0. Shifter kombinasional memiliki saklar control untuk memilih arah penggeseran. Tabel kebenaran untuk rangkaian 2-bit shifter, dan implementasi pada rangkaiannya ditunjukkan pada gambar 4.28. S adalah sakalar control, dan D1, D0 adalah bit input. Apabila S bernilai 0, maka bit input akan digeser ke kiri, misalnya dari 01 menjadi 10. Sebaliknya apabila S bernilai 1, maka bit input akan digeser ke kanan, misalnya dari 10 menjadi 01. Gambar 4.29 untuk 4-bit shifter. Pada gambar 4.40 menunjukkan rangkaian 8-bit Shifter kombinasional, dengan 8-bit input (D0 - D7), 8-bit output (S0 - S7), dan 1-bit saklar control (C). Saat C bernilai 1, maka rangkaian akan menggeser bit ke kanan, contoh dari 11111111 menjadi 0111111. Sebaliknya saat C bernilai 0, maka rangkaian akan menggeser bit ke kiri, contoh dari 11111111 menjadi 11111110. Table 4.4. Tabel kebenaran Multiplier 2 bit
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.28.Tabel Kebenaran shifter kombinasional g.
Kompator dan Desain komparator, VHDL Komparator adalah rangkaian yang membandingkan 2 binary input A dan B, dimana masing-masing bit inputnya dibandingkan apakah outputnya dapat berupa A = B, A > B, atau A < B. Berdasarkan table kebenaran dan disederhanakan dengan Kmap persamaan komparator untuk A (A0 A1 A2A4) dan B (B0 B1 B2B4) adalah Dimana Xi = ai.bi + ai'.bi' (A = B): X4.X2.X1.X0 (A > B): a4b4' + X4a2b2' + X4X2a1b1' + X4X2X1a0b0' (A < B): a4'b4 + X4a2'b2 + X4X2a1'b1 + X4X2X1a0'b0
Gambar 4.29.4 bit shifter kombinasional
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.40. 4 bit shifter kombinasional Persamaan tersebut diimplementasikan pada rangkaian seperti yang ditunjukkan pada gambar 4.41. Pada table kebenaran dapat dilihat rangkaian untuk A (A 0 A1 A2A4) = B (B0 B1 B2B4), dapat diganti dengan XNOR. XNOR dapat digunakan untuk mengecek apakan nilai dua bit tersebut sama atau tidak. Pada gambar 4.42 menunjukkan rangkaian comparator 4-bit, yang membandingkan apakah A (A0 A1 A2A4) = B (B0 B1 B2B4).
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.41. Rangkaian Komparator
Gambar 4.42. Rangkaian comparator 4 bit
[Realisasi Rangkaian Kombinasional] BAB IV
Comparator dapat dibentuk dengan VHDL, berikut kode program VHDl untuk komparator 1-bit: library ieee; use ieee.std_logic_1164.all; entity comparator is port(a : in std_logic; b : in std_logic; aequab : out std_logic); end comparator; architecture RTL of comparator is begin process begin if a = b then aequab <= '1'; else aequab <= '0'; end if; end process; end RTL; untuk komparator 2 bit, terlihat pada code vhdl berikut : Library ieee; use ieee.Std_Logic_1164.All; Entity Comparator is Port( a,b : in Std_Logic_Vector(1 downto 0); amoreb,alessb,aequab : out Std_Logic); end Comparator; Architecture RTL of Comparator is begin process begin if a = b then aequab <= '1';
[Realisasi Rangkaian Kombinasional] BAB IV
amoreb <= '0'; alessb <= '0'; else if a > b then amoreb <= '1'; aequab <= '0'; alessb <= '0'; else alessb <= '1'; aequab <= '0'; amoreb <= '0'; end if; end if; end process; end RTL;
h. Multiplexer dan Demultiplexer Multiplexer adalah suatu rangkaian dimana memiliki banyak input namun hanya memiliki 1 output, dan ada saklar sebagai pemilih input untuk memilih input mana yang akan diteruskan ke output. Secara umum ada 2n jalur input dan n jalur selector. Cara kerjanya seperti system pada switch rel kereta api, dimana memilih jalur kereta mana yang akan diteruskan menuju satu jalur rel kereta api, seperti yang ditunjukkan pada gambar 4.44
Gambar 4.44. Ilustrasi multiplexer Banyaknya saklar pemilih input bergantung pada jumlah input : β’ 4 input mux ο membutuhkan 2 saklar pemilih β’ 8 input mux ο membutuhkan 4 saklar pemilih β’ N inputs ο membutuhkan log2(N) saklar pemilih
[Realisasi Rangkaian Kombinasional] BAB IV
Contoh akan dibuat rangkaian multiplexer 2 input seperti ditunjukkan pada gambar 4.44
Gambar 4.44. Multiplexer Table kebenaran multiplexer untuk 2 input, dengan 1 saklar pemilih ditunjukkan pada table 4.5. Tabel 4.5. Tabel Kebenaran Multiplexer
Dari table kebenaran tersebut diperoleh persamaan yang optimal multiplexer 2 input adalah Z = Sβ.A + S.B. Implemenrtasi pada desain rangkaian ditunjukkan pada gambar 4.45.
Gambar 4.45 Rangkaian hasil logic function Multiplexer 4 ke 1 terlihat pada gambar 4.46. Tiap inputnya terhubung dengan gerbang AND. Tabel kebenaran multiplexer terlihat pada tabel 4.6.
[Realisasi Rangkaian Kombinasional] BAB IV
S0 0 0 0 0 1 1 1 1
Tabel 4.6. Tabel Kebenaran Multiplexer dengan 2 Select Line Input Output S1 D0 D1 D2 D4 X Ket 0 0 X X X 0 D0 0 1 X X X 1 1 X 0 X X 0 D1 1 X 1 X X 1 0 X X 0 X 0 D2 0 X X 1 X 1 1 X X X 0 0 D4 1 X X X 1 1
Tabel kebenaran multiplexer 2 input dan 4 bit wide (74x157), terlihat pada gambar 4.3. Tabel 4.3 Tabel Kebenaran Multiplexer 2 input dan 4 bit wide
Gambar 4.46. (a) Logic Diagram (b) tabel Kebenaran (c) Block Diagram
[Realisasi Rangkaian Kombinasional] BAB IV
Contoh Soal : Implementasikan fungsi berikut ini dengan multiplexer :
πΉ π΄, π΅, πΆ, π· =
(0,1,4,4,8,9,15)
Jawaban: Karena terdapat 4 variabel maka dibutuhkan multiplexer dengan 4 jalur selector dan 8 input. Input A, B, C, D. Tabel kebenaran dan Implementasinya terlihat pada gambar 4.49. Demultiplexer adalah rangkaian logika yang menerima satu input data dan mendistribusikan input tersebut ke beberapa output yang tersedia. Seleksi data-data input dilakukan oleh selector line, yang juga merupakan input dari demultiplekser tersebut. Blok diagram sebuah demultiplexer ditunjukan oleh gambar 4.40. Tabel kebenaran demultiplexer terlihat pada tabel 4.8.
Gambar 4.47. Block Diagram Mux
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.49. Rangkaian multiplexer 4 bit jalur 2 ke 1
Gambar 4.49. Implementasi πΉ π΄, π΅, πΆ, π· = (0,1,4,4,8,9,15)
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.40. Block Diagram Demultiplexer
S0 0 0 0 0 1 1 1 1
Tabel 4.8. Tabel Kebenaran Demultiplexer 2 jalur selector Input Output S1 Inp Oo O1 O2 0 0 0 X X 0 1 1 X X 1 0 X 0 X 1 1 X 1 X 0 0 X X 0 0 1 X X 1 1 0 X X X 1 1 X X X
O4 X X X X X X 0 1
Hasil rangkaian demultiplexer dengan 2 selektor terlihat pada gambar 4.41.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.41. Rangkaian demultiplexer 1 ke 4 h. Dekoder Dekoder adlah rangkaian kombinasional yang mengubah (mengkonversikan) informasi biner dari n jalur input kepada 2n jalur output. Blok Diagram dekoder diberikan pada gambar 4.42. Beberapa rangkaian dekoder yang sering dijumpai adalah dekoder 4 x 8 (4 bit input dan 8 bit output), dekoder 4 x 16, dekoder BCD to Decimal (4 bit input dan 10 output line), dekoder BCD to 7 segment (4 bit input dan 8 output line). Sebagai contoh berikut adalah dekoder 4 ke 8, dimana 4 variabel input menghasilkan 8 variabel output. Rangkaian terlihat pada gambar 4.44.
Gambar 4.42. Blok Diagram dekoder
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.44. Rangkaian Dekoder 4 ke 8 Untuk setiap kombinasi input, menghasilkan 7 jalur output yang bernilai 0, dan hanya ada 1 output yang bernilai 1. Nilai output yang bernilai 1 merepresentasikan minterm dari binary number yang tersedia dalam jalur input. Tabel 4.6. Tabel Kebenaran Dekoder 4 ke 8
[Realisasi Rangkaian Kombinasional] BAB IV
Beberapa dekoder juga dapat dibentuk melalui gerbang NAND. Dekoder ini terdiri dari satu atau lebih jalur enable. Untuk mengontrol operasi pada rangkaian. dekoder 2 ke 4 dengan enable input dibangun dengan gerbang NAND, rangkaian beroperasi dengan output komplemen dan komplemen dari input enable. Dekoder akan aktif ketika E bernilai 0 (active low - enable). Rangkaian dan tabel kebenaran dekoder 2 ke 4 disajikan pada gambar 4.44.
Gambar 4.44. (a) logic diagram (b) tabel kebenaran dekoder 2 ke 4
i. Encoder Encoder adalah rangkaian kombinasional yang menampilkan inversi dari operasi dekoder, enkoder memiliki 2n (lebih sedikit) jalur input dan n jalur output, hanya salah satu dari input-input tersebut yang diaktifkan pada waktu tertentu, yang selanjutnya akan menghasilkan kode output N-bit. Blok diagram encoder terlihat pada gambar 4.45.
Gambar 4.45. Blok Diagram Encoder Enkoder dapat diimplementasikan dengan gerbang OR dimana input ditentukan secara langsung dari tabel kebenaran. Operasi enkoder terlihat pada fungsi logika berikut ini :
[Realisasi Rangkaian Kombinasional] BAB IV
π§ = π·1 + π·4 + π·5 + π·7 π¦ = π·2 + π·4 + π·6 + π·7 π₯ = π·4 + π·5 + π·6 + π·7 Tabel 4.8 Tabel Kebenaran octal to binary Encoder
Rangkaian digital dari encoder 8 ke 3 disajikan pada Gambar 4.46.
Gambar 4.46. Rangkaian Dekoder 8 ke 3
Priority Encoder Sebuah Priority Encoder adalah rangkaian Encoder yang mempunyai fungsi prioritas. Operasi dari rangkaian Priority Encoder adalah sebagai berikut : jika ada dua atau lebih input bernilai "1" pada saat yang sama, maka input yang mempunyai
[Realisasi Rangkaian Kombinasional] BAB IV
prioritas tertinggi yang akan diambil. Tabel Kebenaran Priority Encoder diberikan pada tabel 4.9. Kondisi "x" adalah kondisi dont care, yang menyatakan nilai input bisa "1" dan "0". Input D3 mempunyai prioritas tertinggi, sehingga bila input ini bernilai "1" maka output X dan Y keduanya akan bernilai "1" (11 menyatakan biner dari 3). Input D2 mempunyai prioritas kedua, dengan output X dan Y bernilai 10 menyatakan biner 2, dimana input D2 = "1" dan D3 = "0". Input D1 adalah prioritas ketiga dengan output X dan Y bernilai 01 menyatakan biner 1, dimana input D1 = "1", sedangkan D2 = D3 = "0". Prioritas terendah adalah input D0, yang akan memberikan output X dan Y = 00 (menyatakan biner 0), jika input D1 bernilai "1", sedang ketiga input lainnya bernilai "0". Map Karnaugh dari priority encoder terlihat pada gambar 4.47. Tabel 4.9. Tabel Kebenaran Priority Encoder
Dari Tabel Kebenaran dapat dibuat K-Map seperti gambar 4.47 untuk masing-masing output X, Y, dan V (V adalah nilai output Validitas, yang akan bernilai "1" jika satu atau lebih inputnya bernilai "1" dan bernilai "0" jika tidak ada inputnya yang bernilai "1"). Persamaan boolean dari fungsi logika pada tabel kebenaran (tabel 4.9) adalah sebagai berikut : π₯ = π·2 + π·3 π¦ = π·3 + π·1 π·2β² π = π·0 + π·1 + π·2 + π·3
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.47. Map Karnaugh priority encoder sehingga rangakaian priority encoder disajikan pada gambar 4.48.
Gambar 4.48. Rangkaian Priority Encoder j. Realisasi Rangkaian dengan dekoder Rangkaian dasar dekoder 2 ke 4 ditunjukkan pada Gambar 4.49. Pada rangkaian lersebut dapat diperhatikan bagian keluaran yang aktif tergantung dengan konfigurasi masukan yang dibenkan pada masukan 11 dan 10, misal dengan dibenkan masukan '0' pada II dan 10 maka inverter akan membenkan nilai ' 1' pada gerbang AND yang terhubung dengan OO selnngga OO aktif. Dengan suatu konfigurasi masukan decoder tanpa pembahk akan mengaktifkan salah satu ujung keluaranma saja. sehmgga dengan menghubungkan beberapa keluaran dengan
[Realisasi Rangkaian Kombinasional] BAB IV
sebuah gerbang OR akan sama artinya dengan memihh sederetaii konfigurasi yang di benkan pada masukannya dan berarti juga bahwa keluaran 1 adalah suatu fungsi mmterm dengan variable [M_A , M_B dan M_C. Misalnya implementasi fungsi mmterm F=( 0, 2. 3, 5 ).
Gambar 4.49. Realisasi rangkaian dekoder 2 ke 4 menggunakan gerbang AND Sedangkan implementasi decoder sebagai generator fungsi maxterm dapat dibuat menggunakan sebuah decoder dengan pembalik yang akan mengaktifkan semua keluaranya kecuali keluaran yang sesuai dengan konfigurasi masukan Misalnya implementasi dekoder sebagai generator fungsi maxterm F= (3,4,5,6.7) ditunjukkan pada Gambar 4.50.
Gambar 4.50. Generator fungsi maxterm menggunakan dekoder k. Realisasi Rangkaian dengan Multiplexer
[Realisasi Rangkaian Kombinasional] BAB IV
Kasus I Implementasikan fungsi minterm F= βXYZ(0, 3, 5, 6) menggunakan MUX 8 KE 1 Jika F adalah fungsi minterm maka F=1 pada fungsi-fungsi F=-X-Y-Z atau F=~XYZ atau F=X-YZ atau F=XY-Z, jadi untuk mengirnplementasikan fungsi mi sebuah MUX 8 KE 1 dapat di rangkai seperti pada Gambar 4.51.
Gambar 4.51. Implementasi Rangkaian MUX 8 ke 1 pada kasus 1 Kasus 2 Untuk tungsi maxterm F= β XYZ (0, 3. 5. 6). F=0 hanya jika F= -X~Y~Z atau F = -XY7 atau F=X~YZ atau F=XY~X. jadi untuk mengimplementasikan fungsi ini sebuah MUX 8 ke 1 dapat di rangkai seperti pada Gambar 4.52.
Gambar 4.52. Implementasi Rangkaian MUX 8 ke 1
[Realisasi Rangkaian Kombinasional] BAB IV
Kasus 3 Implementasikan fungsi minterm F=β (0, 3, 5, 6) dengan sebuah MUX 4 ke 1. Dengan menggunakan aljabar Boolean secara langsung dapat di lakukan dengan cara memilih sinyal kendali. dalam hal ini nilai teilinggi Fungsi adalah 6 sehingga MUX yang tepat adalah MUX 8 Ke 1 yang memiliki 3 sinyal kendali misalnya X, Y dan Z, dan fungsi F = X-Y-Z + -XYX + X-YZ + XY~Z , dapat langsung di Implementasikan, sedangkan dengan menggunakan MUX 4 KE 1 maka dua sinyal pemilih harus ditentukan dari ketiga sinyal tersebut, misalkan dipilih dua hagian MSB yaitu X dan Y . sehingga fungsi dapat ditulis ulang sebagai berikut: F=~X~Y(~Z)+ ~X Y( Z )+ X~Y( Z )+ X Y(~Z) Cara lain dapat dilakukan dengan menggunakan label reduksi terlihat di Tabel 4.12. Tabel 4.12. Tabel Reduksi X Y Z F 0 0 0 0 1 NOT_Z 1 0 0 1 0 2 0 1 0 0 NOT_Z 3 0 1 1 1 4 1 0 0 0 NOT_Z 5 1 0 1 1 6 1 1 0 1 NOT_Z 7 1 1 1 0
Gambar 4.53. Rangkaian implementasi MUX 4 ke 1 pada kasus 3
[Realisasi Rangkaian Kombinasional] BAB IV
Kasus 4 Implememasikan fungsi minterm F = β(0,1,2,3,5,7) dengan sebuah MUX 8 ke 1. Pada kasus ini fungsi tidak dapat secara langsung diimplementasikan menggunakan MUX 8 KE 1 karena rentang masukannva tidak mencukupi. sehingga dibutuhkan tabel reduksi masukan seperti yang dltunjukkan pada Tabel 4.13. Tabel 4.13. Tabel Reduksi masukan W X Y Z F 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 1 14 1 1 1 0 0 15 1 1 1 1 0 Berdasarkan Tabel 4.13 maka dapat dibuat rangkaian MUX 8 ke 1 mengimplementasikan fungsi F seperti ditunjukkan pada gambar 4.54.
Gambar 4.54. Rangkaian implementasi MUX 8 ke 1 pada kasus 4
1 1 Z Z 0 Z Z 0 untuk
[Realisasi Rangkaian Kombinasional] BAB IV
KASUS 5 Implementasikan fungsi minterm F = β (3,4,5,6,7,11,15) dengan menggunakan MUX 16 KE I pada kasus ini rentang masukan MUX mencukupi sehingga dapat langsung digunakan. Pada fungsi ini F=1 hanya jika F = β WXYZ (3,4,5,6,7,11,15) Sehingga rangkaian dan fungsi dapat di buat seperti pada Gambar 4.55.
Gambar 4.55. Implementasi rangkaian MUX 8 16 ke 1 pada kasus 5 Kasus 6a Implementasikan Fungsi minterm F=βABCD (3. 4. 5. 6, 7. 11, 15) dalam MUX 8 ke 1, kerena rentang raasukan MUX tidak mencukupi maka harus dilakukan reduksi seperti pada Tabel 4.14. Tabel 4.14. tabel Reduksi Masukan A B C D F Dec 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 2 0 0 1 0 0 D 3 0 0 1 1 1 2 4 0 1 0 0 1 1 5 0 1 0 1 1 3 6 0 1 1 0 1 1 7 0 1 1 1 1
[Realisasi Rangkaian Kombinasional] BAB IV
4 5 6 7
8 9 10 11 12 13 14 15
Tabel 4.14. tabel Reduksi Masukan (Lanjutan) A B C D F 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0
Dec 0 0 0 D
Dari tabel reduksi tersebut diperoleh rangkaian implementasi fungsi seperti pada gambar 4.56.
Gambar 4.56. Rangkaian implementasi MUX ke 1 pada kasus 6 Kasus 6b Implementasikan fungsi minterm = βABCD(3,4,5,6,7,11,15) dalam MUX 8 ke 1 menggunakan teknik 2 MUX 8 ke 1 dengan Enable. Perhatikan table 4.15 Tabel 4.15. Tabel Reduksi Masukan MUX 8 ke 1 A B C D F 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1
[Realisasi Rangkaian Kombinasional] BAB IV
0 1 2 3 4 5 6 7
Tabel 4.15. tabel Reduksi Masukan (Lanjutan) A B C D F 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1
Pada tabel 4.15. "A" sebagai MSB dapat digunakan sebagai pemilih salah satu dari kedua MUX 8 ke 1 yang dengan menghubungkannya dengan masukan EN (enable), karena harus salah satu yang bekerja maka ditambahkan inverting seperti pada gambar 4.57. dengan masukan terinversi adalah MUX 8 ke 1 untuk menerima masukan 4 bit.
Gambar 4.57. Rangkaian implementasi 2 MUX 8 ke 1 pada kasus 6b Kasus 7a Implementasikan fungsi minterm F = β(3, 4, 5, 6, 7, 11, 15) dalam MUX 4 ke 1 dengan teknik dekomposisi. Masukan dan keluaran fungsi terlihat pada tabel 4.16,
[Realisasi Rangkaian Kombinasional] BAB IV
Tabel 4.16. Tabel Kebenaran FUNGSI Asli (kiri) dan reduksi Dekomposisi I (kanan)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1
Reduksi 0 0 1 1 2 3 2 4 5 3 6 7 4 8 9 5 10 11 6 12 13 7 14 15
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F 1 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0
Dec 0 D 1 1 0 0 0 D
Setelah dilakukan reduksi dekomposisi ke mUX 8 ke 1 maka selanjutnya dapat dilakukan reduksi ke MUX 4 ke 1 seperti ditunjukkan pada Tabel 4.17. Tabel 4.17. Tabel Kebenaran Fungsi Dekomposisi II Reduksi 0 0 1 1 2 3 2 4 5 3 6 7
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 0 D 1 1 0 D 0 D
Dec CD 1 CD CD
Dari tabel 4.17 dapat diformasi masukan fungsi untuk MUX 4 ke 1 sehingga selanjutnya dapat dilakukan implementasi fungsi menggunakan MUX 4 ke 1 seperti ditunjukkan pada Gambar 4.58.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.58. Rangkaian implementassi MUX 4 ke 1 pada kasus 7a Kasus 7b Implementasikan fungsi minterm F = β (3,4,5,6,7,11,15) dalam MUX 4 ke 1. Secara cepat fungsi tersebut dapat diimplementasikan menggunakan MUX 16 ke 1 jadi dengan MUX 4 ke 1. Masukan harus direduksi dengan cara dibagi 4 seperti ditunjukkan pada tabel 4.18. Tabel. 4.18. Tabel Reduksi fungsi kasus 7b A B C D F 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 0 14 1 1 1 0 0 15 1 1 1 1 1 Dari tabel 4.18. Masukan telah direduksi untuk dibagi menjadi empat agar mencukupi untuk diimplementasikan menggunakan MUX 4 ke 1, hasil implementasi seperti ditunjukkan pada Gambar 4.59.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.59. Rangkaian Implementasi MUX 4 ke 1 pada kasus 7b l. Memory (ALU, RAM, ROM) l.1 ALU (Alogaritmik Logic Unit) Logika aritmatika unit (ALU) adalah rangkaian digital yang melakukan aritmatika dan logis operasi. ALU adalah sebuah blok fundamental dari central processing unit (CPU) untuk melaksanakan operasi aritmatika dan operasi logika, bahkan mikroprosesor yang paling sederhana mengandung ALU yang digunakan sebagai timer. Gambar 4.60 menunjukkan blok diagram ALU.
Gambar 4.60. Blok Diagram ALU
[Realisasi Rangkaian Kombinasional] BAB IV
ALU dapat bekerja secara langsung melalui Control Unit, ALU melakukan operasi seperti ADD, SUB, NOT, OR, AND, dan XOR. Data diinputkan dari dan dikeluarkan ke array register. Sinyal kontrol dari control unit menentukan tipe operasi yang ditampilkan. Input data terdiri dari 2 operand yakni operand A dan operand B yang dimasukkan ke register dan memiliki n bit data. Data output terdiri dari S. ALU juga menghasilkan ooutput sinyal status seperti : a. Zero (ketika hasil operasi = 0) b. Negative (ketika hasil operasi < 0) c. Carry (ketika operasi hasilnya adalah carry) d. Overflow (Ketika hasilnya adalah sejumlah bit yang dialokasikan dalam media penyimpan). Beberapa contoh operasi pada ALU : A. Ripple Carry Adder (RCA)
[Realisasi Rangkaian Kombinasional] BAB IV
Minimalisasi sel dan implementasi RCA : Tabel 4.19 menunjukkan tabel kebenaran dari RCA. Map Karnaugh dari RCA dijelaksna sehingga menghasilkan persamaan boolean. Tabel 4.19. Tabel Kebenaran RCA
[Realisasi Rangkaian Kombinasional] BAB IV
B. Accumulator Banyak perhitungan yang terdiri dari pengulangan penambahan dan pengurangan yang ditampilkan hasilnya pada operasi sebelumnya. Accumulator didedikasikan bagi register, yang digunakan untuk menampilkan operasi perulangan ini seperti pada gambar .
Gambar 4.61. Blok Diagram Alogaritmik Logic Unit
[Realisasi Rangkaian Kombinasional] BAB IV
C. Multiplication C.1. Binary Multiplication Metode : ο· Perkalian dapat ditampilkan melalui multiplier unit sebagai rangkaian kombinational, dengan multiplicand dan bit multiplier sebagai input dan bit sebagai output. Tabel 4.20. tabel kebenaran Binary Multiplication
Dari tabel tersebut dapat dibentuk map karnaughnya, B1B0 00 01 11 A1A0 00 0 0 0 01 0 1 1 11 0 1 1 10 0 0 0 Sehingga dihasilkan P0 = A0B0
10 0 0 0 0
[Realisasi Rangkaian Kombinasional] BAB IV
C2. Add & Shift Multiplication ο· Multiplication ditampillkan oleh computer dengan perulangan penambahan ο· Prinsipnya berdasarkan metode βpencil dan kertasβ menyiapkan komputasi per bagian dan menggesernya sebelum ditambahkan untuk menghitung hasil akhirnya. Contoh : ο· Perkalian positif number ο· 1510 . 1310 = 11112 . 11012
Hasil verifikasinya adalah 110000112 = 19510 Hal ini dapat dilakukan pula dengan metode lain, yakni
ο·
[Realisasi Rangkaian Kombinasional] BAB IV
C.4. Multiplication Negative Number ο· Bit tanda yang menggambarkan bilangan positif dan negatif adalah ο· 0 - positif number ο· 1 β negatif number ο· Product magnitude adalah hasil dari magnitude dari multiplicand dan multiplier. ο· Implementasi
Tanda untuk product Psb adalah : ο· Positif jika tanda dari multiplier (Xsb) dan multiplicand (Ysb) adalah sama ο· Negatif jika tandanya berbeda C.5. Algoritma Booth untuk perkalian (2 komplemen) Algoritmanya : 1. Inisialisasi hasil register dengan 0, hal ini akan memasukkan keduanya baik partiaal product dan hasil akhir 2. Jika bit multiplier yang diujicobakan adalah β10β dikurangi dengan multiplicand dari product partial. 3. Jika bit multiplier yang diujikan adalah β01β, menambahkan multiplicand dari partial product. 4. Jika bit multiplier yang diujikan adalah β00β atau β11β, maka do nothing. 5. Secara aritmetika GESER KANAN pada partial product 6. Penggunaan bit set yang berdekatan dari sebuah multiplier. 7. Jika masih ada bit multiplier yang akan digunakan akan dilanjutkan pada langkah (b). Contoh : 1110 β β310 = 010112 β 111012
[Realisasi Rangkaian Kombinasional] BAB IV
Hasil verifikasi : 11110111112 = -3310 C.5. Pembagian Algoritma pembagian, adalah : a) Inisialisasi hasil register (Accumulator - A) dengan 0, hal ini akan memasukkan keduanya baik remainder dan hasil setelah pembagian. b) Mengcopy hasil pembagi pada least significant bagian A c) Jika hasil dari the most significant part (AH) lebih besar atau sama dengan pembagi, kurangkan divisor dari AH dan menset hasil selanjutnya dengan bit = 1. d) Jika hasil dari the most significant part (AH) lebih besar atau sama dengan pembagi, jangan lakukan apapun dan menset hasil selanjutnya dengan bit = 0.
[Realisasi Rangkaian Kombinasional] BAB IV
e) Geser ke kanan hasilnya, mengenalkan posisi least significant bit yang ditentukan. f) Jika algoritma yang ditentukan, lebih sedikit jumlah bitnya maka pembaginya, algoritma akan kembali ke langkah b. Contoh : ο· 3510/710 = 1000112/0001112 Yang dibagi (A) = 100011 (3510) Pembagi (B) = 000111 (710)
Hasilnya Pengingatnya
= 000101 = 000000
(510) (010)
[Realisasi Rangkaian Kombinasional] BAB IV
I.2 ROM (Read Only Memory) Read-Only Memory (ROM) pada dasarnya adalah sebuah perangkat memori di mana informasi biner secara permanen disimpan. Informasi biner harus ditentukan oleh perancang dankemudian tertanam di unit untuk membentuk pola interkoneksi yang diperlukan. Sebuah diagram blok ROM terdiri dari k input dan n output ditunjukkan pada Gambar. 4.61. Masukan memberikan alamat untuk memori, dan output memberikan data bit disimpan dari kata yang dipilih oleh alamat. Jumlah word dalam ROM ditentukan dari fakta bahwa k jalur alamat input dibutuhkan untuk menspesifikasi 2π π€πππ. ROM tidak memiliki input data, karena tidak memiliki operasi menulis. Sirkuit terpadu ROM chip memiliki satu atau lebih input dan kadang-kadang datang dengan tiga keadaan output untuk memfasilitasi pembangunan array besar ROM.
Gambar 4.61. Blok Diagram ROM Perhatikan, misalnya, 32 * 8 ROM. Unit ini terdiri dari 32 word dari 8 bit masing-masing. Ada lima jalur input yang membentuk bilangan biner dari 0 sampai 31 untuk alamat. Gambar 4.61 menunjukkan konstruksi logika internal ROM ini. Kelima input yang diterjemahkan ke dalam 32 output yang berbeda dengan cara 5 x 32 decoder. Setiap output dari decoder merupakan alamat memori. 32 output dari decoder yang terhubung ke masing masing dari delapan gerbang OR. Diagram menunjukkan logika konvensi array yang digunakan dalam rangkaian kompleks. Setiap gerbang OR memiliki memiliki 32 input. masing-masing output decoder yang terhubung ke salah satu masukan dari masing-masing gerbang OR. Karena setiap OR gerbang memiliki 32 koneksi input dan ada 8 gerbang OR, ROM berisi 32 x 8 = 256 koneksi internal. Secara umum, 2π π₯ π ROM memiliki k x 2π . Penyimpanan biner internal ROM ditentukan oleh tabel kebenaran yang menunjukkan isi kata dalam setiap alamat. Sebagai contoh, isi 32 x 8 ROM mungkin ditentukan dengan tabel kebenaran yang sama dengan yang ditunjukkan pada Tabel
[Realisasi Rangkaian Kombinasional] BAB IV
4.21. Tabel kebenaran menunjukkan lima input di mana tercantum 32 alamat. Setiap alamat menyimpan kata 8 bit, yang tercantum dalam output kolom. Tabel tersebut menunjukkan hanya empat pertama dan empat kata terakhir dalam ROM. Tabel 4.21 lengkap harus menyertakan daftar semua 32 kata. Sebagai contoh, pemrograman ROM sesuai dengan tabel kebenaran diberikan oleh Tabel 4.21, hasil konfigurasi ditunjukkan pada Gambar. 4.62. Setiap nilai 0 tercantum dalam tabel kebenaran menentukan adanya sambungan, dan setiap 1 yang terdaftar menentukan jalan yang diperoleh oleh koneksi. Sebagai contoh, tabel menentukan word data delapan bit 10110010 untuk penyimpanan permanen di alamat 3. Keempat nilai 0 dalam word diprogram dengan menggabungkan antara output 3 dari decoder dan masukan dari gerbang OR terkait dengan output A6 , A3 , A2 , Dan A0 . Keempat 1 di kata ditandai dengan x untuk menunjukkan koneksi sementara, di tempat titik digunakan untuk koneksi permanen dalam diagram logika. Ketika masukan dari ROM adalah 00011, semua output dari decoder adalah 0 kecuali untuk output 3, yang pada logika 1. Sinyal setara dengan logika 1 pada output decoder 3 menyebar melalui koneksi ke gerbang OR output A7 , A5 , A4 , dan A1. Itu output empat lainnya tetap di 0. Hasilnya word disimpan 10110010 diterapkan untuk output data yang delapan. Setiap gerbang OR memiliki 2π input, yang terhubung ke masing-masing output decoder.
Gambar 4.62. Internal Logic 32 x 8 ROM
[Realisasi Rangkaian Kombinasional] BAB IV
π°π 0 0 0 0 1 1 1 1
π°π 0 0 0 0 1 1 1 1
Input π°π 0 0 0 0 1 1 1 1
π°π 0 0 1 1 0 0 1 1
Tabel 7.3 ROM Truth Tabel Output π°π π¨π π¨π π¨π π¨π π¨π 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0
π¨π 1 1 1 0 0 0 0 0
π¨π 1 0 0 1 0 1 1 1
π¨π 0 1 1 0 1 0 0 1
Implementasi Rangkaian Kombinasional Operasi internal ROM dapat ditafsirkan dalam dua cara. Pertama interpretasi dari sebuah unit memori yang berisi pola tetap word yang tersimpan. Kedua interpretasi bahwa unit yang mengimplementasikan rangkaian kombinasional. Pada cara pandang ini, masing masing terminal output dipertimbangkan secara terpisah sebagai output dari Fungsi Boolean dinyatakan sebagai jumlah dari minterm. Sebagai contoh, ROM Gambar. 7.10 adalah rangkaian kombinasional dengan delapan output, masing-masing fungsi dari lima variabel masukan. Output A7 dapat dinyatakan dalam jumlah minterm berikut ini : π΄7 πΌ4 , πΌ3 , πΌ2 , πΌ1 , πΌ0 = (0, 2, 3, β¦ ,29) Hubungan ditandai dengan x pada gambar menghasilkan minterm untuk penjumlahan. Semua crosspoint tidak terhubung dan tidak termasuk dalam penjumlahan. Dalam prakteknya, ketika rangkaian kombinasional dirancang dengan cara ROM, tidak diperlukan merancang logika atau untuk menunjukkan koneksi gerbang internal didalam unit. Langkah pertama adalah untuk mendapatkan tabel kebenaran dari rangkaian kombinasional. Tabel 4.22 adalah tabel kebenaran untuk sirkuit kombinasional. Tiga input dan enam output diperlukan untuk mengakomodasi semua bilangan biner yang mungkin. Output π΅0 selalu sama dengan masukan A0 , Jadi tidak perlu untuk
[Realisasi Rangkaian Kombinasional] BAB IV
menghasilkan π΅0 dengan ROM, karena itu sama dengan variabel masukan. Selain itu, Output π΅1 selalu 0, sehingga output ini adalah sebuah konstanta yang dikenal. Kami benar-benar perlu untuk menghasilkan hanya empat output dengan ROM, dua lainnya dapat segera diperoleh. Ukuran minimum ROM diperlukan harus memiliki tiga input dan empat output. Tiga input menentukan delapan word, jadi ROM memiliki ukuran 8 x 4. Implementasi ROM ditunjukkan pada Gambar. 7.11. Tiga input menentukan delapan word dari empat bit masing-masing. Tabel kebenaran di Gambar. 4.63 (b) menentukan informasi yang diperlukan untuk pemrograman ROM. Blok diagram Gambar. 4.63 (a) menunjukkan koneksi yang diperlukan pada rangkaian kombinasional. Tabel 7.22 Tabel Kebenaran Rangkaian Input Output Decimal π΄2 π΄1 π΄0 π΅5 π΅4 π΅3 π΅2 π΅1 π΅0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 4 0 1 1 0 0 1 0 0 1 9 1 0 0 0 1 0 0 0 0 16 1 0 1 0 1 1 0 0 1 25 1 1 0 1 0 0 1 0 0 36 1 1 1 1 1 0 0 0 1 49
Gambar 4.63. (a) Block Digram (b)tabel kebenaran ROM Implementasi ROM
[Realisasi Rangkaian Kombinasional] BAB IV
Jenis ROM Jalur diperlukan dalam ROM dapat diprogram dalam empat cara yang berbeda. Cara pemograman pada ROM adalah sebagai berikut : 1. Mask Programming. Tabel kebenaran dapat disampaikan dalam bentuk khusus yang disediakan oleh produsen atau format yang ditentukan pada media output komputer. Pabrik membuat mask yang berkorespondensi pada tiap bagian untuk memproduksi nilai 0 dan 1. 2. Pro-grammable Read-Only Memory, atau PROM. unit PROM berisi semua sekering, memberikan semua nilai 1 dalam bit word yang tersimpan. Sekering di PROM ditiup oleh penerapan sebuah pulsa tegangan tinggi ke perangkat melalui pin khusus. Prosedur hardware untuk programmable ROM atau PROM tidak dapat diubah, dan sekali diprogram, pola tetap bersifat permanen dan tidak dapat diubah. Setelah pola bit telah ditetapkan, unit harus dibuang jika pola bit yang akan diubah. 3. Erasable PROM, atau EPROM, yang dapat direstrukturisasi dari keadaan awal meskipun telah diprogram sebelumnya. Ketika EPROM ditempatkan di bawah sinar ultraviolet khusus untuk panjang waktu tertentu, radiasi gelombang pendek pembuangan gerbang mengambang internal yang berfungsi sebagai koneksi diprogram. Setelah penghapusan, EPROM kembali ke keadaan awal dan dapat diprogram kembali untuk satu set nilai baru. Electrically Erasable PROM (EEPROM atau E2PROM). Perangkat ini seperti EPROM, kecuali bahwa koneksi diprogram sebelumnya bisa terhapus dengan sinyal listrik bukan sinar ultraviolet. Keuntungannya adalah bahwa perangkat dapat dihapus tanpa menghapusnya dari soketnya. Perangkat memori flash mirip dengan EEPROMs, tetapi memiliki tambahan built-in sirkuit untuk selektif memprogram dan menghapus perangkat di sirkuit, tanpa perlu khusus programmer. m. PAL PAL disebut pula sebagai programmable gate array. PAL memproduksi jalur memori monolitik yang dikarakteristikkan dengan 8 hingga 16 input, tersedia secara internal dalam bentuk asli dan komplemennya yakni 2 sampai 8 output dengan variasi jumlah product term. PAL berbeda dari PLA pada jumlah output yang ditetapkan. Sejumlah PAL tersedia dengan feedback dan output yang diregisterkan. Gambar 4.64. adalah PAL dengan 2 buah MUX 1 ke 8 dan 5 buah gerbang NOR.
[Realisasi Rangkaian Kombinasional] BAB IV
Gambar 4.64. Implementasi 6 Variabel dengan PAL
[Realisasi Rangkaian Kombinasional] BAB IV
Soal mux
[Realisasi Rangkaian Kombinasional] BAB IV
[Realisasi Rangkaian Kombinasional] BAB IV
Demux
b. K c.
[Realisasi Rangkaian Kombinasional] BAB IV
Tambahan 1. A symbol is a graphical model of the input and output pins A schematic is a functional model of how outputs are related to input values 2. Detecting all 0s, Use NOR Detecting equality, Use XNOR
Detecting odd # of 1s, Use XOR, Useful for generating βparityβ bit common for detecting errors
Ljβa I nvert er
AND
OR
[Realisasi Rangkaian Kombinasional] BAB IV