Anda di halaman 1dari 24

119

BAB IX RANGKAIAN SEKUENSIAL ASINKRON Pada rangkaian sekuensial sinkron, perubahan state yang terjadi yang direpresentasikan oleh flip-flop dikontrol dengan menggunakan clock. Clock adalah sinyal periodik yang berbentuk pulsa. Perubahan state dapat terjadi pada tepi positif atau tepi negative pulsa clock. Karena bekerja dengan dikontrol oleh pulsa-pulsa (clock), maka rangkaian sekuensial asinkron dikatakan bekerja pada mode pulsa. Pada rangkaian sekuensial asinkron, perubahan state tidak ditriger oleh pulsapulsa clock.Perubahan state tergantung pada kondisi input pada suatu saat. Untuk mendapatkan operasi yang reliable, input rangkaian harus berubah satu kondisi saja pada suatu saat. Dan harus terdapat waktu yang cukup antara perubahan input yang memungkinkan rangkaian pada kondisi stabil. 9.1. SIFAT ASINKRON Untuk memahami sifat rangkaian sekuensial asinkron, kita perhatikan rangkaian latch SR (Set-Reset) seperti terlihat pada gambar 9.1. Adanya fumpan balik pada rangkaian memeberikan sifat sekuensial pada rangkaian tersebut. Rangkaian tersebut adalah rangkaian asinkron karena perubahan nilai output Q tidak menunggu adanya pulsa clock. Apabila terdapat perubahan nilai input R atau S, nilai Q akan berubah sesaat sesudah adanya delay propagasi melalui gerbang NOR. Dalam gambar, penjumlahan waktu delay 2 gerbang NOR disimbolkan sebagai . Dengan adanya ini maka pada gambar gerbang NOR dianggap ideal mempunyai waktu delay = 0. Sesudah waktu delay maka y (present state) mengambil nilai Y (next state).
R
Y y

= Waktu tunda gerbang akumulatif

(a) Rangkaian dengan pemodelan delay gerbang


Present State y 0 1 Y = Next State SR= 00 0 1 01 0 0 10 1 1 11 0 0

Y = R .( S + y )

= kondisi stabil

(b) Tabel Representasi State Gambar 9.1 Analisa Rangkaian SR latch

Bab IX Rangkaian Sekuensial Asinkron

119

120

kondisi stabil = kondisi di mana rangkaian mencapai suatu state tertentu dan akan tetap pada state ini kecuali ada perubahan yang disebabkan faktor luar. Waktu tunda merupakan waktu tunda akumulatif yang disebabkan oleh adanya waktu proses/ delay pada tiap komponen. Pada gambar di atas, waktu tunda seluruh komponen gerbang NOR direpresentasikan dengan , sehingga gambar gerbang NOR di atas melambangkan gerbang ideal dengan delay nol. Tabel representasi state dapat dilihat pada gambar 9.1.(b). Jika present state y=0 dan input S = R = 0, maka rangkaian akan menghasilkan next state Y=0. Karena y=Y, maka state rangkaian tidak berubah. Kondisi ini disebut rangkaian dalam kondisi stabil. Jika input R berubah menjadi 1 sedangkan R tetap 0, rangkaian akan menghasilkan Y=0 dan tetap stabil. Kemudian jika S berubah menjadi 1 sedangkan R tetap 1, nilai Y tidak berubah dan rangkaian tetap stabil. Jika R = 0 dan S tetap 1 (SR=10), maka output Y = 1. Karena y Y, maka rangkaian tidak stabil. Sesudah waktu delay , nilai present state y akan berubah menjadi 1. Dengan nilai y=1 tersebut, dan dengan input tetap SR=10, maka nilai Y akan tetap bernilai 1. Dengan demikian rangkaian menjadi stabil. Konsep stabil sangat penting dalam rangkaian sekuensial asinkron. Untuk nilai input tertentu, jika rangkaian mencapai suatu state tertentu dan tetap pada state itu, maka state tersebut disebut stabil. Dalam gambar, state yang stabil diberi tanda dengan lingkaran. Dari tabel representasi state dapat diturunkan tabel state dan diagram state untuk rangkaian pada gambar 9.1.(a). Tabel state dan diagram state tersebut ditunjukkan pada gambar 9.2.
Present State A B Y = Next State SR = 00 A B 01 A A 10 B B 11 A A Output Q 0 1

(a) Tabel State

(b) Diagram State Gambar 9.2. Tabel state dan Diagram State Latch SR

Bab IX Rangkaian Sekuensial Asinkron

120

121

9.2. ANALISA RANGKAIAN SEKUENSIAL ASINKRON Analisa rangkaian adalah membaca dari rangkaian yang diberikan dan ditentukan cara kerja atau sifat-sifatnya. Langkah-langkah dalam proses analisa suatu rangkain sekuensial asinkron adalah sebagai berikut : Dari gambar rangkaian, turunkan persamaan next state (state selanjutnya) dan persamaan output dari rangkaian Buat tabel eksitasi berdasar persamaan next state dan persamaan output Buat tabel alir dari tabel eksitasi, dengan cara mengubah kode biner state menjadi variable/ simbol. Dari tabel alir dibuat diagram state Untuk lebih memahami proses tersebut, berikut ini diberikan beberapa contoh. Contoh I : Master-Slave Flip-flop Gambar rangkaian master-slave flip-flop dengan menggunakan D flip flop ditunjukkan pada gambar 9.3.

Gambar 9.3. Rangkaian flip-flop master-slave dipandang sebagai rangkaian asinkron Walaupun pada gambar terdapat sinyal clock, tetapi pada dasarnya semua rangkaian adalah asinkron. Maka dalam analisa ini, rangkaian master-slave flip-flop kita pandang sebagai rangkaian asinkron. Kita dapat menganalisa masing-masing flip-flop (master atau slave) sebagai D flip-flop yang menggunakan gerbang untuk pengaktifannya (Gated D-FF). Gambar rangkaian dalam dari Gated D-FF seperti terlihat pada gambar 9.4.

Gambar 9.4. Gated D flip-flop Persamaan rangkaian dari gated-D flip flop adalah : Y = CD + C y Sehingga kalau kita terapkan ke dalam master-slave flip-flop yang merupakan rangkaian seri dari 2 Gated D flip-flop, persamaan state selanjutnya untuk bagian master adalah : Ym = CD + C y m

Bab IX Rangkaian Sekuensial Asinkron

121

122

Sedangkan persamaan state selanjutnya untuk bagian slave adalah :


Ys = C y m + Cy s

Dari persamaan untuk bagian master dan bagian slave di atas akan didapat tabel eksitasi seperti pada gambar 9.5.
Present State ymys 00 01 10 11 CD=00 Next State 01 10 YmYs 00 00 11 11 00 01 00 01 11 Output Q 0 1 0 1

00 00 11 11

10 11 10 11

Gambar 9.5. Tabel Eksitasi untuk Master-Slave D Flip flop Beberapa hal yang perlu diperhatikan dari tabel eksitasi pada gambar 9.5 adalah sebagai berikut : Tabel eksitasi menyatakan perubahan state dari kondisi sekarang (present) menjadi kondisi selanjutnya (next) pada kondisi input tertentu. Contoh pada tabel di atas : Saat present state ymys = 10 dan input CD=01, maka next state YmYs = 11. Kondisi ini belum stabil, karena dengan berubahnya YmYs menjadi 11, maka ymys pun akan menjadi 11. Dengan ymys= 11 dan CD = 01, maka didapat YmYs = 11. Kondisi ini sudah stabil karena YmYs= ymys= 11. Kondisi stabil ini ditandai dengan lingkaran. Dari tabel eksitasi di atas akan didapatkan diagram alir (flow table) pada gambar 9.6. Tabel alir didapatkan dengan mengganti state yang dinyatakan dalam bilangan biner menjadi suatu simbol. Dalam contoh ini state 00 dinyatakan dengan state S1, state 01 dinyatakan dengan state S2, state 10 dinyatakan dengan state S3 dan state 11 dinyatakan dengan state S4.
Present State y2y1 S1 S2 S3 S4 CD=00 S1 S1 S4 S4 Next State 01 10 YmYs S1 S1 S4 S4 S1 S2 S1 S2 11 S3 S4 S3 S4 Output Q 0 1 0 1

Gambar 9.6. Tabel Alir untuk Master-Slave D Flip flop Langkah selanjutnya dalah membuat Diagram State yang dapat dilihat pada gambar 9.7.

Bab IX Rangkaian Sekuensial Asinkron

122

123

S1/0

= State S1 dengan keluaran z=0

Gambar 9.7. Diagram State untuk Master-Slave D Flip flop Diagram state menggambarkan perubahan state akibat adanya suatu input. Pada gambar di atas, state S1 dengan output 0 akan berubah menjadi state S3 dengan output 0 akibat adanya input CD = 11 Untuk lebih memperjelas, di sini akan dijelaskan sifat dari rangkaian tersebut. State S1, di mana ymys=00, adalah kondisi stabil untuk semua input kecuali CD=11. Jika C = 1, nilai D akan disimpan di bagian master, dengan demikian CD=11 akan menyebabkan ym=1 dan ys=0. Jika input D berubah menjadi 0 kembali sementara clock masih tetap 1 (berarti CD=10), flip-flop berubah kembali menjadi state S1. Contoh 2

Gambar 9.8. Contoh rangkaian ke-2

Dari gambar rangkaian pada gambar 9.8 dapat diturunkan persamaan rangkaian :

z = y1 y 2

Bab IX Rangkaian Sekuensial Asinkron

123

124

Y1 = y1 y 2 + w1 y 2 + w1 w2 y1 Y2 = y1 y 2 + w1 y 2 + w2 + w1 w2 y1 y1
Dari persamaan tersebut akan didapat tabel eksitasi dan tabel alir seperti tergambar pada gambar 9.9. Tabel eksitasi menyatakan perubahan next state untuk kondisi present state tertentu dan input tertentu dan state-state yang ada dinyatakan dalam bentuk bilangan biner. Sedangkan pada tabel alir state dinyatakan dengan simbol (A, B, ...dst). State yang dilingkari menyatakan state stabil.
Present w2w1=00 State y2y1 Y 2Y 1 00 01 10 11 00 11 00 11 Next State 01 10 Y 2Y 1 Y 2Y 1 01 01 10 10 10 11 10 10 Output z 0 0 1 0

11 Y 2Y 1 11 11 10 10

(a) Tabel eksitasi


Next State w2w1=00 A D A D 01 B B C C 10 C D C C 11 D D C C

Present State A B C D

Output z 0 0 1 0

