You are on page 1of 62

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 de-


ngan flip-flop tuan-hamba dan sinyal sinkro-
nisasi 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 sinkron


ditunjukkan pada Gambar 10.1.

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 Berhingga

Gambar 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 Berhingga

Gambar 10.4: Tabel keadaan untuk


pencacah modulo-4 dengan
pengkodean-
nya

Dari tabel keadaan, dapat dihasilkan tabel


kebenaran untuk keadaan berikutnya dan
fungsi keluaran seperti pada Gambar 10.5.

Subskrip untuk variabel keadaan


menunjukkan waktu.
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 kelu-
aran 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 urutan


011011100 mengeluarkan hasil dengan
urutan 001111010.
Contoh Detektor Urutan

Ada satu jalur masukan seri dan kita


asumsikan bahwa pada awalnya tidak ada
masukan.

Untuk kasus ini, kita akan menggunakan flip-


flop 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 saat dua


masukan terakhir bernilai 00.
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 don’t 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.8: Tabel keadaan


Gambar 10.7: Diagram transisi keadaan detektor urutan
untuk 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 transisi


keadaan seperti Gambar 10.11.
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 koin


dianggap masukan dan detak juga.

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) real-
isasi 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 mengemuka-
kan 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 bit tunggal
tersimpan dalam flip-flop D.

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


menjadi seperti Gambar 10.16.
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
sinkron dengan detak.
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

You might also like