10 an rangkaian urutan menurut waktu

62
Perencanaan Rangkaian Urutan Menurut Waktu

Upload: api-3709911

Post on 07-Jun-2015

882 views

Category:

Documents


25 download

TRANSCRIPT

Page 1: 10 an RAngkaian Urutan Menurut Waktu

PerencanaanRangkaian UrutanMenurut Waktu

Page 2: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Kita lihat lagi model klasik mesin keadaanberhingga atau finite state machine (FSM) pada Gambar 9.1.

Elemen penunda dapat diimplementasi de-ngan flip-flop tuan-hamba dan sinyal sinkro-nisasi dengan detak.

Umumnya, untuk implementasi umpan balikdigunakan flip-flop.

Page 3: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Perlu diketahui bahwa kita dapat melabeliflip-flop menurut kemauan kita, asal artinyajelas.

Pada Gambar 9.1 posisi masukan Di dankeluaran Qi saling dipertukarkan dari posisinormal yang kita bahas sebelumnya.

Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11 dan berulanglagi.

Page 4: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Diagram blok FSM pencacah sinkronditunjukkan pada Gambar 10.1.

Fungsi RESET (logika positif) mengakibatkannilai keluaran q0q1 adalah 00 jika diaktifkan.

Keluaran akan berurutan sesuai nilai padajalur q0 dan q1 pada waktu yang bersesuaian dengan detak.

Setiap nilai baru keluaran muncul, maka nilaiumpan balik s0s1 juga berubah.

Page 5: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Kita perhatikan bahwa desain pencacahdapat dilakukan dengan mendaftar semuakemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1q0 dan keadaan s1s0.

Berdasarkan daftar tersebut kemudian dibuatrangkaian logika kombinasional yang merupakan implementasi pencacah.

Dua flip-flop digunakan untuk mencatat bit keadaan.

Page 6: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Gambar 10.1: Pencacah modulo 4

Page 7: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaan untuk umpanbalik?

Kenyataannya adalah bahwa kita tidak tahudari awal jumlah bit yang dibutuhkan untukmencatat keadaan, sehingga untuk bahasanberikutnya kita akan melihat pendekatan yang lebih umum dalam perancangan mesinkeadaan berhingga.

Page 8: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Untuk pencacah kita dapat mulai daripenyusunan diagram transisi keadaan sepertiGambar 10.2 dengan keadaan A sampaidengan D dan garis berarah menunjukkantransisi.

Dalam kasus ini keadaan A untuk nilaipencacah 00, B untuk 01, C untuk 10, dan D untuk 11.

Page 9: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Gambar 10.2: Diagram transisi keadaan pencacah modulo 4

Page 10: 10 an RAngkaian Urutan Menurut Waktu

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 danmenghasilkan keluaran 01.

Jika RESET bernilai 1, FSM tetap padakeadaan A dan menghasilkan keluaran 00.

Page 11: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Mirip dengan ini, jika FSM di keadaan B, akanberpindah ke keadaan C dengan keluaran 10 jika RESET 0, jika tidak akan kembali kekeadaan A dengan keluaran 00.

Demikian juga untuk keadaan yang lain, dapatdiinterpretasikan dengan cara yang sama.

Sekali kita berhasil membuat diagram transisikeadaan, kita dapat menulisnya dalam bentuktabel keadaan seperti Gambar 10.3.

Page 12: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Keadaan sekarang terlihat di bagian kiri, dankondisi masukan ada di bagian atas.

Isi tabel adalah pasangan keadaan/keluaranberikutnya yang diambil langsung daridiagram transisi keadaan pada Gambar 10.3.

Ambil salah satu bari misalnya keadaansekarang B dan masukan kondisi adalah 0, maka keadaan berikutnya adalah C dankeluaran berikutnya adalah 10.

Page 13: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Setelah kita membuat tabel keadaan, kitatentukan nilai biner untuk setiap keadaan.

Karena ada 4 keadaan, kita membutuhkanpaling tidak 2 bit untuk mengkodekankeadaan menjadi biner secara unik.

Gambar 10.3: Tabel keadaan untukpencacah modulo-4

Page 14: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Kita tentukan saja pengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan menggantisetiap label A,B,C, dan D dengan kodekeadaannya, seperti pada Gambar 10.4.

Dalam praktiknya, penetapan kode keadaanini akan berpengaruh terhadap bentukrangkaian akhir, namun secara logikapengkodean ini mengakibatkan hasil akhiryang sama.

Page 15: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Dari tabel keadaan, dapat dihasilkan tabelkebenaran untuk keadaan berikutnya danfungsi keluaran seperti pada Gambar 10.5.