(b) Tabel Alir Gambar 9.9 Tabel eksitasi dan tabel alir untuk rangkaian gambar 9.8. Beberapa transisi yang ada pada tabel alir tidak akan muncul dalam kenyataannya karena adanya asumsi input w1 dan w2 tidak dapat berubah secara bersama-sama. Pada state A rangkaian stabil pada nilai input w2w1 = 00. Input-nya tidak dapat berubah ke 11 secara langsung tanpa melalui nilai 01 atau 10, yang dalam hal ini adalah state B dan state C. Dengan demikian transisi dari A untuk nilai w2w1 = 11 bisa diabaikan. Hal yang sama berlaku untuk kondisi stabil pada state B untuk kondisi input w2w1=01. Tidak mungkin terjadi untuk mengubah state menjadi D dengan input w2w1 = 10. Karena itu situasi ini bisa diabaikan. Jika rangkaian stabil pada state C untuk input w2w1 = 11, tidak akan terjadi transisi ke A dengan mengubah langsung input w2w1 menjadi bernilai 00. Akan tetapi transisi ke state A tetap dapat terjadi dengan mengubah nilai input satu per satu (tidak bersamaan) karena rangkaian tetap berada pada kondisi stabil untuk w2w1 = 01 maupun w2w1=10. Hal yang berbeda terjadi jika rangkaian stabil pada state D untuk w2w1 = 00. Kelihatannya untuk w2w1=11 bisa diabaikan karena perubahan input tidak dapat

Bab IX Rangkaian Sekuensial Asinkron

124

125

dilakukan dari state D yang stabil. Akan tetapi perlu diperhatikan perubahan dari state yang lain. Jika rangkaian stabil pada state B untuk nilai input w2w1=01. Jika input berubah menjadi w2w1 = 11, akan menyebabkan perubahan ke state D akan tetapi tidak stabil untuk input w2w1 = 11 tersebut. Sesudah berubah ke state D tersebut, rangkaian akan segera berubah menjadi state C dan akan stabil di state dtersebut. Denmgan demikian perubahan dari D ke C untuk input w2w1 = 11 tidak dapat diabaikan. Transisi dari kondisi stabil state B ke kondisi stabil state C melalui kondisi tidak stabil state D menggambarkan bahwa tidak semua perubahan yang terjadi langsung dari suatu kondisi stabil yang satu ke kondisi stabil yang lain. State yang dilewati untuk perpindahan antara 2 kondisi stabil tersebut (dalam contoh ini adalah state D) disebut state tidak stabil. Transisi yang melalui state tidak stabil ini tidak akan merugikan selama tidak menghasilkan output yang tidak diinginkan. Dengan adanya beberapa transisi yang bisa diabaikan di atas, maka tabel alir pada gambar 9.9(b) dapat diubah menjadi lebih sederhana seperti terlihat pada gambar 9.1, sedangkan diagram state dapat dilihat pada gambar 9.11.
Present State A B C D Next State w2w1=00 A D A D 01 B B C C 10 C C C 11 D C C Output z 0 0 1 0

Gambar 9.10 Tabel alir modifikasi/ tereduksi untuk contoh 2 Tabel Alir Tereduksi Dalam penggambaran tabel alir, seringkali berdasarkan sifat nyata dari sistem, terdapat-hal-hal yang tidak mungkin terjadi. Sehingga state pada kondisi tersebut tidak perlu digambarkan. Misalnya pada mesin penjual barang (vending machine) yang menerima 2 macam koin, misalnya koin A dan koin B. Karena mesin menerima input hanya satu koin pada satu saat, maka kondisi input 11 (2 koin bersamaan) tidak mungkin terjadi.

Gambar 9.11 Diagram State untuk contoh 2

Bab IX Rangkaian Sekuensial Asinkron

125

126

DESAIN RANGKAIAN ASINKRON Untuk merancang rangkaian sekuensial asinkron diperlukan langkah-langkah sebagai berikut : 1. Buat State diagram yang menyatakan sifat/ fungsi dari rangkaian yang akan dibuat 2. Turunkan tabel alir dari diagram state yang ada 3. Kodekan masing-masing state dengan bilangan biner dan buat tabel eksitasi. Jika terdapat N state maka diperlukan jumlah bit sebanyak 2logN. 4. Dapatkan persamaan next state dan persamaan output 5. Buat rangkaian yang mengimplementasikan persamaan next state dan persamaan output Untuk memperjelas apa yang dilakukan dalam langkah-langkah di atas, maka akan diberikan beberapa contoh perancangan. Contoh I : Generator Parity Serial Generator parity sinyal adalah rangkaian yang membangkitkan parity, yaitu memberikan bit tambahan sesuai dengan pola yang diinginkan dengan tujuan biasanya untuk dteksi terjadi error atau tidak. Terdapat 2 jenis parity, yaitu parity genap dan parity ganjil. Parity genap akan memberikan jumlah bit 1 genap, sedangkan parity ganjil akan memberikan bit 1 ganjil. Misalnya untuk parity genap, apabila jumlah bit 1 pada data adalah ganjil, maka bit tambahan/ parity diset=1, sehingga secara total jumlah bit 1 adalah genap. Dalam contoh ini rangkaian yang dirancang adalah parity genap. Spesifikasinya adalah sebagai berikut : Suatu rangkaian yang mempunyai 1 input w dan satu output z. Jika jumlah bit 1 sebelumnya adalah genap, maka z = 0 Jika jumlah bit 1 sebelumnya adalah ganjil, maka z = 1 State Diagram Didefinisikan state A menyatakan state pada saat jumlah pulsa (bit 1) genap diterima. Apabila system pada state A maka output z=0. Jika pada kondisi A tersebut input w=0, maka state akan tetap berada pada state A yang digambarkan dengan busur panah yang berasal dari A dan kembali ke A. Jadi state stabil pada state A jika w=0. Jika pulsa berikutnya masuk,w=1, maka akan terjadi perubahan state karena jumlah bit data akan menjadi ganjil, sehingga output z = 1. State tersebut dinamakan B. Hal ini akan tetap demikian jika w masih tetap satu dan belum terjadi transisi perubahan ke 0. Perubahan input berikutnya terjadi saat w yang tadinya bernilai 1 berubah menjadi 0. Walaupun input w sudah berubah menjadi 0, tetapi jumlah pulsa masih tetap genap, sehingga output z masih bernilai 1. Kondisi ini dinyatakan sebagai state C. State C ini akan stabil jika w tetap bernilai 0, belum muncul pulsa baru. Kedatangan pulsa baru w=1 berikutnya akan menyebabkan jumlah pulsa menjadi genap lagi, sehingga output z=0. Kita namakan kondisi ini adalah state D. State D akan stabil selam nilai w masih 1 dan belum berubah. Ketika nilai w berubah menjadi 0, maka state akan kembali menjadi A di mana nilai input w=0 dan nilai ouput z = 1.

