Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
10Activity
0 of .
Results for:
No results containing your search query
P. 1
Makalah State Machine

Makalah State Machine

Ratings: (0)|Views: 862 |Likes:
Published by Ika Dian Lestari

More info:

Published by: Ika Dian Lestari on Jul 18, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

01/25/2013

pdf

text

original

 
STATE MACHINES
POLITEKNIK NEGERI MALANG Page 1
State Machines
Finite state machines (FSM) merupakan teknik pemodelan khusus untuk logika rangkaiansekuensial. Pemodelan ini sangat membantu dalam perancangan sistem terutama jenis tertentuyang tugasnya membentuk urutan yang jelas (misalnya pengendali digital). Kita memulai bab inidengan meninjau konsep-konsep fundamental yang berkaitan dengan FSM. Pada materi inidijelaskan teknik pengkodean yang sesuai VHDL, diikuti oleh contoh desain lengkap.
8,1 Pendahuluan
G
ambar 8.1 menunjukkan diagram blok state machine fase tunggal. Seperti yangditunjukkan dalam gambar, bagian bawah berisi logika sekuensial (Àip-Àops), sedangkan bagian atas berisi logika kombinatorial.Logika kombinatorial (atas) memiliki dua input, salah satu menjadi pr_state (presentstate) dan lainnya input eksternal. Logika ini juga memiliki dua output, nx_state (next state) danoutput eksternal.Logika sekuensial (bawah) memiliki tiga bagian input (clock, reset, and nx_state), dansatu output (pr_state). Karena semua flip-flop adalah bagian dari sistem, clock dan reset harusterhubung. Jika output dari mesin tidak hanya tergantung pada present state tetapi juga padainput, maka disebut
 Mesin Mealy
. Sebaliknya, jika hanya bergantung pada current state, makadisebut
 Mesin Moore
. Kedua contoh akan ditampilkan kemudian.
 
STATE MACHINES
POLITEKNIK NEGERI MALANG Page 2
Pemisahan rangkaian menjadi dua bagian (gambar 8.1) memungkinkan desain yang akandibagi menjadi dua bagian juga. Dari perspektif VHDL, jelas bahwa bagian bawah menjadisekuensial, akan memerlukan PROCESS, sementara bagian atas menjadi kombinatorial. Namun,ingat bahwa kode sekuensial dapat diimplementasikan pada kedua jenis logika, kombinatorialdan sekuensial. Oleh karena itu, jika diinginkan, bagian atas juga dapat diimplementasikanmenggunakan PROCESS.Sinyal clock dan reset biasanya muncul dalam daftar sensitivitas PROCESS bagian bawah (kecuali resetnya sinkron atau tidak digunakan, atau WAIT digunakan sebagai penggantidari IF). Ketika reset digunakan, 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 sirkuitsekuensial secara prinsip dapat dimodelkan sebagai mesin state, hal ini tidak selalumenguntungkan. Alasannya karena kode tersebut akan menjadi lebih panjang, lebih kompleks,dan error yang lebih rawan daripada pendekatan konvensional. Hal ini sering terjadi padarangkaian sederhana, seperti counter.Sebagai aturan yang sederhana, pendekatan FSM dianjurkan dalam sistem tugas yangmerupakan daftar yang tersusun dengan baik sehingga semua state dapat dengan mudahdisebutkan. Artinya, dalam penerapan mesin state yang khas, kita akan menjumpai,ARCHITECTURE di awal, sebuah tipe data enumerated user-defined, mengandung daftar kemungkinan semua sistem state. Pengendali digital adalah contoh yang bagus bagi beberaparangkaian.Aspek penting lainnya, yang sudah ditekankan pada awal bab 5, adalah bahwa tidak semua sirkuit yang memiliki memori perlu logika sekuensial. Sebagai contoh sebuah RAM(Random Access Memory), didalamnya, operasi pembacaan memory hanya tergantung padaalamat bit yang diterapkan saat ini pada RAM (input), dan nilai yang diambil tidak adahubungannya dengan akses memory sebelumnya (input sebelumnya). Dalam kasus tersebut, pendekatan FSM tidak dianjurkan.
 
STATE MACHINES
POLITEKNIK NEGERI MALANG Page 3
8,2 Desain Style # 1
B
eberapa pendekatan dapat dipahami untuk merancang sebuah FSM. Disini akandijelaskan secara detail salah satu gaya yang terstruktur baik dan mudah diaplikasi. Di dalamnya,desain bagian bawah mesin state (gambar 8.1) benar-benar terpisah dari bagian atas. Semua state bagian mesin selalu eksplisit dan dinyatakan menggunakan tipe data enumerated. Setelahmemperkenalkan beberapa bentuk desain, kami akan memeriksa data dari perspektif  penyimpanan untuk lebih memahami dan memperbaiki konstruksi yang akan mengarah padagaya desain # 2.
Design of the Lower (Sequential) Section
Dalam gambar 8.1,
B
agian flip-flop berada di bagian bawah, sehingga clock dan resetterhubung. Masukan lain bagian bawah adalah nx_state (next state), sementara pr_state (presentstate) adalah satu-satunya output. Sebagai rangkaian dari sekuensial bagian bawah, sebuahPROCESS diperlukan, di mana setiap pernyataan sekuensial (IF, WAIT, CASE, atau LOOP, bab6) dapat digunakan.Sebuah desain khas template untuk bagian bawah adalah sebagai berikut:Kode yang ditunjukkan di atas sangat sederhana. Ini terdiri dari sebuah reset asinkron,yang menentukan keadaan awal sistem (state0), diikuti dengan menyimpan sinkron nx_state(pada transisi positif dari clock), yang akan menghasilkan pr_state di output bagian bawah(gambar 8.1). kabar baik tentang pendekatan ini adalah desain bagian bawah pada dasarnyaadalah standar.Keuntungan lain dari gaya desain ini adalah bahwa jumlah registernya minimal. Dari bagian 7.5, kita tahu bahwa jumlah Àip-Àop yang disimpulkan dari kode di atas sama dengan

Activity (10)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Austin Tambunan liked this
NormaNingsih liked this
Nenie Silvia liked this
Ach Hadi Dahlan liked this
Johana Lany liked this
Ahmad Choncept liked this
Bambang Gastomo liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->