Subskrip untuk variabel keadaanmenunjukkan waktu.

Gambar 10.4: Tabel keadaan untukpencacah modulo-4 denganpengkodean-nya

Page 16: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Keadaan sekarang ditulis dengan st dankeadaan berikutnya ditulis dengan st+1.

Biasanya subskrip ini diabaikan denganpengertian bahwa ruas kanan daripersamaan memuat keadaan sekarang danruas kiri memuat keadaan berikutnya.

Page 17: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Perlu dicatat bahwa s0(t+1) = q0(t+1) dans1(t+1) = q1(t+1), sehingga cukupdiimplementasikan s0(t + 1) dan s1(t + 1) saja sedang q0(t + 1) dan q1(t + 1) dapatdiambil langsung padanya.

Page 18: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

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

Page 19: 10 an RAngkaian Urutan Menurut Waktu

Perencanaan Mesin Keadaan Berhingga

Akhirnya, kita implementasikan keadaanberikutnya dan fungsi keluaran denganmenggunakan gerbang logika dan flip-flop D tuan-hamba untuk variabel keadaan sepertipada Gambar 10.6.

Page 20: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2 dari 3 masukanterakhir bernilai 1.

Contohnya, masukan dengan urutan011011100 mengeluarkan hasil denganurutan 001111010.

Page 21: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Ada satu jalur masukan seri dan kitaasumsikan bahwa pada awalnya tidak adamasukan.

Untuk kasus ini, kita akan menggunakan flip-flop D dan MUX 8-ke-1.

Page 22: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Gambar 10.6: Desain logika untuk pencacah modulo-4

Page 23: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Kita mulai dengan menyusun diagram transisikeadaan, seperti pada Gambar 10.7. Ada 8 kemungkinan urutan 3 bit yang masuk kedalam mesin:

000, 001, 010, 011, 100, 101, 110, dan 111.

Keadaan A adalah keadaan awal, yang kitaasumsikan belum ada data yang masuk.

Pada keadaan B dan C baru masuk 1 bit data sehingga keluarannya 0.

Page 24: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Keadaan D,E, F, dan G paling tidak menerima2 bit masukan kalau keadaan sebelumnyaadalah B atau C.

Setelah masuk pada keadaan D,E, F, atau G maka sistem akan berkutat di keadaan inisaja.

Keadaan D akan dikunjungi saat duamasukan terakhir bernilai 00.

Page 25: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Keadaan E, F, dan G dikunjungi jika duamasukan terakhir adalah 01, 10, dan 11. Langkah berikutnya adalah membuat tabelkeadaan seperti tertera pada Gambar 10.8, yang dituangkan dari diagram transisikeadaan.

Selanjutnya, kita akan membuat penetapankode keadaan seperti Gambar 10.9a.

Page 26: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Berdasarkan penetapan kode keadaan kitadapat membuat tabel kebenaran untukkeadaan berikutnya dan fungsi keluaran. LihatGambar 10.9b.

Dua baris terakhir pada tabel berisi keadaan111, yang dalam praktiknya tidak akan pernahmuncul, karena keadaan 111 untuk kasus initidak ada.

Page 27: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Dengan demikian keadaan berikutnya dankeluaran pada 2 baris tersebut tidak perludiperhatikan, dan ditulis sebagai ’d’ yang berarti don’t care, abaikan saja.

Akhirnya, kita susun rangkaiannya sepertiGambar 10.10.

Perlu 1 flip-flop untuk setiap variabel keadaan, sehingga seluruhnya perlu 3 flip-flop.

Page 28: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Ada 3 fungsi keadaan berikutnyadan 1 fungsikeluaran, sehingga kita membutuhkan 4 MUX.

Pemilihan s2, s1, dan s0 sebagai pengendaliMUX merupakan pilihan begitu saja.

Pilihan kombinasi lain juga dapat digunakan.

Page 29: 10 an RAngkaian Urutan Menurut Waktu

Contoh Detektor Urutan

Gambar 10.7: Diagram transisi keadaanuntuk detektor urutan

Gambar 10.8: Tabel keadaandetektor urutan

Page 30: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Kita akan merancang pengendali mesinpenjualan menggunakan flip-flop dan ’kotakhitam’ yang mewakili PLA seperti padaGambar 10.11.

Mesin penjualan menerima tiga macam koinRp 100, Rp 200, dan Rp 500.

Page 31: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Jika nilai yang dimasukkan sama atau lebihbesar dari Rp 400, maka mesin akanmengeluarkan barang dagangan, danmengembalikan uang kelebihan, kemudianmenunggu transaksi berikutnya.

