Bab XI, State Diagram Hal: 226 BAB XI, STATE DIAGRAM State Diagram dan State Table Untuk menganalisa gerbang yang dihubungkan dengan flip-flop dikembangkan suatu diagram state dan tabel state. Ada beberapa variasi dari diagram state, yaitu yang bergantung pada keberadaan sinyal clock (Mesin asinkron dan mesin sinkron). Selanjutnya bergantung pada input saat ini pada output saat ini. Ketergantungan ini dikenal ada mesin Moore dan Mesin Mealy. Mesin Moore adalah mesin dengan keadaan output ditentukan langsung dari informasi keadaan, sehingga bergantung pada keadaan input dari FF. Selanjutnya ada mesin Mealy adalah mesin dengan output ditentukan oleh nilai input dan informasi keadaan internal. Gambaran skematik dari berbagai finite state machine (FSM) ditunjukkan pada ilustrasi berikut ini.
Bab XI, State Diagram Hal: 227 Gambar Asynchronous Mealy FSM Gambar Asynchronous Moore FSM Gambar Synchronous Mealy FSM Gambar Synchronous Moore FSM Disamping itu juga dikenal mesin Turing yaitu mesin yang dapat menulis dan membaca tape secara tak terbatas.
Bab XI, State Diagram Hal: 228 Untuk menjelaskan pengertian diagram state ini diberikan contoh detektor berurut biner. Detektor ini hanya akan memberikan output 1 jika ada pulsa input 1 berurutan tiga kali. Jumlah input dan output dari detektor ini adalah 1. Contoh bentuk gelombang input dan output dari detektor ditunjukkan pada Gambar 1. Gambar 1, Bentuk elombang input dan output dari detektor berurut biner. Detektor berurut biner dirancang hanya menghasilkan output 1 jika ada input 111 berurutan, seperti ditunjukkan kemungkinan kombinasi input pada Gambar 1. Diagram State dibentuk dari directed graph, terdapat node berupa lingkaran, disebut juga state dan link berupa garis kurva berpanah. Node dalam diagram state berhubungan dengan keadaan flipflop. Untuk problem detektor tsb ada 4 buah state, yaitu A, B, C dan D dengan 8 buah link, seperti ditunjukkan pada Gambar 2.
Bab XI, State Diagram Hal: 229 State Awal X=1 X=1 X=1 X=0 A,0 B,0 C,0 D,1 X=0 X=1 X=0 X=0 Gambar 2, Diagram state untuk detektor berurut biner. Dari Gambar 2, masing-masing nama state berikan output dari keadaan detektor tsb, contoh untuk state kini A dengan output 0 dan state kini D outputnya 1. Setiap link diberikan nilai input X yang menunjukkan transisi dari satu state ke state lain. Selanjutnya dibuat tabel state yang mewakili diagram state seperti ditunjukkan berikut ini. State Kini Output State Berikut Input X 0 1 A 0 A B B 0 A C C 0 A D D 1 A D State Kini Output State Berikut Z Input X 0 1 00 0 00 01 01 0 00 10 10 0 00 11 11 1 00 11 Setiap state dinyatakan dengan keadaan dari flipflop, karena ada 4 state maka perlu dua buah FF, misalnya untuk state A keadaan flip-flop = 00, sedangkan keadaan C dengan keadaan flip-flop
Bab XI, State Diagram Hal: 230 = 10, dst, seperti ditunjukkan pada tabel di atas. Untuk merancang gerbang logika, perhatikan bahwa ada 3 input, yaitu input dari FF dan dan input X, sedangkan outputnya ada 3, yaitu Z, D 1 dan D 0 (misalnya menggunakan DFF). Pada DFF Q =D n+1 1. menentukan output Z Z = 1 untuk = = 1, berarti Z Q Q 1 0 2. menentukan D 0 untuk FF 0 00 01 11 10 X 0 0 0 0 0 1 1 0 1 1 Diperoleh D 0 = Q.X Q.X 0 1 3. menentukan D 1 untuk FF 1. 00 01 11 10 X 0 0 0 0 0 1 0 1 1 1 Diperoleh D 1 =.X +.X Rancangan detektor berurut biner adalah :
Bab XI, State Diagram Hal: 231 D 0 X Cl k Z D 1 Cl k Clock Gambar 3, Rancangan logika detektor berurut biner (D 0 = Q.X Q.X, D 0 1 1 =.X +.X) Perancangan komparator sekuensial. Komparator sekuensial membandingkan dua nilai biner A dan B. Bilangan-bilangan biner ini disimpan dalam dua register geser, sebanyak n-bit. Ada dua output yaitu X dan Y. Jika A > B maka X = 1 dan Y = 0, jika A < B maka X = 0 dan Y = 1 sedangkan jika A = B maka X = Y = 0. Untuk mendesign komparator tsb pertama-tama dikembangkan diagram state. Pastikan bahwa MSB dari A dan B dibandingkan terlebih dahulu sebagai state awal P dan link ke state Q jika nilai
Bab XI, State Diagram Hal: 232 inputnya AB = 10 dan output dari state awal P adalah XY = 00, sedangkan output dari state Q adalah XY = 10. Sebaliknya jika A < B maka perlu ditambahkan state R dengan link untuk int AB = 01, output dari state R adalah 01. Katakan jika mesin dalam state Q maka tidak ada keadaan input yang dapat mengubah state Q yaitu A > B, sehingga loop dengan input AB = 00, 01, 10 dan 11 ditambahkan ke Q artinya tetap di state Q tanpa memperhatikan input AB. Dengan cara sama juga untuk state R tidak akan mengakibatkan perubahan untuk setiap input AB = 00, 01, 10 dan 11. Sehingga diagram state diperoleh :
Bab XI, State Diagram Hal: 233 State Awal AB = 01 AB=00, 11 AB=10 P,00 Q,10 R,01 AB=00,01,10,11 AB=00,01,10,11 State untuk A = B State untuk A > B State untuk A < B Gambar 4, Diagram State untuk Komparator Sekuensial Tabel State untuk Diagram State di atas adalah : State Kini Output XY State Berikut Input AB 00 01 10 11 P 00 P R Q P 0 Q Q Q Q R 01 R R R R State Kini Output XY State Berikut Input AB 00 01 10 11 00 00 00 10 01 00 01 10 01 01 01 01 10 01 10 10 10 10 Untuk merancang logika kombinasi dari tabel state di atas dipergunakan peta Karnough untuk masing-masing output dari gerbang sebagai input dari FF. 1. Untuk FF 0 AB 00 01 11 10 00 0 0 0 1 01 1 1 1 1
Bab XI, State Diagram Hal: 234 11 x x x x 10 0 0 0 0 diperoleh D 0 = Q ABQ 0 1 2. Untuk FF 1 AB 00 01 11 10 00 0 1 0 0 01 0 0 0 0 11 x x x x 10 1 1 1 1 diperoleh D 1 = Q ABQ 1 0 Rangkaian logika untuk komparator sekuensial adalah : A +AB D 0 X FF 0 B +AB D 1 Y FF 1 Clock Gambar 5. Rancangan logika untuk komparator sekuensial