Bab IX Rangkaian Sekuensial Asinkron

126

127

Jadi perlu diperhatikan misalnya perbedaan state A dan state D. State A dan state D masing-masing mempunyai jumlah pulsa yang masuk adalah genap, tetapi nilai input pada state A adalah w=0, sedangkan nilai input pada state D adalah w=1. Diagram state secara lengkap dapat dilihat pada gambar 9.

State B

State D

Pulsa genap w

State A

State C

State A

Gambar 9.12 Diagram state untuk rangkaian generator parity serial. Dari gambar diagram state di atas dapat dijelaskan sebagai berikut (yang secara diagram waktu dapat dilihat pada gambar bagian kanan) : State A adalah state di mana rangkaian menerima jumlah pulsa genap, sehingga output = 0. Selama input masih nol (belum berubah), maka state tetap akan A. Jika input berubah menjadi 1, maka state A berubah menjadi state B. Dan karena jumlah pulsa sekarang ganjil, maka output = 1. Selama input belum berubah (masih 1), maka state B bertahan. Ketika input berubah menjadi 0, state berubah menjadi C dengan output tetap 1. Apabila input berubah menjadi 1 lagi, maka state berubah menjadi D Sebagai catatan di sini perlu ditekankan bahwa pada rangkaian asinkron, setiap perubahan nilai dari 1 menjadi 0 atau dari 0 menjadi 1 di mana pun tempatnya akan mengubah state sistem. Berbeda dengan rangkaian sinkron di mana perubahan hanya terjadi jika ada trigger clock yang datang. Sehingga dengan demikian dapat dimengerti bahwa walaupun sebenarnya terdapat 2 state saja yaitu kondisi jumlah pulsa genap dan kondisi jumlah pulsa ganjil, tetapi diperlukan 4 state untukmenyatakannya. Karena di situ diperhitungkan pula transisi perubahan yang terjadi. State B dan state C masing-masing menyatakan jumlah pulsa ganjil, tetapi keduanya tidak dapat dijadikan satu. Selama nilai input w=1 belum berubaha, maka state masih akan pada posisi B. Untuk menuju pilsa selanjutnya input pasti akan berubah menjadi 0 dulu (ini harus diperhitungkan karena setiap perubahan yang terjadi akan langsung mempengaruhi output, karena tidak ada clock). Adanya perubahan input menjadi 0 akan mengakibatkan state berubah menjadi C, di mana state ini siap menerima input pulsa (w=1) seklanjutnya. Tabel Alir dari diagram state pada gambar 9.12 ditunjukkan pada gambar 9.13. Tabel alir menunjukkan perubahan state yang terjadi akibat adanya nilai input tertentu.

Bab IX Rangkaian Sekuensial Asinkron

127

128

Present State A B C D

Next State w=0 w=1 A C C A B B D D

Gambar 9.13. Tabel alir rangkaian serial Parity Generator State yang dilingkari pada kolom next state adalah state yang sudah stabil, sedangkan yang tidak dilingkari menunjukkan state yang belum stabil. Present state B akan berubah menjadi C apabila input w = 0, tetapi kondisi tidak stabil karena output pada state B output pada state C. Dengan w tetap = 0, maka present state C tidak stabil yang baru akan berubah menjadi state C yang stabil. Langkah selanjutnya adalah merepresentasikan setiap state dalam tabel alir menjadi bilangan biner. Karena terdapat 4 state maka diperlukan 2 variabel y1 dan y2. Dengan merepresentasikan A, B, C, dan D menjadi y2y1 = 00, 01, 10 dan 11 seperti tergambar pada gambar 9.14 a. Representasi seperti yang terlihat pada gambar 9.14.a kurang baik karena situasi berikut ini. Pada gambar 9.14.a terlihat bahwa rangkaian akan stabil pada state D = 11 pada saat input w=1. Tetapi jika input w=0, maka state akan berubah menjadi state A = 00 dan seharusnya akan stabil pada kondisi ini. Masalah yang timbul adalah pada saat perpindahan dari 11 00, kedua variabel y2 dan y1 akan berubah bersama-sama dari 1 0. Hal ini akan sulit terjadi, pada rangkaian asinkron masalah delay rangkaian biasanya tidak akan pernah sama untuk variabel yang satu dengan yang lain. Hal ini akan mengakibatkan nilai state D = 11 tidak akan bisa langsung berubah menjadi state A=00. Yang terjadi adalah varaiabel yang satu akan lebih lambat perubahannya dibanding variabel yang lain. Maka kemungkinan pertama yang terjadi adalah perubahan dari 11 10 (state C). Karena w=0, maka saat state berubah menjadi state C akan tetap stabil pada state tersebut. Tentu saja ini akan menimbulkan output yang salah, tiudak sesuai dengan yang diharapkan. Kemungkinan yang kedua adalah perubahan 11 01 (state B). Pada saat w=0 dan state adalah state B = 01, maka state akan berubah menjadi state C = 10. Sekali lagi hal ini akan mengakibatkan perubahan 2 variabel bersama-sama yang biasanya tidak mungkin terjadi pada rangkaian asinkron. Apabila y1 berubah lebih dulu, maka nilai y2y1 akan berubah dari 01 00. Jika ini terjadi maka didapat hasil yang benar, tetapi jika ini tidak terjadi maka didapat hasil yang salah. Ketidakpastian yang disebabkan oleh perubahan sekaligus lebih dari satu variabel ketika merespon adanya suatu input tertentu akan menyebabkan output yang tidak sesuai dengan yang diinginkan. Hal ini harus dihindari. Sifat ketidakpastian ini biasa disebut kondis race (balapan). Kondisi race dapat dapat dihilangkan jika hanya satu variabel state yang boleh berubah pada suatu saat. Dalam contoh di sini, maka representasi sinyal seperti pada gambar 9.14.b, A=00, B= 01, C=11 dan D=10 dapat memenuhi kondisi tersebut. Kondisi race akan dibahas lebih lanjut pada bagian selanjutnya.