Kita mulai menyusun diagram transisikeadaan seperti Gambar 10.11.

Page 32: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Di keadaan A, belum ada koin yang dimasukkan, sehingga uang yang masukadalah Rp 0.

Jika koin seratusan atau duaratusandimasukkan maka keadaan akan berubah keB atau C.

Jika koin limaratusan yang dimasukkan makauang yang masuk sejumlah Rp 500.

Page 33: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Mesin akan mengeluarkan barang dagangandan mengeluarkan kembalian koin seratusan, dan keadaan tetap di A.

Hal ini ditandai dengan ”L/110” dalam kalangmemutar di keadaan A.

Dari keadaan B atau C dapat berpindah kekeadaan D. Dari D kembali ke A atau B.

Page 34: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Gambar 10.9: Penetapan kode keadaan dan tabel kebenaran detektor urutan

Page 35: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Gambar 10.10: Diagram logika detektor urutan

Page 36: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Perhatikan saat koin limaratusan dimasukkanpada keadaan D.

Mestinya mesin akan mengeluarkan barangdagangan, mengembalikan Rp 400, dankembali ke A, tetapi menurut diagram tersebutmesin akan mengeluarkan barang, mengembalikan Rp 300, dan menuju kekeadaan B.

Page 37: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Mesin tetap menahan uang sebesar Rp 100.

Dari diagram transisi keadaan dapt disusuntabel keadaan seperti pada Gambar 10.12a.

Kemudian dapat ditentukan kode keadaanuntuk simbol S, D, dan L dalam bentuk biner, seperti pada Gambar 10.12b.

Akhirnya, kita buat diagram rangkaiannyaseperti Gambar 4.13a.

Page 38: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Kode keadaan terdiri atas 2 bit sehinggadiperlukan 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.

Page 39: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Kita asumsikan bahwa pemasukan koindianggap masukan dan detak juga.

Rancangan PLA pada Gambar 4.25a, dapatdiikuti prosesnya dengan melihat Gambar4.25b dan 4.25c, yang disusun secaramanual.

Namun untuk kasus yang kompleks biasanyamenggunakan alat bantu komputer.

Page 40: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Gambar 10.11: Diagram transisi keadaan pengendali mesin penjualan

Page 41: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Gambar 10.12: (a) Tabel keadaanpengendali mesin penjualan (b) penetapankode keadaan pengendali mesin penjualan

Page 42: 10 an RAngkaian Urutan Menurut Waktu

Contoh : Pengendali mesin Penjualan

Gambar 10.13: Mesinpenjualan (a) rangkaian, (b) tabel kebenaran (c) real-isasi PLA

Page 43: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Keluaran dari rangkaian FSM yang kitabahas sebelumnya sejauh ini ditentukanoleh keadaan sekarang dan masukan.

Keadaan dikelola oleh flip-flop picuan tepisurut, maka perubahan keadaan hanyaterjadi saat tepi surut pada detak.

Apapun perubahan yang terjadi padamasukan tidak mempunyai efek terhadapkeadaan selama detak rendah.

Page 44: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Masukan langsung menghasilkan keluarantanpa melewati flip-flop.

Dengan demikian perubahan masukandapat mengakibatkan perubahan keluaran, tanpa memperhatikan detak dalam keadaanrendah atau tinggi.

Page 45: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Pada Gambar 10.13, perubahan salah satumasukan x1 atau x0 dapat mengakibatkanperubahan keluaran z2z1z0 tanpatergantung pada detak. Model seperti inidinamakan model FSM Mealy.

Page 46: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Dalam model Mealy, keluaran berubahsegera setelah masukan berubah, sehinggatidak ada tundaan yang diakibatkan olehdetak.

Pada model FSM Moore, keluaran menyatupada bit keadaan, sehingga perubahankeluaran terjadi pada pulsa detak setelahperubahan masukan.

Page 47: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Kedua model ini digunakan oleh perancangrangkaian dan pada bagian ini akan kitabahas perbedaannya dengan mengemuka-kan contoh.

Sebagai contoh model FSM Moore adalahpencacah biner 2 bit seperti pada Gambar10.14.

Mesin ini mencacah dari 0 sampai dengan 3 dan berulang dari 0 lagi, mirip denganpencacah modulo-4.

Page 48: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Mesin hanya mencacah jika x = 1, jika tidakmesin akan bertahan pada keadaansekarang.

Perlu diperhatikan bahwa keluaran menyatupada variabel keadaan, sehingga tidak adajalur langsung antara masukan dan keluaranyang tidak melewati flip-flop.

