Pertemuan ke – 3 1
BAB II Sintesis Rangkaian Sekuensial Pulse Mode
Deskripsi Pada bab ini akan dibahas tentang finite state machine, rangkaian mealy dan moore, prosedur perancangan dan translasi dari mealy ke moore. Manfaat Memberikan kompetensi tentang finite state machine dan rangkaian Mealy dan Moore hingga prosedur perancangannya. Relevansi Proses sintesis dilakukan untuk menghasilkan suatu rangkaian sekuensial Learning Outcome Mahasiswa diharapkan
Mahasiswa mampu menjelaskan tentang konsep finite state machine
Mampu memahami perbedaan antara rangkaian mealy dan moore
Mampu memahami prosedur perancangan sintesis rangkaian sekuensial
Mampu memahami dan menjelaskan translasi model rangkaian mealy ke moore atau sebaliknya
Materi I.
Finite State Machine Finite state machine adalah suatu mekanisme untuk menentukan suatu solusi berdasarkan perubahan-perubahan keadaan (state) waktu demi waktu. Setiap solusi yang diperoleh untuk satu perubahan state pada dasarnya adalah identik dengan sebuah behavior seperti dalam algoritma BB. Dalam teknik FSM, contohnya pada perubahan keadaan sensor-sensor. Jadi dari segi waktu, FSM dapat bersifat realtime karena state selalu diperbaharui setiap kali lingkungan berubah. Contoh 3.1: Kerja robot: Pertama, robot harus didefinisikan pada suatu keadaan (initial state). Sesuai skema di atas, initial state yang tepat adalah MAJU 10 cm. demikian seterusnya. Jika menemukan halangan , ia akan merubah state menjadi
Pertemuan ke – 3 2
BELOK KANAN 45 derajat. Batas terjauh halangan yang didefinisikan adalah 20 cm, lebih jauh 10 cm dibanding setiap langkah /state MAJU. Hal ini dimaksudkan agar robot memiliki toleransi gerak yang cukup jika ia gagal atau terlambat mendeteksi halangan. Jika setelah satu kali belok 45 derajat robot sudah tidak lagi mendeteksi adanya halangan maka state kembali ke MAJU 10 cm. Tapi jika masih mendeteksi adanya halangan maka robot melakukan belok kanan 45 derajat lagi sampai halangan tak terdeteksi. (Bermanfaat untuk robot yang menuju ke lorong yang buntu). Penyelesaian : Contoh rutin program untuk merubah state dari MAJU-10 cm ke Belok Kanan 45 atau sebaliknya: rutin program: Transisi STATE Switch (state) { Case States.MAJU_10CM: if (Jarak_ke_Halangan() < 20) state = Belok_kanan_45; break; Case States.Belok_Kanan_45: if (Jarak_ke_Halangan () >= 2) state = MAJU_10CM; break; } // State outputs Switch (state) { CaseStates. MAJU_10CM:gerakMaju(10); break; case States.Belok_Kanan_45: BelokKanan(45); break;
Pada FSM terdapat 2 kombinasi rangkaian yaitu : a. Rangkaian Kombinasional -
Variabel eksitasi untuk FSM sinkron atau
-
Keadaan selanjutnya (Next State)
b. Memory -
Feedback dari output ke input
-
Ada delay untuk FSM asinkron
-
Biasanya digunakan Flip-flop untuk FSM sinkron.
Pemodelan FSM dituliskan sebagai berikut :
Pertemuan ke – 3 3
M = ( S, I, O, , ) S:
Set keadaan dari FSM
I:
Set inputs dari FSM
O:
Set output dari FSM
:
Fungsi Transisi Keadaan
/:
Fungsi Output dari Mealy/Moore
Jenis FSM Finite state machine ada 2 jenis yaitu : a. FSM Sinkron (Clocked Syncronous FSM) State berubah hanya jika terjadi input khusus dan terjadi clock b. FSM Tak Sinkron (Clocked Asyncronous FSM) Perubahan state terjadi ketika input berubah. Next state tergantung pada present input dan present state baik untuk moored an Mealy. II.
Rangkaian Mealy dan Moore Terdapat 2 cara untuk membuat rangkaian sekuensial, yaitu : 1. Mealy machine Pada Mealy machine output merupakan fungsi dari present state dan nilai dari inputnya. 2. Moore machine Pada Moore machine, output merupakan fungsi dari current state saja. Gambar 3.1 menunjukkan blok diagram mealy machine dan moore machine.
Sehingga perbedaan antara 2 model moore dan mealy adalah bagaimana output dihasilkan. Pada perancangan rangkaian berkecepatan tinggi, dibutuhkan untuk memastikan bahwa output state machine tersedia sedini mungkin dan tidak berubah selama periode clock. Salah satu cara untuk mendapatkannya adalah dengan mengenkode state sehingga state variabel dapat menghasilkan output. Hal ini disebut dengan output-coded state assigment. Pendekatan lainnya adalah mendesain state machine sehingga output selama satu periode clock
Pertemuan ke – 3 4
terjadi pada state dan input selama clock sebelumnya, bisa disebut sebagai pipelined output, dan menghasilkan memory stage yang lain pada mesin output. Gambar 3.2. adalah mesin mealy dengan pipelined output.
Gambar 3.1. Blok Diagram Mealy dan Moore Machine
Gambar 3.2. Mealy machine dengan pipelined output State Diagram State diagram dapat diilustrasikan pada gambar 3.3:
(a)
(b) Gambar 3.3. Ilustrasi State Diagram
Pertemuan ke – 3 5
X sebagai variable output (Present dan Next Output), Y adalah variable Input. Untuk membuat state diagram dari rangkaian gambar 3.3 di atas, telah ditentukan bahwa A adalah variable Input dan B adalah variable Output. Nilai B akan berubah dari kondisi awal ke kondisi berikutnya setelah mendapat pengaruh dari input A. State diagram dari perubahan kondisi tersebut ditunjukkan pada gambar 3.4. Gambar 3.4 adalah ilustrasi diagram keadaan untuk model mealy dan moore.
Gambar 3.4. State Diagram Mealy machine dan Moore Machine
Diagram Keadaan Moore Contoh 3.2 : Buatlah State Diagram untuk mendeteksi deretan angka bit 01 atau 10 dengan model moore dari table dibawah ini! Penyelesaian:
Pertemuan ke – 3 6
reset
input
next state A
output
-
current state -
1 0
0
A
B
0
0
1
A
C
0
0
0
B
B
0
0
1
B
D
0
0
0
C
E
0
0
1
C
C
0
0
0
D
E
1
0
1
D
C
1
0
0
E
B
1
0
1
E
D
1
Contoh 3.3 : Buatlah State Diagram untuk mendeteksi deretan angka bit 01 atau 10 dengan model mealy dari table dibawah ini! Penyelesaian:
reset
input
next state A
output
-
current state -
1 0
0
A
B
0
0
1
A
C
0
0
0
B
B
0
0
1
B
C
1
0
0
C
B
1
0
1
C
C
0
0
Pertemuan ke – 3 7
III. Prosedur Perancangan Langkah-langkah dalam mendesain atau melakukan sintesis terhadap clocked syncronous state machine adalah sebagai berikut : a. Membuat tabel keadaan / output yang disesuaikan dengan deskripsi / spesifikasi menggunakan nama mnemonic untuk keadaan / state. Dapat dimulai dengan state diagram. b. Minimalkan jumlah state pada tabel keadaan/output c. Pilihlah state variabel dan masukkan kombinasi state variabel pada nama state. d. Gantikan kombinasi state variabel ke dalam tabel state/output untuk membentuk tabel transisi/output yang menyajikan kombinasi next state-variabel dan output untuk tiap kombinasi state/input. e. Pilihlah flip-flop yang akan digunakan sebagai state memory. f. Membuat tabel eksitasi yang merupakan representasi dari nilai eksitasi yang tersedia untuk mendapatkan next state untuk setiap kombinasi state/input. g. Mendapatkan persamaan eksitasi dari tabel eksitasi h. Mendapatkan persamaan output dari tabel transisi / output. i. Menggambarkan persamaan logicnya dalam rangkaian yang ada pada state-variabel dan membangun rangkaian berdasarkan persamaan eksitasi dan output.
IV.
Translasi Antara Mealy dan Moore Konversi dari satu model ke model lainnya dapat dilakukan dengan
mengubah representasi state diagram. Kemudian bergantung pada kebutuhan aplikasi. Berikut contoh konversi dari mealy ke Moore:
Pertemuan ke – 3 8
Latihan : 1. Buatlah State Diagram dengan model mealy dan moore untuk mengecek sequence data yang berakhiran: a. 101 b. 111 c. 100 d. 001 2. Buatlah State Diagram dengan model mealy dan moore untuk mengecek sequence data yang berisi: a. 101 b. 111 c. 100 d. 001
Pertemuan ke – 3 9
SOAL PENGAYAAN 1.
Buatlah state diagram untuk mendeteksi suatu sequence data berakhiran ‘10’ dengan metode mealy dan moore?
2. Buatlah State diagram untuk mendeteksi suatu sequence data berakhiran ‘111’ dengan metode mealy dan moore?
Kunci Tes Formatif 1. a. Diagram keadaan dengan metode mealy untuk data berakhiran ‘10’
b.Diagram keadaan dengan metode moore untuk data berakhiran ‘10’
2. State diagram untuk mendeteksi suatu sequence data berakhiran ‘111’ dengan metode Mealy
Pertemuan ke – 3 10
State diagram untuk mendeteksi suatu sequence data berakhiran ‘111’ dengan metode Moore
Soal Latihan 1. Suatu mesin Moore mempunyai tabel transisi sebagai berikut: a
b
Out
S0
S1
S3
1
S1
S3
S1
0
S2
S0
S3
0
S3
S3
S2
1
Buatlah state diagramnya! 2. Suatu mesin Moore mempunyai tabel transisi sebagai berikut: a
b
Out
Pertemuan ke – 3 11
S0
S1
S1
0
S1
S2
S0
0
S2
S2
S3
0
S3
S1
S0
1
Buatlah state diagramnya! 3. Suatu mesin Mealy mempunyai tabel transisi sebagai berikut: a
out
b
out
S0
S1
0
S3
0
S1
S3
1
S2
1
S2
S3
0
S3
1
S3
S3
1
S0
1
Buatlah state diagramnya! 4. Suatu mesin Mealy mempunyai tabel transisi sebagai berikut:
S0
0
out
1
out
S0
1
S0
0
Buatlah state diagramnya! 5. Minimasi state diagram dibawah ini:
Petunjuk Penilaian dan Umpan Balik Penilaian dilaksanakan dari keaktifan mahasiswa dikelas untuk berdiskusi dan bertanya. Tes formatif dilaksanakan pada akhir sesi, penilaian diberikan dengan rentang nilai 0 – 100. Bobot keaktifan dan tes formatif adalah 10 % dari nilai akhir keseluruhan. Umpan balik diberikan oleh dosen sebagai fasilitator, dan
Pertemuan ke – 3 12
sebagai mahasiswa umpan balik dilakukan dengan memberikan pertanyaan atau tanggapan terhadap pertanyaan dari dosen.
Tindak Lanjut Stuli lanjut tentang verilog akan disampaikan pada pertemuan selanjutnya tentang perancangan rangkaian sekuensial menggunakan verilog. Tindak lanjut dari hasil test Formatif adalah meningkatkan pemahaman mahasiswa melalui latihan dan pengaplikasian ilmu pada hardware sesungguhnya pada mata kuliah penunjang praktikum.