Peta Karnaugh, juga dikenal sebagai K-peta, adalah metode untuk menyederhanakan aljabar boolean ekspresi. Maurice Karnaugh diperkenalkan pada tahun 1953 sebagai penyempurnaan dari Edward Veitch 1952 diagram Veitch 's. Peta Karnaugh mengurangi kebutuhan untuk perhitungan luas dengan mengambil keuntungan dari kemampuan pengenalan pola manusia '. Hal ini juga memungkinkan identifikasi cepat dan penghapusan potensi kondisi ras .
Hasil boolean yang diperlukan ditransfer dari tabel kebenaran ke grid dua dimensi di mana sel-sel yang diperintahkan dalam kode Gray , dan setiap posisi sel merupakan satu kombinasi dari kondisi input, sementara setiap nilai sel mewakili nilai output yang sesuai. Kelompok optimal 1s atau 0s diidentifikasi, yang merupakan syarat dari bentuk kanonik dari logika dalam tabel kebenaran yang asli. [1] Istilah-istilah ini dapat digunakan untuk menulis ekspresi boolean minimal mewakili logika yang diperlukan.
peta Karnaugh digunakan untuk menyederhanakan persyaratan logika dunia nyata sehingga mereka dapat diimplementasikan dengan menggunakan jumlah minimum gerbang logika fisik. Sebuah ekspresi sum-of-produk selalu dapat diimplementasikan dengan menggunakan gerbang AND makan menjadi gerbang OR , dan ekspresi produk-of-jumlah mengarah ke gerbang OR makan gerbang AND. [2] peta Karnaugh juga dapat digunakan untuk menyederhanakan ekspresi logika dalam desain software. Kondisi Boolean, seperti yang digunakan misalnya dalam pernyataan bersyarat , bisa menjadi sangat rumit, yang membuat kode sulit untuk membaca dan untuk mempertahankan. Setelah diminimalkan, kanonik sum-of-produk dan produk-of-jumlah ekspresi dapat diimplementasikan secara langsung menggunakan AND dan OR operator logika.
Contoh
Peta Karnaugh digunakan untuk memfasilitasi penyederhanaan aljabar Boolean fungsi. Sebagai contoh, perhatikan fungsi Boolean dijelaskan sebagai berikut tabel kebenaran .
SEBUAH | B | C | D | f (A, B, C, D) | |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 1 | 0 |
4 | 0 | 1 | 0 | 0 | 0 |
5 | 0 | 1 | 0 | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 1 |
7 | 0 | 1 | 1 | 1 | 0 |
8 | 1 | 0 | 0 | 0 | 1 |
9 | 1 | 0 | 0 | 1 | 1 |
10 | 1 | 0 | 1 | 0 | 1 |
11 | 1 | 0 | 1 | 1 | 1 |
12 | 1 | 1 | 0 | 0 | 1 |
13 | 1 | 1 | 0 | 1 | 1 |
14 | 1 | 1 | 1 | 0 | 1 |
15 | 1 | 1 | 1 | 1 | 0 |
Berikut adalah dua notasi yang berbeda menggambarkan fungsi yang sama dalam aljabar Boolean unsimplified, menggunakan variabel Boolean . . . , Dan invers mereka.
- dimana adalah minterm untuk memetakan (yaitu, baris yang memiliki output 1 dalam tabel kebenaran).
- dimana adalah maxterms untuk memetakan (yaitu, baris yang memiliki keluaran 0 di tabel kebenaran).
Peta Karnaugh
Dalam contoh di atas, empat variabel input dapat dikombinasikan dalam 16 cara yang berbeda, sehingga tabel kebenaran memiliki 16 baris, dan peta Karnaugh memiliki 16 posisi. Peta Karnaugh karena itu diatur dalam 4 × 4 kotak.
Baris dan kolom indeks (ditampilkan di bagian atas, dan di sisi kiri dari peta Karnaugh) yang diperintahkan dalam kode Gray daripada urutan numerik biner. Kode Gray memastikan bahwa hanya satu perubahan variabel antara setiap pasangan sel yang berdekatan. Setiap sel dari peta Karnaugh selesai berisi digit biner yang mewakili output fungsi untuk kombinasi input.
Setelah peta Karnaugh telah dibangun, digunakan untuk menemukan salah satu bentuk yang paling sederhana - sebuah bentuk kanonik - untuk informasi dalam tabel kebenaran. 1s berdekatan di peta Karnaugh merupakan peluang untuk menyederhanakan ekspresi. Minterm ( 'istilah minimal') untuk ekspresi akhir ditemukan oleh mengelilingi kelompok 1s di peta. kelompok minterm harus persegi panjang dan harus memiliki luas yang merupakan kekuatan dua (yaitu, 1, 2, 4, 8 ...). persegi panjang minterm harus sebesar mungkin tanpa mengandung 0s apapun. Kelompok mungkin tumpang tindih untuk membuat masing-masing lebih besar. Pengelompokan optimal dalam contoh di bawah ini ditandai dengan garis hijau, merah dan biru, dan kelompok merah dan hijau tumpang tindih. Kelompok merah adalah 2 × 2 persegi, kelompok hijau adalah 4 × 1 persegi panjang, dan daerah tumpang tindih ditunjukkan dalam coklat.
Sel-sel yang sering dilambangkan dengan singkatan yang menggambarkan nilai logis dari input bahwa sel mencakup. Sebagai contoh, berarti sel yang meliputi area 2x2 mana dan adalah benar, yaitu sel-sel nomor 13, 9, 15, 11 dalam diagram di atas. Di samping itu, berarti sel-sel di mana adalah benar dan adalah palsu (yaitu, adalah benar).
Grid toroidally terhubung, yang berarti bahwa kelompok persegi panjang bisa membungkus seluruh tepi (lihat gambar). Sel di sebelah kanan ekstrim sebenarnya 'berdekatan' untuk orang-orang di paling kiri; sama, sehingga orang-orang di bagian paling atas dan orang-orang di bagian bawah. Karena itu, bisa menjadi valid jangka itu termasuk sel 12 dan 8 di atas, dan membungkus ke bawah untuk memasukkan sel 10 dan 14-seperti , Yang meliputi empat sudut.
Solusi [ sunting ]
Setelah peta Karnaugh telah dibangun dan 1s yang berdekatan dihubungkan oleh kotak persegi panjang dan persegi, minterm aljabar dapat ditemukan dengan memeriksa yang variabel tetap sama dalam setiap kotak.
Untuk pengelompokan merah:
- A adalah sama dan sama dengan 1 seluruh kotak, oleh karena itu harus dimasukkan dalam aljabar representasi dari minterm merah.
- B tidak mempertahankan negara yang sama (itu bergeser dari 1 ke 0), dan karenanya harus dikeluarkan.
- C tidak berubah. Itu selalu 0, sehingga yang melengkapi, TIDAK-C, harus dimasukkan. Demikian, harus dimasukkan.
- Perubahan D, sehingga dikecualikan.
Dengan demikian minterm pertama di Boolean sum-of-produk ekspresi .
Untuk pengelompokan hijau, A dan B mempertahankan negara yang sama, sementara C dan D perubahan. B adalah 0 dan harus menegasikan sebelum dapat disertakan. Oleh karena itu istilah kedua adalah . Perhatikan bahwa hal itu dapat diterima bahwa pengelompokan hijau tumpang tindih dengan yang merah.
Dengan cara yang sama, pengelompokan biru memberikan istilah .
Solusi dari setiap kelompok digabungkan: bentuk normal dari rangkaian tersebut adalah .
Sehingga peta Karnaugh telah membimbing penyederhanaan
Hal ini juga akan mungkin untuk mendapatkan penyederhanaan ini dengan hati-hati menerapkan aksioma aljabar boolean , tapi waktu yang dibutuhkan untuk melakukan itu tumbuh secara eksponensial dengan jumlah istilah.
Inverse
Kebalikan dari fungsi diselesaikan dengan cara yang sama dengan mengelompokkan 0s gantinya.
Tiga istilah untuk menutupi terbalik semua ditampilkan dengan kotak abu-abu dengan batas-batas warna yang berbeda:
- coklat:
- emas:
- biru:
Ini menghasilkan terbalik:
Melalui penggunaan hukum De Morgan , yang produk dalam jumlah dapat ditentukan:
Jangan peduli [ sunting ]
Peta Karnaugh juga memungkinkan mudah minimizations fungsi yang kebenarannya tabel termasuk " tidak peduli " kondisi. A "tidak peduli" kondisi adalah kombinasi dari input yang desainer tidak peduli apa output adalah. Oleh karena itu, "tidak peduli" kondisi baik dapat dimasukkan dalam atau dikeluarkan dari kelompok persegi panjang, yang mana membuatnya lebih besar. Mereka biasanya ditunjukkan pada peta dengan sedikit atau X.
Contoh di sebelah kanan adalah sama seperti contoh di atas tetapi dengan nilai f (1,1,1,1) diganti dengan "tidak peduli". Hal ini memungkinkan istilah merah untuk memperluas semua jalan ke bawah dan, dengan demikian, menghilangkan istilah hijau sepenuhnya.
Ini menghasilkan persamaan minimum baru:
Perhatikan bahwa istilah pertama hanya , tidak . Dalam hal ini, tidak peduli telah menjatuhkan istilah (persegi panjang hijau); disederhanakan lain (yang merah); dan dihapus bahaya ras (menghapus istilah kuning seperti yang ditunjukkan pada bagian berikut tentang bahaya ras).
Kasus terbalik disederhanakan sebagai berikut:
Bahaya ras
Eliminasi
Peta Karnaugh berguna untuk mendeteksi dan menghilangkan kondisi ras . Bahaya ras sangat mudah dikenali dengan menggunakan peta Karnaugh, karena kondisi lomba mungkin ada ketika bergerak antara setiap pasangan yang berdekatan, namun menguraikan, daerah dibatasi pada peta. Namun, karena sifat dari Gray coding, yang berdekatan memiliki definisi khusus dijelaskan di atas - kami bahkan pindah torus, bukan persegi panjang, membungkus di sekitar bagian atas, bawah, dan sisi.
- Dalam contoh di atas , kondisi lomba potensial ada ketika C adalah 1 dan D adalah 0, A adalah 1, dan perubahan B dari 1 ke 0 (bergerak dari keadaan biru untuk negara hijau). Untuk kasus ini, output didefinisikan untuk tetap tidak berubah pada 1, tetapi karena transisi ini tidak tercakup oleh istilah tertentu dalam persamaan, potensi glitch (transisi sesaat output ke 0) ada.
- Ada kesalahan potensial kedua dalam contoh yang sama yang lebih sulit untuk spot: bila D adalah 0 dan A dan B keduanya 1, dengan C berubah dari 1 ke 0 (bergerak dari keadaan biru untuk negara red). Dalam hal ini glitch membungkus di sekitar dari atas peta ke bawah.
Apakah gangguan akan benar-benar terjadi tergantung pada sifat fisik pelaksanaan, dan apakah kita perlu khawatir tentang hal itu tergantung pada aplikasi. Dalam logika clock, itu sudah cukup bahwa logika mengendap pada nilai yang diinginkan dalam waktu untuk memenuhi batas waktu waktu. Dalam contoh kita, kita tidak mempertimbangkan logika clock.
Dalam kasus kami, istilah tambahan akan menghilangkan potensi bahaya ras, menjembatani antara negara-negara keluaran hijau dan biru atau biru dan merah negara keluaran: ini ditampilkan sebagai daerah kuning (yang membungkus di sekitar dari bawah ke atas bagian kanan) dalam diagram yang berdekatan.
Istilah ini berlebihan dalam hal logika statis sistem, tetapi berlebihan seperti itu, atau istilah konsensus , sering dibutuhkan untuk menjamin performa dinamis bebas ras.
Demikian pula, istilah tambahan harus ditambahkan ke terbalik untuk menghilangkan bahaya ras lain yang potensial. Menerapkan hukum De Morgan menciptakan produk lain dari jumlah ekspresi untuk f, tetapi dengan faktor baru .
2-variabel contoh peta [ sunting ]
Berikut ini adalah semua mungkin 2-variabel, 2 × 2 peta Karnaugh. Terdaftar dengan masing-masing adalah minterm sebagai fungsi dan ras bahaya bebas (lihat sebelumnya bagian ) persamaan minimum. Sebuah minterm didefinisikan sebagai ungkapan yang memberikan bentuk yang paling minim ekspresi variabel dipetakan. Semua horisontal dan vertikal blok yang saling berhubungan yang mungkin dapat dibentuk. blok ini harus dari ukuran kekuatan dari 2 (1, 2, 4, 8, 16, 32, ...). Ekspresi ini membuat pemetaan logis minimal logika ekspresi variabel minimal untuk ekspresi biner untuk dipetakan. Berikut adalah semua blok dengan satu bidang.
Sebuah blok dapat dilanjutkan di bawah, atas, kiri, atau kanan grafik. Yang bahkan dapat membungkus melampaui tepi grafik untuk variabel minimisasi. Hal ini karena masing-masing variabel logika sesuai dengan setiap kolom vertikal dan baris horizontal. Sebuah visualisasi dari k-peta dapat dianggap silinder. Bidang di tepi di kiri dan kanan yang berdekatan, dan bagian atas dan bawah yang berdekatan. K-Maps untuk 4 variabel harus digambarkan sebagai donat atau torus bentuk. Empat sudut alun-alun yang ditarik oleh k-peta yang berdekatan. Masih peta yang lebih kompleks yang dibutuhkan untuk 5 variabel dan banyak lagi.
0 komentar:
Posting Komentar