Bab IX Rangkaian Sekuensial Asinkron

128

129
Next State w=0 Y2Y1 00 10 10 00 01 01 11 11 w=1

Present State y2y1 00 01 10 11

Output z 0 1 1 0

Present State y2y1 00 01 11 10

Next State w=0 w=1 Y2Y1 00 11 11 00 01 01 10 10

Output z 0 1 1 0

a. Representasi kurang baik

b. Representasi yang baik

Gambar 9.14. Tabel Representasi State Dari tabel alir, setiap simbol state dikodekan menjadi biner. Didapatkan tabel eksitasi. Terdapat 4 state maka diperlukan kode biner 2 bit Pengkodean pada tabel a. kurang baik karena terdapat perubahan 2 bit sekaligus dari 11 menjadi 00 saat w=0. Hal ini akan mengakibatkan timbulnya masalah race (balapan), karena pada kenyataannya waktu delay antara 1 komponen dengan komponen yang lain akan berbeda. Dari tabel representasi state pada gambar 9.14.b dapat dibuat K-Map untuk masingmasing variabel dan persamaan fungsi rangkaian dalam bentuk paling sederhana seperti terlihat pada gambar 9.15.

Y2

Y1

Y2 = wy 2 + w y1 + y1 y 2

Y1 = wy 2 + w y1 + y1 y 2

z = y1

Gambar 9.15. K-Map untuk Rangkaian Serial Parity Generator Dari K-Map pada Gambar 9.15 didapat persamaan rangkaian adalah :
Y2 = wy 2 + w y1 + y1 y 2 Y1 = wy 2 + w y1 + y1 y 2 z = y1

Bab IX Rangkaian Sekuensial Asinkron

129

130

Perlu diperhatikan bahwa persamaan pada Y1 dan dan Y2 bukan merupakan bentuk paling sederhana. Adanya tambahan suku y1 y 2 pada Y2 dan y1 y 2 pada Y1 dimaksudkan untuk mengatasi Hazard yang akan dibahas lebih lanjut pada bab 9.. Impelementasi rangkaian berdasarkan persamaan yang didapat di atas dapat dilihat pada gambar 9.16.

y1 z

y2

Gambar 9.16 Implementasi Rangkaian Serial Parity Generator Contoh 2 : Up-Counter Modulo-4 Ingin dirancang up-counter modulo-4 menggunakan rangkaian sekuensial asinkron dengan karakteristik sebagai berikut : Rangkaian penghitung dari 0 3 State akan berubah apabila terdapat pulsa 1 Sesudah angka 3, maka output akan berubah kembali menjadi 0 saat ada pulsa 1 Diagram state dari rangkaian counter modulo-4 ditampilkan dalam gambar 9.17, sedangkan Diagram waktu perubahan state digambarkan pada gambar 9.18..

Bab IX Rangkaian Sekuensial Asinkron

130

131 Gambar 9.17. Diagram State Up-counter modulo-4

Gambar 9.18 Diagram Waktu Perubahan State Terdapat 4 state nyata, yaitu perhitungan angka 0 sampai angka 3. Untuk itu di dalam penggambaran state asinkronnya diperlukan 8 state, yaitu state A sampai state H. Counter dimulai dari state A. State A adalah kondisi counter mulai perhitungan dan menunjukkan angka 0 (z=0). State A akan dan akan tetap di situ selama input w = 0. Jika input w berubah menjadi 1, maka counter akan mulai menghitung sehingga mempunyai output z = 1. Kondisi ini dinamakan state B dan akan tetap berada pada state tersebut selama input w masih tetap 1. Jika input w berubah menjadi 0, maka kondisi berubah menjadi state C, di mana nilai output z tetap 1 karena belum ada tambahan pulsa. Ketika terdapat perubahan input dari w=0 menjadi w=1, maka pulsa bertambah sehingga perhitungan nilai counter menjadi 2. Ini adalah state D. Demikian seterusnya sampai nilai perhitungan menjadi 0 lagi (state H), dan proses diulang menjadi dari state A. State A dan H menyatakan nilai counter = 0, state B dan C menyatakan nilai counter = 1, sgtate D dan E menyatakan nilai counter = 2, state F dan G menyatakan nilai counter = 3. Tabel Alir Up-counter modulo-4 ditunjukkan pada gambar 9.19, sedangkan tabel eksitasi ditunjukkan pada gambar 9.20. State A = 000, State B = 001, State C = 011, State D = 010, State E = 110, State F = 111, State G = 101, dan State H = 100.
Present State A B C D E F G H Next State w=0 w=1 A C C E E G G A B B D D F F H H