Page 49: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Model Mealy dianggap lebih berdaya gunadaripada model Moore sebab satu detak sajadapat mengakibatkan perubahan keluaransuatu mesin.

Perubahan keluaran ini dapat mengubahkeluaran mesin lain, jika dihubungkan denganmasukan mesin lain tersebut, demikianseterusnya.

Page 50: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Dalam model Moore, perubahan selalusinkron dengan detak, sehingga perubahanberuntun antar mesin tidak dapat terjadi.

Perubahan keluaran suatu mesin mempunyaiefek yang kecil terhadap mesin berikutnyapada model Moore.

Oleh karena itu, analisis dan pelacakankesalahan dapat ditelusuri bagian perbagiandengan lebih mudah. Pada praktiknya keduamodel ini digunakan.

Page 51: 10 an RAngkaian Urutan Menurut Waktu

Mesin Mealy dan Moore

Gambar 10.14: FSM Moore pencacah biner 2 bit

Page 52: 10 an RAngkaian Urutan Menurut Waktu

Register

Informasi yang terdiri atas bit tunggaltersimpan dalam flip-flop D.

Sejumlah N bit informasi membentuk satuword dengan panjang N-bit dapat disimpandalam N flip-flop D.

Contoh word dengan panjang 4-bit dapatdilihat pada Gambar 10.15.

Susunan flip-flop yang digunakan untukmenyimpan data disebut register.

Page 53: 10 an RAngkaian Urutan Menurut Waktu

Register

Dalam konfigurasi pada gambar tersebutdata masukan Di dimasukkan ke register saat jalur Write dan Enable tinggi, sinkrondengan detak.

Isi register dapat dibaca pada keluaran Qihanya saat jalur Enable tinggi, karena buffer tiga keadaan terputus secara elektronis saatEnable rendah.

Kita sederhanakan penggambaran register menjadi seperti Gambar 10.16.

Page 54: 10 an RAngkaian Urutan Menurut Waktu

Register

Register geser akan menggeser isi padasetiap flip-flop ke flip-flop sesudahnya, danmenerima masukan pada ujung masukanserta memuntahkan isinya pada ujungkeluaran, sehingga memungkinkan untukdisusun secara bersambungan.

Perhatikan register geser pada Gambar10.17. Register dapat digeser ke kiri, digeserke kanan, menerima masukan secaraparalel, atau dibiarkan isinya tetap, semunyasinkron dengan detak.

Page 55: 10 an RAngkaian Urutan Menurut Waktu

Register

Fasilitas pemasukan paralel dan pembacaanparalel memungkinkan register geserberfungsi sebagai pengubah serial ke paralelatau pengubah paralel ke serial.

Page 56: 10 an RAngkaian Urutan Menurut Waktu

Register

Gambar 10.15: Register 4-bit

Page 57: 10 an RAngkaian Urutan Menurut Waktu

Register

Gambar 10.16: Register 4-bit disederhanakan

Page 58: 10 an RAngkaian Urutan Menurut Waktu

Pencacah

Pencacah adalah bentuk lain dari register yang keluarannya mempunyai pola dalamrentang bilangan biner tertentu.

Gambar 4.30 menunjukkan konfigurasipencacah modulo 8 dengan pola biner tiaplangkah adalah: 000, 001, 010, 011, 100, 101, 110, 111 dan diulang lagi.

Page 59: 10 an RAngkaian Urutan Menurut Waktu

Pencacah

Jika pola Qi dengan i = 2 sampai dengan 0 disusun hasilnya adalah 000, 001, ... ,111.

Dalam rangkaian tersebut juga ditambahkanjalur RESET tak sinkron, yang akanmelakukan pengisian 000 pada pencacah, dan tidak tergantung pada keadaan, jalurdetak, maupun jalur EN.

Selain flip-flop pada LSB, keadaannyaberubah karena keadaan flip-flop tetangganya, tidak sekedar karena detak.

Page 60: 10 an RAngkaian Urutan Menurut Waktu

Pencacah

Rangkaian ini mirip dengan Gambar 4.18 tetapi lebih mudah diperluas menjadi ukuranyang lebih besar karena tinggalmenghubungkan keluaran dari MSB unit inike masukan LSB unit berikutnya.

Page 61: 10 an RAngkaian Urutan Menurut Waktu

Pencacah

Gambar 10.17: Register geser

Page 62: 10 an RAngkaian Urutan Menurut Waktu

Pencacah

Gambar 10.18: Pencacah modulo 8Yohanes Suyanto