Anda di halaman 1dari 9

LAPORAN PRAKTIKUM

ELEKTRONIKA II
SEMESTER GENAP A.T.A 2016/2017

Nama / NPM : Charnela Mardani / 1506670181


Kelompok :8
Rekan Kerja : M.Faiz Rizqullah H.R /1506721390
Hari Praktikum : Senin
Tanggal Percobaan : 8 Mei 2017
Nama Modul : State Machine
Nomor Modul :8

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS INDONESIA

2017
1

A. Tujuan

1. Mengetahui dan merancang penggunaan desain state machine.


2. Menggunakan state machine untuk merancang light trafic
controller.
B. Teori Dasar

State Machine

State Machine adalah perangkat komputasi yang memiliki input


berupa string dan output yang merupakan satu dari dua nilai yang dapat
di-accept dan reject. State Machine juga dapat disebut sebagai sebuah
metodologi perancangan sistem kontrol yang menggambarkan tingkah
laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut:
State (Keadaan), Event (kejadian) dan action (aksi). Pada satu saat dalam
periode waktu yang cukup signifikan, sistem akan berada pada salah satu
state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain
jika mendapatkan masukan atau event tertentu, baik yang berasal dari
perangkat luar atau komponen dalam sistemnya itu sendiri. Transisi
keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem
ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut
dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang
relatif kompleks.

Finite State Machines (FSM) merupakan teknik pemodelan khusus


untuk logika rangkaian sekuensial, pemodelan ini sangat membantu dalam
perancangan sistem terutama jenis tertentu yang tugasnya membentuk
urutan yang jelas (misalnya pengendali digital).

Universitas Indonesia
2

Gambar 8.1. Mealy Diagram State Machine Fase Tunggal

Seperti yang ditunjukan oleh Gambar 8.1, bagian bawah diagram


berisi logika sekuensial (flip-flops), sedangkan bagian atas terdiri logika
kombinatorial. Logika kombinatorial (atas) memiliki dua input, salah satu
menjadi pr_state (present state) dan lainnya input eksternal. Logika ini
juga memiliki dua output, nx_state (next state) dan output eksternal.

Logika sekuensial (bawah) memiliki tiga bagian input (clock, reset,


and nx_state), dan satu output (pr_state). Karena semua flip-flop adalah
bagian dari sistem, clock dan reset harus terhubung. Jika output dari mesin
tidak hanya tergantung pada present state tetapi juga pada input, maka
disebut Mesin Mealy. Sebaliknya, jika hanya bergantung pada current
state, maka disebut Mesin Moore.

Pemisahan rangkaian menjadi dua bagian seperti pada gambar


8.1.0 memungkinan desain yang akan dibagi menjadi dua bagian juga.
Dari perspektif VHDL, jelas bahwa bagian bawah menjadi sekuensial,
akan memerlukan PROCESS, sementara bagian atas menjadi
kombinatorial. Namun ingat bahwa kode sekuensial dapat
diimplementasikan pada kedua jenis logika, yaitu pada kombinatorial dan
sekuensial. Sehingga jika diinginkan, bagian atas dapat juga
diimplementasikan menggunakan PROCESS.

Sinyal clock dan reset biasanya muncul dalam daftar sensitivitas


PROCESS bagian bawah (kecuali resetnya sinkron atau tidak digunakan,
atau WAIT digunakan sebagai pengganti dari IF). Ketika reset digunakan,

Universitas Indonesia
3

pr_state akan ditetapkan ke keadaan awal sistem. Sementara itu, di tepi


clock flip-flop akan menyimpan nx_state, sehingga mentransfer ke output
bagian bawah (pr_state).

Salah satu aspek penting terkait dengan pendekatan FSM adalah


meskipun setiap sirkuit sekuensial secara prinsip dapat dimodelkan
sebagai mesin state, hal ini tidak selalu menguntungkan. Alasannya karena
kode tersebut akan menjadi lebih panjang, lebih kompleks, dan error yang
lebih rawan daripada pendekatan konvensional. Hal ini sering terjadi pada
rangkaian sederhana, seperti counter.

Sebagai aturan yang sederhana, pendekatan FSM dianjurkan dalam


sistem tugas yang merupakan daftar yang tersusun dengan baik sehingga
semua state dapat dengan mudah disebutkan. Artinya, dalam penerapan
mesin state yang khas, kita akan menjumpai, ARCHITECTURE di awal,
sebuah tipe data enumerated userdefined, mengandung daftar
kemungkinan semua sistem state. Pengendali digital adalah contoh yang
bagus bagi beberapa rangkaian.

Sequential statement digunakan untuk rangkaian sekuensial. Unsur


terpenting yang perlu diingat disini adalah konsep state. Pada rangkaian
sekuensial ini tidak semua baris code akan dijalankan, hanya code yang
ada pada state yang sedang aktif saja yang akan berjalan. Sequential
statement hanya dapat ditulis dalam blok PROCESS, dan ketika masuk
kedalam satu blok misal IF, smua code dalam blok itu akan dijalankan.
Sequential statement biasanya menggunakan IF atau case, contoh
pemakaiannya adalah seperti berikut:

Universitas Indonesia
4

Gambar 8.2. Contoh penggunaan IF atau CASE

Counter merupakan salah satu State Machine paling dasar yang dapat
di buat. Dengan hanya membuat transisi dari satu nomor biner (yaitu state)
ke nomor biner berikutnya pada setiap siklus jam. Counter dua-bit akan
membuat urutan transisi ini (setiap nomor merupakan kondisi tertentu): 00
01 10 11 00.

State Machine adalah komponen penting yang memungkinkan sebuah


komputer. Sebagian besar komputer adalah pengatur dari counter (disebut
program counter) yang melalui urutan numerik sederhana. Dan menjadi
komputer ketika setiap nomor dalam urutan diberi perintah berupa
tindakan. Setiap perangkat yang memiliki fungsi ini disebut sequencer.

External Input
Beberapa State Machine hanya bekerja secara kontinyu dari satu state
ke state berikutnya dengan membuat transisi yang bersyarat pada beberapa
masukan eksternal. Dalam sebuah synchronous counter, input "count
enable" menghasilkan jenis State Machine yang lebih kompleks. Pada
setiap pulsa clock, baik terus ke state baru atau tetap di state yang sama
tergantung pada kondisi bit lainnya. Ini adalah contoh dari State Machine

Universitas Indonesia
5

yang mengubah state di bawah pengaruh garis external control. Perhatikan


bahwa state berikutnya tergantung baik pada external control dan pada
keadaan internal saat ini.
Dengan counter ini, Anda memiliki esensi dari semua komputer.
Sistem ini melalui sequence yang bergantung pada kondisi saat ini, dan
pada input eksternal. Pada dasarnya ia tidak berbeda dari PC yang
menampilkan tampilan pada monitor - tidak hanya untuk mengetahui
update tampilan secara berkala tetapi juga mengetahui respon pada setiap
gerakan mouse.

C. Prosedur Percobaan
1 Mendesain grafik state untuk Traffic Light Controller, kemudian
mengubahnya ke Bagan State Machine. State transitions akan otomatis
terjadi setelah waktu tunda yang ditentukan.
2 Menulis file VHDL yang mengimplementasikan grafik state Anda.
a File Anda harus memiliki 3 input:
o clk
o rst: reset akan mengembalikan lampu lalu lintas ke keadaan
awal (Ga, Rb, Rw).
o mode: ketika mode = 1, Traffic Light Controller Anda harus
memasukkan Maintenance Mode, ketika Mode beralih ke '0',
Traffic Light Controller Anda harus akan me-reset ke keadaan
awal (Ga, Rb, Rw)
b Desain Anda harus memiliki 8 output:
o StreetA (3 bit)
Ga - Lampu hijau untuk lampu lalu lintas A
Ya - Lampu kuning untuk lampu lalu lintas A
Ra - Lampu merah untuk lampu lalu lintas A
o StreetB (3 bit)
Gb - Lampu hijau untuk lampu lalu lintas B
Yb - Lampu kuning untuk lampu lalu lintas B
Rr - Lampu merah untuk lampu lalu lintas B
o Pedestrian (2 bit)
Ww - Lampu putih untuk tanda berjalan/lampu
penyeberangan pejalan kaki
Rw - Lampu merah untuk tanda berjalan/lampu

Universitas Indonesia
6

penyeberangan pejalan kaki


3 Menulis tingkat atas modul Lab4 yang menghubungkan Traffic Light
Controller Anda, generic clock divider, dan modul lain yang Anda pilih
untuk dimplementasikan.
4 Mendesain constraint file menggunakan alat perencanaan I/O.
5 Membangun sirkuit Traffic Light menggunakan LED yang disediakan,
array resistor, dan breadbard. Menghubungkan rangkaian ke PMOD
ZYBO menggunakan jumper/kabel, menurut constraint Anda. Pastikan
untuk menyertakan wire list dan sirkuit diagram implementasi
rangkaian untuk sirkuit yang Anda bangun.
D. Tugas Pendahuluan
Pertanyaan :

Buatlah kode sederhana state machine aplikatif. Berikan penjelasannya!

Jawaban :

Universitas Indonesia
7

Universitas Indonesia
8

E. Referensi
Penyusun. Modul 7: Sequential BCD Counter, Penuntun Praktikum
Elektronika II. Depok: Laboratorium Elektronika 2.
Kleitz, W. 2012. Digital Electronics, A Practical Approach, 9 th Edition.
US: Prentice Hall.
<http://hyperphysics.phy-astr.gsu.edu/hbase/electronic/vhdl>
dilihat pada tanggal 8 Mei 2017

Universitas Indonesia