D/SA/N JAR/NGAN KOMB/NAS/ONAL
TUJUAN 1. Mendisain jaringan NAND atau NOR output ganda. 2.
Menguji disain anda dengan menggunakan simulator logika atau dengan membangunnya dalam leboratorium.
PETUNJUKBELAJAR 1. Dapatkan tugas soal disain dari instruktur anda. 2.
Pelajarilah Bagian 10.1, Tinjauan Disain Jaringan Kombinasional.
3.
Biasanya, memungkinkan untuk mendisain kembali suatu jaringan yang mempunyai dua gate AND yang melewati atau dua gate OR yang melewati sehingga gate AND dan OR berubah. Jika hal ini tidak praktis, konversi ke jaringan NAND atau NOR dengan teknik dari Bagian 8.5 masih dimungkinkan dengan memasukkan gate OR(AND) I-input kosong antara dua gate AND(OR). Ketika konversi dilakukan, gate kosong tersebut menjadi inverter. Cobalah teknik ini dan konversikan jaringan berikut ini ke semua gate NAND. Secara berbeda, anda dapat menggunakan prosedur yang diberikan dalam Bagian 8.6 dan 8.7 untuk melakukan konversi terse~ut.
f g
4.
Pelajarilah Bagian 10.2, Disain Jaringan dengan Gate "Fan-in" Terbatas. (a) Jika realisasi pemyataan switching memerlukan terlalu banyak input pada satu atau lebih gate, apa yang hams dilakukan ?
364
(b) Dengan mengasumsikan bahwa semua variabel dan komplemen mereka dapat digunakan sebagai input dan bahwa gate AND dan OR dapat digunakan,Apakah'menyatakankomplemensuatu pemyataan memerlukan jumlah gate dan input gate yang sarna ketika merealisasikan pemyataan aslinya ? (c) Ketika mendisain jaringan output-ganda dengan gate "fan-in" terbatas, mengapa prosedur Bagian 9.2 perlu sedikit bantuan ?
5.
Pelajarilah Bagian 10.3, Simulasi dan Pengujian Jaringan Logika. Buktikan bahwa Tabel 10-1 itu benar. Perhatikan kasus di mana nilai tak dikenal, X, adalah 0 dan kasus di mana ia adalah I.
6.
Jaringan berikut ini didisain untuk menyatakan fungsi F
= [A'
+ B + C'D][A + B'+ (C'+ D')(C + D)]
Ketika seorang siswa membangunjaringan tersebut dalam laboratorjum, dia menemukan bahwa bila A
= C =0 dan B =D = 1, output F mempunyai
nilai salah dan output gatenya diperlihatkan seperti di atas. Teritukan beberapa kemungkinan penyebab output yang tidak tepat jika G jika G
7.
= 1.
= 0 dan
Pelajarilah soal disain yang ditugaskan dan siapkan sebuah disain yang memenuhi ketentuan. Perhatikan bahwa hanya gate NAND 2 dan 3-input (atau gate NOR seperti ditentukan) dan inverterdapat digunakan untuk proyek ini; oleh karenanya, dengan memfaktorkan beberapa persamaan mungkkin 365
diperlukan. Cobalah membuat disain ekonomis dengan menggunakan term umum; namun demikian jangan membuang waktu dengan men cob a mendapatkan solusi minimum absolut. Ketika menghitung gate, hitunglah gate NAND (atau NOR) dan inverter, namun jal1gan menghitung inverter yang diperlukan untuk variabel input. 8.
Penksalah disain anda secara cermat sebelum mensimulasikannya. Ujilah "di atas kertas" dengan mengaplikasikan beberapa kombinasi input 0 dan I dan mencari jejak sinyal untuk meyakinkan bahwa outputnya tepat. Jika anda mempunyai program CAD seperti LogicAid yang dapat digunakan, masukkan tabel kebenaran untuk disain anda ke dalam komputer, derivasikan persamaan dua tingkat minimum, dan bandingkan mereka dengan solusi anda.
9.
Dalam mendisain sirkuit multi-level, output-ganda, dari jenis yang digunakan dalam soal disain dalam unit ini, sangat sulit dan membutuhkan banyak waktu untuk mencari solusi minimum. Anda tidak diharapkan untuk mencari kemungkinan. solusi terbaik pada soal ini. Jumlah gate keseluruhan dan inverter (tanda menghitung input inverter) untuk solusi yang diketahui terbaik pada masalah disain dalam unit ini adalah : 10.1-17,10.2-14,10.3-13,10.4-13,10.5-17,10.6-18, 10.7-18, 10.8-18, 10.9-18, 10.10-18, 10.11-19, 10.1218, 10.13-18, 10.14-18.
Kesemua solusi ini melibatkan beberapa "trik" dan sepertinya anda tidak dapat menemukan mereka tanpa mencoba sejumlah besar cara memfaktorkan persamaan yang berbeda. Oleh karenanya, jika anda telah mempunyai solusi yang dapat diterima, jangan membuang-buang waktu dengan mencoba menemukan solusi minimmum. Karena gate sirkuit integrasi sangat murah harganya, maImbukan merupakan praktek enjinering yang bagus ketika membuang banyak sekali waktu untuk menemukan solus.i minimum absolut jika tidak sejumlah besar unit dengan jenis yang dama harus dibuat.
10. Dapatkan'suplemen Unit 10 dari instruktur anda dan ikutilah instruksi di dalamnya berkaitan dengan pensimulasian dan pengujian disain anda. 366
._ u.
,___0 _,.n_n
_u --0'---
,nO'_
- _o,_nO'
-.,_-.0---'-
D/SA/NJAR/NGANKOMB/NAS/ONAL 10.1T/NJAUAND/SA/NJAR/NGANKOMB/NAS/ONAL Langkah pertama dalam disain jaringan switching kombinasional biasanya menset-up tabel kebenaran yang menentukan output sebagai fungsi variabel input. Untuk variabel n input, tabel ini akan mempunyai 2 baris. Jika nilai kombinasi yang ada untuk variabel input tersebut tidak pemah ada pada input jaringan, nilai output yang berkorespondensi tidak dipedulikan. Langkah selanjutnya adalah menderivasikan pemyataan aljabar yang disederhanakan untuk fungsi output dengan menggunakan peta Kamaugh, prosedur Quine McCluskey, atau metode yang sejenis. Pada beberapa kasus, terutama jika jumlah variabelnya besar dan jumlah term kecil, mungkin diperbolehkan secara langsung dari pemyataan masalah ke keadaan aljabar, tanpa merangkaikan tabel kebenaran. Persamaan yang dihasilkan kemudian dapat disederhanakan secara aljabar. Pemyataan aljabar yang disederhanakan tersebut lalu dihitung ke dalam bentuk yang tepat tergantung kepada jenis gate yang digunakan dalam merealisasikan jaringan tersebut. Jumlah level dalam suatu jaringan gate sarna dengan jumlah gate maksimum yang harus dilalui sebuah sinyal di antara terminal input dan output. Jumlah hasil minimum (atau hasil penjumlahan) secara langsung menuju kepadajaringan gate dua-tingkat minimum. Namun demikian, dalam beberapa aplikasi dimungkinkan untuk meningkatkan jumlah level tersebut dengan memfaktorkan (atau mengkalikan) karena hal ini dapat menjadikan pengurangan Jumlah gate atau input gate. Ketika suatu jaringan mempunyai dua atau lebih input, term umum dalam fungsi output seringkali dapat digunakan untuk mengurangi keseluruhan jumlah gate atau input gate. Jika masing-masing fungsi diminimalkan secara terpisah, tidak selalu membawa kepada jaringan output ganda minimum. Untuk suatu jaringan dua level, peta Karnau'gh dari fungsi output dapat digunakan untuk mencari term umum. Semua term dalam jaringan output-ganda minimum tersebut tidak perlu menjadi implikan prima dari fungsi secara individu. Ketika mendisain jaringan dengan tiga atau lebih level, pencarian term bersama pada peta Karnaugh mungkin kecil nilainya. Oalam hal ini, disainer akan selalu meminimalkan fungsi tersebut secara terpisah dan kemudian menggunakan kecerdikan untuk memfaktorkan pemyataan tersebut sedemikian rupa untuk membuat term bersama.
367
Serangkaian gate yang mampu merealisasikan semua fingsi switching disebut lengkap secara fungsional. Serangkaian gate itu lengkap secara fungsional jika ia dapat merealisasikan AND, OR, dan NOT. Contoh dari rangkaian yang lengkap secara fungsional adalah AND dan NOT, EXCLUSIVE-OR dan AND, NAND, dan NOR. Jaringan AND-OR, NAND-NAND, OR-NAND, dan NOR-OR dua level minimum dapat dinyatakan dengan menggunakan jumlah hasil sebagai titik awal. Disain jaringan gate NAND output-ganda, multi-level paling mudah dilakukan dengan terlebih dahulu mendisain jaringan gate AND dan OR. Biasanya, titik awal yang paling baik adalah pemyataan jumlah hasil minimum untuk fungsi output. Pemyataan ini kemudian difaktorkan dengan berbagai cara sampai suatu jaringan ekonomis dengan bentuk yang diinginkan dapat ditemukan. Jika jaringan ini mempunyai sebuah gate OR pada masing-masing goutput dan disusun sehingga output gate AND(OR) tidak pemah dihubungkan secara langsung ke input gate AND(OR), konversi langsung ke jaringan gate NAND dimungkinkan. Konversi dilakukan dengan mengganti semua gate AND dan OR dengan gate NAND dan kemudian menginversikan setiap literal yang muncul sebagai input pada tingkat pertama, ketiga, kelima, ...(gate output adalah tingkat pertama). Jika jaringan AND-OR mempunyai sebuah output gate AND (atau gate OR)yang dihubungkan pada jenis gate yang sarna, maka inverter ekstra hams ditambahkan dalam proses konversi (lihat Bagian 8.6, Konversi Jaringan Dengan Menggunakan Simbol Gate Alternatif). Demikian pula, disain jaringan gate-NOR output-ganda, multilevel paling mudah dilakukan dengan terlebih dahulu mendisain jaringan gate AND dan OR. Dalam hat ini titik awal yang paling baik biasanya pemyataan jumlah hasil minimum untuk konplemen fungsi output. Setelah memfaktorkan pernyataan ini ke dalam bentuk yang diinginkan, kemudian mereka dikomptementasikan untuk mendapatkan pemyataan untuk fungsi output, dan jaringan gate AND dan OR yang berkorespondensi digambar. Jika jaringan ini mempunyai sebuah gate AND pada setiap output, dan output gate AND(OR) tidak dihubungkan pada input gate AND(OR), konversi langsung ke jaringan gate-NOR dimungkinkan. Jika tidak, inverter tambahan hams ditambahkan dalam proses konversi.
368
10.2 DISAIN JARINGAN DENGAN GATE "FAN-IN" TERBATAS Dalam permasalahan disain logika praktis, jumlah input maksimum pada setiap gate (atau "fan-in") terbatas. Tergantung pada jenis gate yang digunakan, batas ini bisa 2,3,4,8, atau jumlah lainnya. Jika realisasi suatu jaringan duatingkat memerlpkan input gate yang lebih banyak dari kapasitas yang diperbolehkan, maka perlu memfaktorkan pemyataan logika untuk mendapatkan realisasi multi-level.
CONTOH : Realisasikanfta,b,c,d)
= m(O,3,4,5,8,9,JO,/4,/5)
dengan menggunakan gate
NOR 3-input.
ab 00
01
II
10
00
1
1
0
1
01
0
1
0
1
10 I ( 0
0
1
1
cd
map off
III
f' = a'b'c'd + ab'cd + abc' + a'bc+a'cd'
Seperti dapat dilihat dari pemyataan di atas, pemyataan dua-level memerlukan dua gate 4-input dan satu gate 5-.input. Pemyataan untuk f difaktorkan untuk mengurangi jumlah input gate maksimum menjadi tiga dan kemudian jumlah ini dikomplementasikan : f
f
= b'd(a'c' + ac) + a'c(b + d') + abc' = [b + d'+ (a + c)(a' + c')j[a + c' + b'dj[a'
+ b' + c]
Jaringan gate-NOR yang dihasilkan terlihat pada Gambar 10-1.
369
f
Gambar 10.1
Teknik untuk mendisain jaringan output-ganda dua tingkat yang ada pada Bagian 9.2 tidak terlalu efektif untuk mendisain jaringan output-ganda dengan lebih dari dua tingkat. Bahkan jika pemyataan dua-tingkat mempunyai term-term bersama, kebanyakan term-term ini akan hilang ketika pemyataan tersebut difaktorkan. Oleh karena itu, ketika mendisain jaringan output-ganda dengan lebih dari dua tingkat, biasanya yang terbaik adalah meminimalkan masingmasing fungsi secara terpisah. Hasil pemyataan dua tingkat tersebut kemudian hams difaktorkan untuk meningkatkan jumlah level. Pemfaktoran ini hams dilakukan sedemikian sehingga memperkenalkan term-term umum bila mungkin.
CONTOH : Nyatakan fungsi yang ada dalam Gambar 10-2 dengan hanya menggunakan gate NAND 2-input dan inverter. a be '"
a 0 bey
1
00
01
01
11
11
10
10111
10
CD 1 1
1
',:,
1I
= DP(O,2,3.4,5)
12
= Lm(O,2,3.4,7)
Gambar 10-2 370
13
= Lm(l,2,6,7)
Jika kita meminimalkan masing-masing fungsi secara terpisah, hasilnya adalah : II = b'c' + ab' + a'b 12 = b'c' + be + a'b 13 = a'b'c + ab + be' Masing-masing fungsi memerlukan gate OR 3-input, sehingga kita akan memfaktorkan untuk mengurangi jumlah input gate :
.
II = b'(a + c') + a'b 12 = bra' + c) + b'c' atau 12 13 = a'b'c + bra + c')
= (b'+
c)(b + c') + a.1z.
Pemyataan kedua untuk/2 mempunyai term umum untuk/l' sehingga kita akan memilih pemyataan kedua. Kita dapat menghilangkan gate 3-input yang lain dari f3 dengan memperhatikan bahwa
= a'(b'c) = a'(b
a'b'c
+ c')'
Gambar 10-3(a)menunjukkanjaringan yang dihasilkan dengan menggunakan term umum a'b dan a+ c'. Karena masing-masing gate output adalah sebuah OR, konversi ke gate NAND, terlihat dalam Gambar 10-3(b) dilangsungkan.
a ,
c '
.....
I
,-
,
......
I.
I .
.
b
,
,
I
12
,
P"f---I---../
I
I
P-/.
I.
P-h
u
b .
I
c
)
c h
(a)
Gambar 10-3 Pemyataan
(b)
dari Gambar 10-2
371
10.3SIMULASIDANPENGUJIAN JARINGAN LOGIKA .
Bagian penting dari proses disain logika adaIah memeriksabahwa disain
akhimya tepat dan "membersihkan" disain tersebut jika perlu. Jaringan logika dapat diuji baik dengan secara nyata membangunnya atau dengan mensimulasikannya pada komputer. SimulaSi biasanya lebih mudah, lebih cepat, dan lebih ekonomis. Ketika jaringan logika menjadi semakin kompleks, penting untuk mensimulasikan suatu disain sebelum benar-benar membangunnya. Hal ini benar ketika disainnya dibangun daIam bentuk sirkuit integrasi, karena pembuatan sirkuit integrasi bisa memakan waktu lama dan membetulkan kesalahannya bisa jadi sangat mahaI. Simulai dilakukan karena beberapa alasan, (I) membuktikan bahwa disain tersebut secara logika benar, (2) membuktikan bahwa waktu sinyal logikanya tepat, dan (3) simulai dari komponen yang salah dalam sirkuit tersebut sebagai alat bantu untuk menemukan pengujian terhadap sirkuit tersebut. Menggunakan suatu program komputeruntuk mensimulasikanjaringan logika, pertama kali anda hams menentukan komponen dan hubungan jaringan, kemudian menentukan inputjaringan, dan akhimya mengobservasioutputjaringan. Deskripsi jaringan bisa jadi input pada simulator dalam bentuk rangkaian hubungan antara gate dan elemen logika lainnya dalam suatu jaringan, atau deskripsi tersebut bisa jadi daIam bentuk diagram logika yang ditulis pada layar komputer. Kebanyakan simulator logika modem menggunakan pendekatan yang terakhir. Suatu simulator tertentu yang beroperasi pada komputer personal menggunakan tombol atau kotak-kotak input untuk menentukan inputnya, dan satelit untuk membaca 0l!tput logika. Secara berubah-ubah, input dan outputnya dapat ditentukan sebagai rangkaian 0 dan 1 atau daIam bentuk diagram waktu (lihat Bab 11 untuk contoh diagram waktu). Suatu simulator sederhana untuk logika kombinasional bekerja sebagai berikut : 1. Input jaringan diaplikasikan pada rangkaian gate pertama dalam suatu jaringan, dan output dari gate tersebut dihitung. 2. Output gate yang berubah daIam langkah sebelumnya dimasukkan ke dalam level input gate berikutnya. Jika input pada setiap gate berubah, maka output dari gate tersebut dihitung. 3. Langkah ke-2 diulangi sampai tidak terjadi lagi perubahan dalam input gate. Jaringan tersebut kemudian dalam keadaan tetap dan outputnya dapat dibaca. 4. Langkah 1 sampai 3 diulangi setiap kali suatu input jaringan berubah.
372
Gambar 10-4(a) menunjukkan layar simulasi khusus pada komputer per-
sonal. Tombol tersebut adalah rangkaian ke 0 atau 1 untuk masing-masing input. Satelit menunjukkan nHai m~ing-masing output gate. Dalam Gambar 10-4(b), satu gate tidak mempunyai hubungan dengan salah satu inputnya. Karena gate tersebut mempunyai 1 input dan sebuah input yang tidak diketauhi, output gatenya juga tidak diketahui, yang ditunjukkan dengan "X" dalam pemeriksaan. Simulator dari jenis ini membuat masing-masing variabel mempunyai tiga nHai - 0,1, dan X (tidak dikenal). Dalam hal ini, fungsi AND dan OR dihitung dengan menggunakan Tabel 10-1.
o I 0-0 0-0
(a) Layar simulasi yang menunjukkan saklar dan satelit. (b) Layar simulasi dengan input gate yang bilang. Gambar 10-4
Tabel 10-1 Fungsi AND dan OR untuk Simulasi Tiga-Nilai
.
0
1
X
+
0
1
X
o 1 X
0
0
0
0
0
I
X
0
1
X
1
1
1
J
0
X
X
X
X
1
X
373
Tabel tersebut menunjukkan hasil pengaplikasian operator AND dan OR pada sembilan pasangan nilai input yang memungkinkan. Misalnya, jika satu input gate OR adalah 0 dan input lain tidak diketahui (X), maka outputnya akan menjadi X. Untuk gate-gate dengan lebih dari dua input, operasinya mungkin diaplikasikan beberapa kali. Untuk gate AND, jika salah satu inputnya adalah 0 maka o!ltpunya selalu 0, tanpa memperhatikan nilai input lainnya. Untuk gate OR, jika salah satu inputnya adalah I, maka outputnya selalu 1, tanpa memperhatikan nilai input lainnya. Suatu jaringan logika kombinasionaldenganjumlah input kecil dengan mudah dapat diuji dengan simulator atau dalam laboratorium dengan mengecek output jaringan untuk semua kombinasi nilai input yang memungkinkan. Ketika jumlah inputnya besar, biasanya memungkinkan untuk mencari rangkaian pola pengujian yang relatif )cecil yang akan menguji semua gate yang mungkin salah dalam jaringan tersebut. Metode untuk penurunan pola uji dideskripsikan dalam Miczo, Alexander, Digital Logic Testing and Simulation. Harper and Row, 1986. Jika suatu outputjaringan salah untuk beberapa rangkaian nilai input, mungkin hal ini berk~itan dengan beberapa kemungkinan penyebab : I.
Disain yang tidak tepat
2.
Hubungan gate salah
3.
Tanda input ke jaringannya salah.
Jika jaringan tersebut dibangun di laboratorium, kemungklnan penyebab lain meliputi : 4. Gate rusak 5.
kabel penghubung cacatlrusak
Untungnya, jika output dari jaringan logika kombinasional salah, sangat mudah untuk menentukan permasalahannya secara sistematis dengan memulai pada output dan menelusuri balik jaringan tersebut sampai kerusakannya ditemukan. Misalnya, jika gate outputnya mempunyai output yang salah dan inputnya salah, maka gate tersebut salah dihubungkan, gate yang mengendalikan input ini mempunyai output yang salah, atau saluran inputnya rusak. CONTOH : Fungsi F jaringan berikut ini :
374
= AB(C'D
+ CD') + A'B'(C + D) dinyatakan dengan
SOALDISAIN /ndikator Tujuh-Segmen Beberapa permasalah yang melibatkan disain suatu jaringan untuk mengendalikan indikator tujuh-segmen (Lihat Gambar 10-6). lndikator tujuhsegmen dapat digunakan untuk menayangkan setiap salah satu dari digit desimal o sampai 9. Misalnya, "I" ditayangkan dengan menyorot segmen 2 dan 3, "2" dengan menyorot segmen 1,2,7,5, dan 4, sedangkan "8" dengan menyorotkan semua ketujuh segmen. Sebuah segmen disorot ketika logika 1 diaplikasikan pada input yang berkorespondensi pada modul penayangan.
Seven-SegmentIndicator
. XI
TOl!:g(e
Swit;ht:s
; C
Inp",' From{ D
Network to be Designed
x2 X) X4 Xs XI) X7
I
1 2
3 4
6'
121
5 6
5f
31 4
7
Gambar 10-6 Jaringan yang Mengendalikan Modul Penayangan Tujuh-Segmen
10.1 Disain suatu konverter kode BCD 8-4-2-1 untuk mengendalikan indikator tujuh-segmen. Ke-empat input ke jaringan konverter (A, B, C, D dalam Gambar 10-6) mewakili digit desimal kode biner 8-4-2-1. Asumsikan bahwa hanya kombinasi input yang mewakili digit 0 sampai 9 dapat terjadi sebagai input, sehingga kombinasi 1010 sampai 1111 tidak dipedulikan. Disainlah jaringan anda hanya dengan menggunakan gate NAND 2 dan 3 input serta inverter. Cobalah untuk "meminimalkan jumlah gate yang diperlukan. Variabel A, B, C, dan D akan dapat digunakan dari tombol "toggle" .
376
--
----
F
Gambar 10-5 Jaringan Logika dengan Output Salah
Ketika seorang siswa membangun jaringan di laboratorium, dia akan mendapatkan bahwa ketika A =B =C = D = I, output F mempunyai nilai salah, dan bahwa output gate-nya ditunjukkan dalam Gambar 10-5. Alasan bahwa nilai pada F salah dapat ditentukan sebagai berikut : I.
Output gate 7 (F) adalah salah, namun output yang salah ini konsisten dengan input pada gate 7, yaitu I + 0 = l. Oleh karenanya, salah satu input ke gate 7 pasti salah.
2.
Agar supaya gate 7 mempunyai output yang tepat (F =0), kedua input hams O.Oleh karenanya, output gate 5 adalah salah. Namun demikian, output gate 5 konsisten dengan inputnya karena 1 _ 1 _ 1
= 1. Sehingga,
salah satu
inputnya ke gate 5 pasti salah. 3.
Baik output dari gate 3 yang salah atau input A atau B ke gate 5 yang salah. Karena C'D + CD' = 0, output ke gate 3 juga salah.
4.
Output gate 3 tidak konsisten dengan output gate I dan 2 karena 0 + 0 _ 1. Oleh karenanya, salah satu input ke gate 3 dihubungkan secara salah, maka gate 3 rusak, atau salah satu input yang menuju pada gate 3 rusak.
Contoh di atas menggambarkan bagaimana menemukan kesalahan dalam suatu jaringan logika dengan memulai pada gate output dan menelusuri batik sampai hubungan yang salah atau rusak ditemukan.
375