Desain Mesin Digital Keadaan Berhingga

Kita lihat lagi model klasik mesin keadaan berhingga atau finite state machine (FSM) pada Gambar 4.1 Elemen penunda dapat diimplementasi dengan flip-flop tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya, untuk implementasi umpan balik digunakan flip-flop. Perlu diketahui bahwa kita dapat melabeli flip-flop menurut kemauan kita, asal artinya jelas. Pada Gambar 4.1 posisi masukan Di dan keluaran Qi saling dipertukarkan dari posisi normal yang kita bahas sebelumnya.

Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11 dan berulang lagi. Diagram blok FSM pencacah sinkron ditunjukkan pada Gambar 4.13. Fungsi RESET (logika positif) mengakibatkan nilai keluaran q0 q1 adalah 00 jika diaktifkan. Keluaran akan berurutan sesuai nilai pada jalur q0 dan q1 pada waktu yang bersesuaian dengan detak. Setiap nilai baru keluaran muncul, maka nilai umpan balik s0s1 juga berubah.

Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaftar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q0 q1 dan keadaan s1 s0. Berdasarkan daftar tersebut kemudian dibuat rangkaian logika kombinasional yang merupakan implementasi pencacah. Dua flip-flop digunakan untuk mecatat bit keadaan.
Gambar 4.13 Pencacah modulo 4
Gambar 4.13 Pencacah modulo 4

Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaan untuk umpan balik? Kenyataannya adalah bahwa kita tidak tahu dari awal jumlah bit yang dibutuhkan untuk mencatat keadaan, sehingga untuk bahasan berikutnya kita akan melihat pendekatan yang lebih umum dalam perancangan mesin keadaan berhingga. Untuk pencacah kita dapat mulai dari penyusunan diagram transisi keadaan seperti Gambar 4.14 dengan keadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalam kasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, dan D untuk 11.
Gambar 4.14 Diagram transisi keadaan pencacah modulo 4
Gambar 4.14 Diagram transisi keadaan pencacah modulo 4

Misalnya, FSM diinisialisasi pada keadaan A. Ada 2 kemungkinan masukan yaitu: 0 dan 1. Jika masukan (RESET) bernilai 0, maka FSM akan berpindah ke keadaan B dan menghasilkan keluaran 01. Jika RESET bernilai 1, FSM tetap pada keadaan A dan menghasilkan keluaran 00. Mirip dengan ini, jika FSM di keadaan B, akan berpindah ke keadaan C dengan keluaran 10 jika RESET 0, jika tidak akan kembali ke keadaan A dengan keluaran 00. Demikian juga untuk keadaan yang lain, dapat diinterpretasikan dengan cara yang sama.

Sekali kita berhasil membuat diagram transisi keadaan, kita dapat menulisnya dalam bentuk tabel keadaan seperti Gambar 4.15. Keadaan sekarang terlihat di bagian kiri, dan kondisi masukan ada di bagian atas. Isi tabel adalah pasangan keadaan/keluaran berikutnya yang diambil langsung dari diagram transisi keadaan pada Gambar 4.14. Ambil salah satu bari misalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaan berikutnya adalah C dan keluaran berikutnya adalah 10.
Gambar 4.15 Tabel keadaan untuk pencacah modulo-4
Gambar 4.15 Tabel keadaan untuk pencacah modulo-4

Setelah kita membuat tabel keadaan, kita tentukan nilai biner untuk setiap keadaan. Karena ada 4 keadaan, kita membutuhkan paling tidak 2 bit untuk mengkodekan keadaan menjadi biner secara unik. Kita tentukan saja pengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan mengganti setiap label A,B,C, dan D dengan kode keadaannya, seperti pada Gambar 4.16. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruh terhadap bentuk rangkaian akhir, namun secara logika pengkodean ini mengakibatkan hasil akhir yang sama.
Gambar 4.16 Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya
Gambar 4.16 Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya

Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran seperti pada Gambar 4.17. Subskrip untuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis dengan st dan keadaan berikutnya ditulis dengan st+1. Biasanya subskrip ini diabaikan dengan pengertian bahwa ruas kanan dari persamaan memuat keadaan sekarang dan ruas kiri memuat keadaan berikutnya. Perlu dicatat bahwa s0(t+1) = q0(t+1) dan s1(t+1) = q1(t+1), sehingga cukup diimple mentasikan s0(t + 1) dan s1(t + 1) saja sedang q0(t + 1) dan q1(t + 1) dapat diambil langsung padanya.
Gambar 4.17 Tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran pencacah modulo-4
Gambar 4.17 Tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran pencacah modulo-4

Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluaran dengan menggunakan gerbang logika dan flip-flop D tuan-hamba untuk variabel keadaan seperti pada Gambar 4.18.

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال