10 an RAngkaian Urutan Menurut Waktu

download 10 an RAngkaian Urutan Menurut Waktu

of 62

Transcript of 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Rangkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Kita lihat lagi model klasik mesin keadaan berhingga atau finite state machine (FSM) pada Gambar 9.1. Elemen penunda dapat diimplementasi dengan flip-flop tuan-hamba dan sinyal sinkronisasi dengan detak. Umumnya, untuk implementasi umpan balik digunakan flip-flop.

Perencanaan Mesin Keadaan Berhingga

Perlu diketahui bahwa kita dapat melabeli flip-flop menurut kemauan kita, asal artinya jelas. Pada Gambar 9.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.

Perencanaan Mesin Keadaan Berhingga

Diagram blok FSM pencacah ditunjukkan pada Gambar 10.1.

sinkron

Fungsi RESET (logika positif) mengakibatkan nilai keluaran q0q1 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.

Perencanaan Mesin Keadaan Berhingga

Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaftar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1q0 dan keadaan s1s0. Berdasarkan daftar tersebut kemudian dibuat rangkaian logika kombinasional yang merupakan implementasi pencacah. Dua flip-flop digunakan untuk mencatat bit keadaan.

Perencanaan Mesin Keadaan Berhingga

Gambar 10.1: Pencacah modulo 4

Perencanaan Mesin Keadaan Berhingga

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.

Perencanaan Mesin Keadaan Berhingga

Untuk pencacah kita dapat mulai dari penyusunan diagram transisi keadaan seperti Gambar 10.2 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.

Perencanaan Mesin Keadaan Berhingga

Gambar 10.2: Diagram transisi keadaan pencacah modulo 4

Perencanaan Mesin Keadaan Berhingga

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.

Perencanaan Mesin Keadaan Berhingga

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 10.3.

Perencanaan Mesin Keadaan Berhingga

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 10.3. Ambil salah satu bari misalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaan berikutnya adalah C dan keluaran berikutnya adalah 10.

Perencanaan Mesin Keadaan BerhinggaGambar 10.3: 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.

Perencanaan Mesin Keadaan Berhingga

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 10.4. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruh terhadap bentuk rangkaian akhir, namun secara logika pengkodean ini mengakibatkan hasil akhir yang sama.

Perencanaan Mesin Keadaan BerhinggaGambar 10.4: Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya

Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran seperti pada Gambar 10.5. Subskrip untuk variabel menunjukkan waktu. keadaan

Perencanaan Mesin Keadaan Berhingga

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.

Perencanaan Mesin Keadaan Berhingga

Perlu dicatat bahwa s0(t+1) = q0(t+1) dan s1(t+1) = q1(t+1), sehingga cukup diimplementasikan s0(t + 1) dan s1(t + 1) saja sedang q0(t + 1) dan q1(t + 1) dapat diambil langsung padanya.

Perencanaan Mesin Keadaan Berhingga

Gambar 10.5: Tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran pencacah modulo-4

Perencanaan Mesin Keadaan Berhingga

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

Contoh Detektor Urutan

Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2 dari 3 masukan terakhir bernilai 1. Contohnya, masukan dengan 011011100 mengeluarkan hasil urutan 001111010. urutan dengan

Contoh Detektor Urutan

Ada satu jalur masukan seri dan kita asumsikan bahwa pada awalnya tidak ada masukan. Untuk kasus ini, kita akan menggunakan flipflop D dan MUX 8-ke-1.

Contoh Detektor Urutan

Gambar 10.6: Desain logika untuk pencacah modulo-4

Contoh Detektor Urutan

Kita mulai dengan menyusun diagram transisi keadaan, seperti pada Gambar 10.7. Ada 8 kemungkinan urutan 3 bit yang masuk ke dalam mesin: 000, 001, 010, 011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal, yang kita asumsikan belum ada data yang masuk. Pada keadaan B dan C baru masuk 1 bit data sehingga keluarannya 0.

Contoh Detektor Urutan

Keadaan D,E, F, dan G paling tidak menerima 2 bit masukan kalau keadaan sebelumnya adalah B atau C. Setelah masuk pada keadaan D,E, F, atau G maka sistem akan berkutat di keadaan ini saja. Keadaan D akan dikunjungi masukan terakhir bernilai 00. saat dua

Contoh Detektor Urutan

Keadaan E, F, dan G dikunjungi jika dua masukan terakhir adalah 01, 10, dan 11. Langkah berikutnya adalah membuat tabel keadaan seperti tertera pada Gambar 10.8, yang dituangkan dari diagram transisi keadaan. Selanjutnya, kita akan membuat penetapan kode keadaan seperti Gambar 10.9a.

Contoh Detektor Urutan

Berdasarkan penetapan kode keadaan kita dapat membuat tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran. Lihat Gambar 10.9b. Dua baris terakhir pada tabel berisi keadaan 111, yang dalam praktiknya tidak akan pernah muncul, karena keadaan 111 untuk kasus ini tidak ada.

Contoh Detektor Urutan

Dengan demikian keadaan berikutnya dan keluaran pada 2 baris tersebut tidak perlu diperhatikan, dan ditulis sebagai d yang berarti dont care, abaikan saja. Akhirnya, kita susun rangkaiannya seperti Gambar 10.10. Perlu 1 flip-flop untuk setiap variabel keadaan, sehingga seluruhnya perlu 3 flip-flop.

Contoh Detektor Urutan

Ada 3 fungsi keadaan berikutnyadan 1 fungsi keluaran, sehingga kita membutuhkan 4 MUX. Pemilihan s2, s1, dan s0 sebagai pengendali MUX merupakan pilihan begitu saja. Pilihan kombinasi lain juga dapat digunakan.

Contoh Detektor Urutan

Gambar 10.7: Diagram transisi keadaan untuk detektor urutan

Gambar 10.8: Tabel keadaan detektor urutan

Contoh : Pengendali mesin Penjualan

Kita akan merancang pengendali mesin penjualan menggunakan flip-flop dan kotak hitam yang mewakili PLA seperti pada Gambar 10.11. Mesin penjualan menerima tiga macam koin Rp 100, Rp 200, dan Rp 500.

Contoh : Pengendali mesin Penjualan

Jika nilai yang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan mengeluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudian menunggu transaksi berikutnya. Kita mulai menyusun diagram keadaan seperti Gambar 10.11. transisi

Contoh : Pengendali mesin Penjualan

Di keadaan A, belum ada koin yang dimasukkan, sehingga uang yang masuk adalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaan akan berubah ke B atau C. Jika koin limaratusan yang dimasukkan maka uang yang masuk sejumlah Rp 500.

Contoh : Pengendali mesin Penjualan

Mesin akan mengeluarkan barang dagangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap di A. Hal ini ditandai dengan L/110 dalam kalang memutar di keadaan A. Dari keadaan B atau C dapat berpindah ke keadaan D. Dari D kembali ke A atau B.

Contoh : Pengendali mesin Penjualan

Gambar 10.9: Penetapan kode keadaan dan tabel kebenaran detektor urutan

Contoh : Pengendali mesin Penjualan

Gambar 10.10: Diagram logika detektor urutan

Contoh : Pengendali mesin Penjualan

Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinya mesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dan kembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkan barang, mengembalikan Rp 300, dan menuju ke keadaan B.

Contoh : Pengendali mesin Penjualan

Mesin tetap menahan uang sebesar Rp 100. Dari diagram transisi keadaan dapt disusun tabel keadaan seperti pada Gambar 10.12a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D, dan L dalam bentuk biner, seperti pada Gambar 10.12b. Akhirnya, kita buat diagram rangkaiannya seperti Gambar 4.13a.

Contoh : Pengendali mesin Penjualan

Kode keadaan terdiri atas 2 bit sehingga diperlukan 2 flip-flop D. Empat masukan pada PLA digunakan 2 bit untuk keadaan sekarang dan 2 bit koin x1x0. PLA menghasilkan 5 keluaran untuk 2 bit keadaan berikutnya, bit pengeluaran barang, dan bit kembalian seratusan dan duaratusan.

Contoh : Pengendali mesin Penjualan

Kita asumsikan bahwa pemasukan dianggap masukan dan detak juga.

koin

Rancangan PLA pada Gambar 4.25a, dapat diikuti prosesnya dengan melihat Gambar 4.25b dan 4.25c, yang disusun secara manual. Namun untuk kasus yang kompleks biasanya menggunakan alat bantu komputer.

Contoh : Pengendali mesin Penjualan

Gambar 10.11: Diagram transisi keadaan pengendali mesin penjualan

Contoh : Pengendali mesin Penjualan

Gambar 10.12: (a) Tabel keadaan pengendali mesin penjualan (b) penetapan kode keadaan pengendali mesin penjualan

Contoh : Pengendali mesin Penjualan

Gambar 10.13: Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) realisasi PLA

Mesin Mealy dan Moore

Keluaran dari rangkaian FSM yang kita bahas sebelumnya sejauh ini ditentukan oleh keadaan sekarang dan masukan. Keadaan dikelola oleh flip-flop picuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surut pada detak. Apapun perubahan yang terjadi pada masukan tidak mempunyai efek terhadap keadaan selama detak rendah.

Mesin Mealy dan Moore

Masukan langsung menghasilkan keluaran tanpa melewati flip-flop. Dengan demikian perubahan masukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan detak dalam keadaan rendah atau tinggi.

Mesin Mealy dan Moore

Pada Gambar 10.13, perubahan salah satu masukan x1 atau x0 dapat mengakibatkan perubahan keluaran z2z1z0 tanpa tergantung pada detak. Model seperti ini dinamakan model FSM Mealy.

Mesin Mealy dan Moore

Dalam model Mealy, keluaran berubah segera setelah masukan berubah, sehingga tidak ada tundaan yang diakibatkan oleh detak. Pada model FSM Moore, keluaran menyatu pada bit keadaan, sehingga perubahan keluaran terjadi pada pulsa detak setelah perubahan masukan.

Mesin Mealy dan Moore

Kedua model ini digunakan oleh perancang rangkaian dan pada bagian ini akan kita bahas perbedaannya dengan mengemukakan contoh. Sebagai contoh model FSM Moore adalah pencacah biner 2 bit seperti pada Gambar 10.14. Mesin ini mencacah dari 0 sampai dengan 3 dan berulang dari 0 lagi, mirip dengan pencacah modulo-4.

Mesin Mealy dan Moore

Mesin hanya mencacah jika x = 1, jika tidak mesin akan bertahan pada keadaan sekarang. Perlu diperhatikan bahwa keluaran menyatu pada variabel keadaan, sehingga tidak ada jalur langsung antara masukan dan keluaran yang tidak melewati flip-flop.

Mesin Mealy dan Moore

Model Mealy dianggap lebih berdaya guna daripada model Moore sebab satu detak saja dapat mengakibatkan perubahan keluaran suatu mesin. Perubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkan dengan masukan mesin lain tersebut, demikian seterusnya.

Mesin Mealy dan Moore

Dalam model Moore, perubahan selalu sinkron dengan detak, sehingga perubahan beruntun antar mesin tidak dapat terjadi. Perubahan keluaran suatu mesin mempunyai efek yang kecil terhadap mesin berikutnya pada model Moore. Oleh karena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian perbagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.

Mesin Mealy dan Moore

Gambar 10.14: FSM Moore pencacah biner 2 bit

Register

Informasi yang terdiri atas tersimpan dalam flip-flop D.

bit

tunggal

Sejumlah N bit informasi membentuk satu word dengan panjang N-bit dapat disimpan dalam N flip-flop D. Contoh word dengan panjang 4-bit dapat dilihat pada Gambar 10.15. Susunan flip-flop yang digunakan untuk menyimpan data disebut register.

Register

Dalam konfigurasi pada gambar tersebut data masukan Di dimasukkan ke register saat jalur Write dan Enable tinggi, sinkron dengan detak. Isi register dapat dibaca pada keluaran Qi hanya saat jalur Enable tinggi, karena buffer tiga keadaan terputus secara elektronis saat Enable rendah. Kita sederhanakan penggambaran register

Register

Register geser akan menggeser isi pada setiap flip-flop ke flip-flop sesudahnya, dan menerima masukan pada ujung masukan serta memuntahkan isinya pada ujung keluaran, sehingga memungkinkan untuk disusun secara bersambungan. Perhatikan register geser pada Gambar 10.17. Register dapat digeser ke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkan isinya tetap, semunya

Register

Fasilitas pemasukan paralel dan pembacaan paralel memungkinkan register geser berfungsi sebagai pengubah serial ke paralel atau pengubah paralel ke serial.

Register

Gambar 10.15: Register 4-bit

Register

Gambar 10.16: Register 4-bit disederhanakan

Pencacah

Pencacah adalah bentuk lain dari register yang keluarannya mempunyai pola dalam rentang bilangan biner tertentu. Gambar 4.30 menunjukkan konfigurasi pencacah modulo 8 dengan pola biner tiap langkah adalah: 000, 001, 010, 011, 100, 101, 110, 111 dan diulang lagi.

Pencacah

Jika pola Qi dengan i = 2 sampai dengan 0 disusun hasilnya adalah 000, 001, ... ,111. Dalam rangkaian tersebut juga ditambahkan jalur RESET tak sinkron, yang akan melakukan pengisian 000 pada pencacah, dan tidak tergantung pada keadaan, jalur detak, maupun jalur EN. Selain flip-flop pada LSB, keadaannya berubah karena keadaan flip-flop tetangganya, tidak sekedar karena detak.

Pencacah

Rangkaian ini mirip dengan Gambar 4.18 tetapi lebih mudah diperluas menjadi ukuran yang lebih besar karena tinggal menghubungkan keluaran dari MSB unit ini ke masukan LSB unit berikutnya.

Pencacah

Gambar 10.17: Register geser

Pencacah

Gambar 10.18: Pencacah modulo 8 Yohanes Suyanto