Bab IX Rangkaian Sekuensial Asinkron

131

132 Gambar 9.19. Tabel Alir Up-counter Modulo-4


Present State y3y2y1 000 001 011 010 110 111 101 100 Next State w=0 w=1 Y3 Y 2 Y1 000 011 011 110 110 101 101 000 001 001 010 010 111 111 100 100 Output z2z1 00 01 01 10 10 11 11 00

Gambar 9.20. Tabel Eksitasi Up-counter Modulo-4 Dari tabel eksitasi dilakukan minimisasi denganmenggunakan K-Map, sehingga didapatkan persamaan/ fungsi rangkaiannya. Hal ini ditunjukkan pada gambar 9.21.
y3y2y1 w 0 000
0

001
0

011
0

010
1

110
1

111
1

101
1

100
0

Y3 = wy3 + y1 y3 + y1 y2 w + y2 y3 )

Y2 = wy 2 + w y1 y 3 + y1 y 2 + y 2 y 3 )

Bab IX Rangkaian Sekuensial Asinkron

132

133

Y1 = w y1 + wy 2 y 3 + wy 2 y 3 + y1 y 2 y 3 + y1 y 2 y 3 = w y1 + ( w + y1 )( y 2 y 3 + y 2 y 3 )

z 2 = y1 y 3 + y1 y 2

z1 = y1

Gambar 9.21. K-Map Up-counter Modulo-4 9.4 HAZARD

Dalam rangkaian sekuensial asinkron sering terjadi glitch (pulsa yang tidak dikehendaki yang muncul dalam periode singkat). Glitch ini harus dihindari agar tidak terjadi.Glitch yang disebabkan oleh struktur rangkaian dan delay propagasi npada rangkaian disebut hazard. Terdapat 2 macam hazard, yaitu hazard statik dan hazard dinamik. Hazard statik terjadi bila sinyal diinginkan berada pada nilai logik tertentu saat variabel input berubah nilainya, tetapi yang terjadi sinyal; yang dimaksud berubah nilainya sesaat kemudian kembali ke nilai asalnya. Gambar 9.22 menunjukkan hazard statik. Dari gambar dapat dilihat bahwa jika sinyal bernilai 1 dan diinginkan tetap bernilai 1 walau terjadi perubahan input, maka jika ternyata saat perubahan input tersebut berubah menjadi 0 sesaat dan kemudian kembali ke nilai 1 lagi, maka hal tersebut disebut hazard statik. Demikian pula sebaliknya jika diinginkan suatu sinyal yang bernilai 0 dan diinginkan tetap bernilai 0 saat perubahan input, tetapi terjadi perubahan sesaat menjadi nilai 1, maka itu juga merupakan hazard statik.

Gambar 9.22 Definisi Hazard Statik

Bab IX Rangkaian Sekuensial Asinkron

133

134 Sedangkan dinamik hazard dapat dilihat pada gambar 9.23. Jika diinginkan suatu sinyal berubah dari 1 ke 0 atau dari 0 ke 1 saat perubahan input, jika terjadi osilasi sesaat pada saat perubahan itu sebelum sinyal stabil pada level yang diinginkan, maka hal tersebut disebut hazard dinamik. Dalam gambar 9.23 terlihat jika diinginkan sinyal berubah dari nilai 1 ke nilai 0 saat terjadi perubahan input, yang terjadi adalah sinyal tersebut berubah ke 0 tetapi dilanjutkan berubah ke nilai 1 lagi, baru kemudian stabil kembali menjadi nilai 0. Maka hal; ini disebut hazard binamik.

Gambar 9.23 Definisi Hazard Dinamik 9.4.1. HAZARD STATIK Gambar 9.24 menunjukkan rangkaian dengan hazard statik.Misalnya x1 = x2 = x3 = 1. Sehingga f = 1. Sekarang apabila x1 berubah dari 1 ke 0, maka keluaran f diharapkan tetap bernilai 1. Tetapi apabila delay propagasi diperhitungkan, maka perubahan x1 akan lebih dulu mempengaruhi nilai di titik p daripada di titik q karena adanya tambahan gate (NOT) yang menuju ke titik q. Dengan demikian sinyal di titik p akan menjadi 0 sebelum sinyal di titik q menjadi 1. Untuk sesaat, sinyal di p dan di q bernilai 0 sehingga menyebabkan f berubah menjadi 0 sesaat sebelum berubah kembali menjadi 1. Dengan demikian akan terjadi glitch.

(a) Rangkaian dengan hazard

(b) Peta Karnaugh

Bab IX Rangkaian Sekuensial Asinkron

134

135

(c) Rangkaian bebas hazard Gambar 9.24. Contoh Hazard Statik

Glitch yang terjadi dapat dicegah dengan cara berikut ini. Rangkaian pada gambar 9.24 mengimplementasikan fungsi rangkaian : f = x1 x 2 + x1 x3 Peta Karnaugh dari rangkaian tersebut ditunjukkan pada gambar 9.24.b. Dua suku pada fungsi tersebut mengimplementasikan implikan utama yang diberi lingkaran. Hazard yang ada terjadi pada saat terdapat transisi dari implikan utama x1 x 2 ke implikan utama x1 x3 . Hazard dapat dihilangkan dengan menambah implikan utama yang ketiga. Sehingga implementasi fungsi menjadi : f = x1 x 2 + x1 x3 + x 2 x3 Dengan implementasi rangkaian seperti pada gambar 9.24c, maka perubahan x1 dari 1 ke 0 tidak akan mempengaruhi out[put f karena suku x2x3 akan bernilai 1 jika x2 dan x3 bernilai 1 tanpa terpengaruh oleh nilai x1. Potensi hazard terjadi apabila dua nilai 1 yang bersebelahan pada peta kKarnaugh tidak dicover dalam satu suku product. Karena itu teknik untuk menghilangkan hazard adalah meng-cover nilai 1 yang bersebelahan dalam bentuk suku-suku product-nya.

9.4.2. HAZARD DINAMIK Hazard dinamik menyebabkan glitch pada perubahan pada transisi 0 1 atau dari 1 0. Contoh diberikan pada gambar 9.25.Diasumsikan semua gerbang NAND mempunyai delay yang sama. Diagram waktu dari rangkaian tersebut dapat dilihat pada gambar 9.25b.

Bab IX Rangkaian Sekuensial Asinkron

135

136

(a) Rangkaian
Delay 1 gerbang

x1 x2,x3x4 a b c d f

(b) Timing Diagram Gambar 9.25. Rangkaian dengan hazard dinamik Pada awalnya nilai x1=0 dan x2=x3=x4=1, sehingga output f = 0. Dengan berubahnya nilai x1 menjadi 1, maka seharusnya nilai f akan menjadi 1. Akan tetapi seperti terlihat pada diagram waktu pada gambar 9.25(b), perubahan nilai f dari 0 menjadi 1 melewati proses adanya hazard dinamik akibat adanya delay waktu yang disebabkan komponenkomponen penyusun rangkaian. Sesudah nilai x1 berubah dari 0 menjadi 1, maka yang terpengaruh adalah nilai a dan nilai b. Karena a masih bernilai 1 dan x1 bernilai 1, maka nilai b akan berubah menjadi 0 dan nilai a akan berubah menjadi 0. Perubahan nilai a dan b terjadi sesudah 1 waktu delay gerbang. Perubahan nilai b menjadi 0 sedangkan nilai d = 1 akan mengakibatikan nilai f =1 sesudah 1 waktu delay gerbang berikutnya. Sedangkan perubahan nilai di a menjadi 0 akan mengubah nilai b menjadi 1 lagi dan nilai c akan berubah menjadi 1 sesudah 1 waktu delay gerbang. Dengan demikian nilai b= 1 dan nilai d masih tetap 1, belum berubah. Hal ini akan mengakibatkan nilai d =0 dan nilai f = 0 sesudah 1 waktu delay gerbang . Karena nilai b = 1 dan nilai d =0, satu waktu delay gerbang berikutnya baru nilai f berubah menjadi 1 seperti yang dikehendaki.

Bab IX Rangkaian Sekuensial Asinkron

136

137 Dari penjelasan diagram waktu tersebut dapat dilihat bahwa sebelum nilai f berubah menjadi nilai 1 yang stabil terdapat osilasi 0 1 0 1 (stabil) yang merupakan hazard dinamik. Hazard dinamik disebabkan oleh struktur rangkaian di mana terdapat jalur yang banyak untuk mencapai perubahan sinyal yang diinginkan. Jika sinyal output berubah 3 kali, 0 1 0 1 seperti pada contoh, maka pasti terdapat paling sedikit 3 jalur gerbang dari perubahan input primer menuju perubahan output yang diinginkan. Suatu rangkain yang mempunyai hazard dinamik pasti juga mempunyai hazard statik. Seperti dalam gambar 9.25 dapat dilihat bahwa hazard statik terjadi pada sinyal b. Hazard dinamik sulit dideteksi dan sulit untuk diatasi jika terjadi. Dinamik hazard dapat dihindari jika hanya digunakan rangkaian 2-level. Untuk rangkaian multi-level, hazard dinamik dapat diatasi denganteknik faktorisasi atau dekomposisi. Suatu glitch dalam suatu rangkaian sekuensial asinkron dapat menyebabkan rangkaian menuju state yang salah yang tidak dikehendaki dan bisa stabil di state tersebut. Tentu saja ini akan menghasilkan output yang tidak dikehendaki. Sehingga hazard harus dihindari. Masalah hazard tidak muncul dalam rangkaian kombinasional maupun rangkaian sekuensial sinkron. RACE Seperti pernah disinggung pada subbab 9.3 pada contoh mengenai parity check generator, di mana apabila terdapat perubahan 2 bit atau lebih sekaligus akan mengakibatkan timbulnya masalah race (balapan), karena pada kenyataannya waktu delay antara 1 komponen dengan komponen yang lain akan berbeda. Sebagai contoh di sini apabila terjadi perubahan nilai bit dari 00 ke 11 :

00 11
Karena delay komponen logika biasanya tidak sama, maka perubahan yang terjadi bisa :

00 0111
atau

00 10 11
Perubahan yang terjadi tidak bersamaan disebut RACE (BALAPAN).

Berdasarkan output akhir yang didapatkan dari suatu rangkaian atau bagian rangkaian yang mengalami race, diklasifikasikan 2 macam race : 1. Non Critical Race Race yang terjadi akan menghasilkan output yang sesudah stabil sama dengan output yang diinginkan, sehingga tidak mengganggu fungsi kerja rangkaian ` 2. Critical race Race yang terjadi akan menghasilkan output yang sesudah stabil tidak sama dengan output yang diinginkan, sehingga mengganggu fungsi kerja rangkaian Sebagai contoh kita perhatikan table alir pada gambar 9.26 yang merupakan table alir dari suatu rangkaian sekuensial asinkron. Isi dari next state dapat kita ganti dengan anak

Bab IX Rangkaian Sekuensial Asinkron

137

138 panah yang menunjukkan arah perubahan yang terjadi seperti terlihat pada gambar 9.26(b). menunjukkan kondisi stabil sedangkan menunjukkan kondisi tidak stabil.
x1x2

x 1x 2 y1y2 00 01 11 10

00 11** 01 11 11

01 10 00 00* 10

10 00 10** 01 11

11 01 01 11 01**

y1y2 00

00

01

11

10

01

11

10

= kondisi stabil * = Non critical race ** = critical race = kondisi stabil = kondisi tidak stabil

Gambar 9.26 Tabel Alir dari suatu rangkaian sekuensial aasinkron

Jika kondisi tidak stabil (Yy), tetap akan terjadi perubahan sampai tercapai kondisi stabil.

Dari tabel alir pada gambar 9.26 tersebut dapat dievaluasi beberapa kondisi yang terjadi yang berhubungan dengan race. Kondidi-kondisi tersebut antara lain adalah : - Perubahan tanpa adanya race - Loop - Noon Critical Race - Critical race Perubahan Tanpa Adanya Race Race tidak terjadi apabila tidak terdapat perubahan 2 bit atau lebih sekaligus. Dari tabel alir pada gambar 9.26, sebagai contoh misalkan present state dari rangkaian adalah y1y2 = 01 dan input rangkaian adalah x1x2 = 01. Maka perubahan dari state 01 dengan input 01 diperjelas pada gambar 9.27.

Bab IX Rangkaian Sekuensial Asinkron

138

139

Gambar 9.27 Transisi Yang Tidak Menimbulkan Race

Dari tabel eksitasi pada gambar sebelumnya terlihat bahwa apabila nilai present state y1y2 = 01 dan input x1x2 = 01, maka next state Y1Y2 = 00 Karena Y1Y2 y1y2, maka kondisi tidak stabil. Dengan kondisi y1y2 = 00 dan x1x2 = 01, didapat Y1Y2 = 10. Ini pun belum stabil Dengan kondisi y1y2 = 10 dan x1x2 = 01, didapat Y1Y2 = 10. Karena Y1Y2 = y1y2, maka kondisi sudah stabil.

LOOP Dari gambar 9.26, loop terjadi pada kondisi kolom ke-3. Misalkan jika state dimulai dari y1y2 = 00. Dengan input x1x2 = 11 maka state akan berubah menjadi 11. State 11 ini tidak stabil dan dengan input x1x2 masih tetap 11, state akan berubah menjadi 01. State 01 ini juga tidak stabil dan akan segera menuju kembali ke state 10. Demikian terjadi berulang-ulang. Pada kondisi ini tidak akan pernah tercapai kondisi stabil.. Maka transisi state-nya tidak terdefinisi. Non Critical Race Non critical race adalah race yang terjadi yang menghasilkan output yang sesudah stabil sama dengan output yang diinginkan, sehingga tidak mengganggu fungsi kerja rangkaian
Bab IX Rangkaian Sekuensial Asinkron

139

140 Dari tabel alir pada gambar sebelumnya terlihat bahwa apabila nilai present state y1y2 = 11 dan input x1x2 = 01, maka next state Y1Y2 = 00. Karena di sini terjadi perubahan 2 variabel sekaligus dari 11 00, maka terjadi race. Perubahan yang terjadi dengan berbagai kemungkinan diperlihatkan pada gambar 9.28.

Gambar 9.28 Transisi dengan non critical race Dengan perubahan dari 00 11, maka terdapat 3 kemungkinan perubahan : Jika tidak terjadi race, maka urutan yang terjadi sampai stabil adalah adalah : 11001010 Jika terjadi race 1101 : 1101001010 Jika terjadi race 1110 : 111010 Sehingga walaupun terjadi race kearah mana pun, output akhir tetap sama. Sehingga race yang terjadi ini adalah Non critical race, Critical Race Critical race adalah race yang terjadi yang menghasilkan output yang sesudah stabil tidak sama dengan output yang diinginkan, sehingga mengganggu fungsi kerja rangkaian

Bab IX Rangkaian Sekuensial Asinkron

140

141 Dari tabel eksitasi pada gambar sebelumnya terlihat bahwa apabila nilai present state y1y2 = 00 dan input x1x2 = 00, maka next state Y1Y2 = 11. Perubahan yang terjadi dengan berbagai kemungkinan diperlihatkan pada gambar 9.29.

Gambar 9.29 Transisi dengan critical race

Dengan perubahan dari 00 11, maka terdapat 3 kemungkinan perubahan : Jika tidak terjadi race, maka urutan yang terjadi sampai stabil adalah adalah : 001111 Jika terjadi race 0001 : 000101 Jika terjadi race 0010 : 00101111 Karena hasil akhir berbeda apabila terjadi urutan perubahan yang berbeda, maka ini adalah critical race. Critical race harus dihindari karena akan mengakibatkan rangkaian tidak berfungsi seperti yang dikehendaki.

Bab IX Rangkaian Sekuensial Asinkron

141

142

Bab IX Rangkaian Sekuensial Asinkron

142

Anda mungkin juga menyukai