TKC305 - Sistem Digital Lanjut Eko Didik Sistem Komputer - Fakultas Teknik Universitas Diponegoro Review Kuliah Desain rangkaian sekuensial sinkron FSM (Finite State Machine): diagram state, tabel state Model Moore dan Mealy Desain FSM dengan HDL Counter: up dan down, asinkron dan sinkron Counter dengan paralel load Analisis rangkaian Contoh desain tersintesis menggunakan Xilinx Referensi: (Bab 8) Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with Verilog/VHDL, 2nd Edition, McGraw-Hill, 2005
Kompetensi Dasar Setelah mempelajari bab ini, mahasiswa akan mampu: [C3] menerapkan model-model FSM untuk mendesain rangkaian sekuensial sinkron [C5] mendesain modul pencacah up-down dengan paralel load [C5] mendesain modul serial adder [C5] membuat modul-modul HDL tersintesis untuk counter dengan fungsi serupa dengan IC seri 74xx [C6] menganalisis modul-modul tersebut dengan simulasi Bahasan Konsep Implementasi
Bahasan Konsep Implementasi Konsep Implementasi sekuensial sinkron: rangkaian yang menggunakan sinyal clock untuk mengontrol operasi rangkaian Transisi clock aktif menunjukkan transisi clock yang menyebabkan terjadinya perubahan state/keadaan. Transisi bisa positif atau negatif Transisi positif: state dievaluasi saat transisi clock naik dari 0 ke 1 Transisi negatif: state dievaluasi saat transisi clock turun dari 1 ke 0 Direalisasikan menggunakan rangkaian kombinasional dan setidaknya satu buah flip-flop Model rangkaian sekuensial sinkron: Konsep Implementasi Moore: keluaran rangkaian hanya tergantung pada state rangkaian saat ini Mealy: keluaran rangkaian tergantung dari state rangkaian saat ini dan masukan primernya sekuensial disebut juga finite state machine (FSM)
Model Moore versus Mealy Konsep Implementasi Bahasan Konsep Implementasi Konsep Implementasi
Kebutuhan Desain rangkaian sekuensial sinkron yang memenuhi spesifikasi berikut: mempunyai satu masukan, w, dan satu keluaran, z Semua perubahan dalam rangkaian terjadi saat transisi naik dari sinyal clock z=1 jika masukan w=1 secara berurutan selama 2 clock Dari spesifikasi terlihat bahwa keluaran z tidak hanya tergantung dari nilai w semata Konsep Implementasi Urutan Sinyal Urutan sinyal masukan dan keluaran berikut mendeskripsikan rangkaian yang diinginkan Siklus clock t 0 t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 w 0 1 0 1 1 1 0 1 1 0 1 z 0 0 0 0 0 1 1 0 0 1 0 Konsep Implementasi
Bahasan Konsep Implementasi Konsep Implementasi Langkah pertama untuk mendesain FSM adalah dengan menentukan berapa state yang dibutuhkan dan transisi apa yang mungkin dari satu state ke state lain Tanpa prosedur preset Desainer harus berpikir tentang rangkaian untuk memenuhi FSM ini Desain dimulai dengan mendefinisikan state reset State saat sumber daya diberikan ke rangkaian atau sinyal reset diterima Konsep Implementasi
(1) Asumsi, state mulai adalah A (state saat reset) Selama masukan w=0, rangkaian tidak melakukan apapun dan nilai z=0 Konsep Implementasi (2) Saat w=1, rangkaian akan mengalami transisi ke state baru (B) Transisi ini terjadi di transisi naik sinyal clock berikutnya Konsep Implementasi
(3) Saat rangkaian berada di state B dan w=1, rangkaian akan mengalami transisi ke state baru (C) Transisi ini terjadi di transisi naik sinyal clock berikutnya Konsep Implementasi (4) Diagram state lengkap (Model Moore) Konsep Implementasi
Bahasan Konsep Implementasi Konsep Implementasi Tabel Keadaan (State Table) Diagram keadaan menjabarkan fungsionalitas rangkaian (bukan implementasinya) Translasi ke bentuk tabular dari tabel Tabel keadaan berisi: Semua transisi dari tiap present state ke next state untuk semua valuasi dari nilai masukan, z, ditentukan oleh present state Present Next state Output state w=0 w=1 z A A B 0 B A C 0 C A C 1 Konsep Implementasi
(State Assignment) Keadaan (state) didefinisikan sebagai variabel, yaitu A, B, dan C Tiap state direpresentasikan dengan valuasi dari variabel state Tiap variabel state diimplementasikan dengan sebuah flip-flop Karena terdapat 3 state yang perlu direalisasikan, maka akan diperlukan dua buah variabel state Menggunakan y 2 y 1 untuk present state (sebagai variabel present state) Menggunakan Y2 Y 1 untuk next state (sebagai variabel next state) Konsep Implementasi Tabel (State-assigned Table) State Valuasi A 00 B 01 C 10 Present state Next state Y 2 Y 1 Output y 2 y 1 w=0 w=1 z 00 00 01 0 01 00 10 0 10 00 10 1 11 dd dd d Konsep Implementasi State D, y 2 y 1 = 11 ditambahkan dalam tabel Tidak digunakan, namun diperlukan untuk kelengkapan
Bahasan Konsep Implementasi Konsep Implementasi Peta Karnaugh disusun dari tabel state untuk: luaran (z) Masukan dari flip-flop (next-state K-map) Mengkonstruksi peta next-sate tergantung dari tipe flip-flop (D, T, JK) yang akan digunakan untuk implementasi Flip-flop D dapat digunakan secara langsung Peta next-state disusun secara langsung dari tabel state karena Q(t + 1) = Q + = D Konsep Implementasi
Peta Next state Konsep Implementasi Peta Konsep Implementasi
Bahasan Konsep Implementasi Konsep Implementasi Diagram Konsep Implementasi
Diagram Pewaktuan Konsep Implementasi Bahasan Konsep Implementasi
Desain pencacah 2-bit untuk mencacah dengan ketentuan berikut: Urutan 0,1,2,3,0,... (up-counter) jika sinyal kontrol U=1 atau Urutan 0,3,2,1,0,... (down-counter) jika sinyal kontrol U=0 Desain ini membuat pencacah up/down 2-bit Masukan U mengontrol arah pencacahan (up/down) Masukan Reset mereset pencacah ke NOL Dua keluaran (Z1 Z 0 ) menunjukkan nilai keluaran (0-3) Pencacah menghitung saat transisi positif sinyal clock Tujuan: mendesain rangkaian pencacah sebagai mesin sekuensial sinkron menggunakan Flip-flop D, T, dan JK Diagram Keadaan Pencacah
Tabel Keadaan Pencacah Present Next state Output state U=0 U=1 Z 1 Z 0 A D B 00 B A C 01 C B D 10 D C A 11 Tabel Memilih penugasan keadaan dari A=00, B=01, C=10 dan D=11 Z1 Z 0 menjadi output dari flip-flop secara langsung Present state Next state Y 2 Y 1 Output y 2 y 1 U=0 U=1 Z 1 Z 0 00 11 01 00 01 00 10 01 10 01 11 10 11 10 00 11
Bahasan Konsep Implementasi Saat flip-flop D digunakan untuk mengimplementasikan FSM, next-state dalam tabel penugasan state berkaitan secara langsung dengan sinyal yang harus diaplikasikan ke masukan D Kemudian peta Karnaugh untuk masukan D dapat diturunkan secara langsung dari tabel penugasan state Tidak berlaku untuk tipe flip-flop lain (T, JK)
Peta Next state Diagram (Flip-flop D)
Bahasan Konsep Implementasi Untuk flip-flop T- dan JK-, langkah yang perlu dilakukan adalah menurunkan input yang diinginkan ke flip-flop Dimulai dengan mengkonstruksi tabel transisi untuk flip-flop yang akan digunakan Tabel ini menyederhanakan daftar masukan yang diinginkan untuk satu perubahan keadaan Tabel ini digunakan dengan tabel state-assigned untuk menyusun sebuah tabel eksitasi Tabel eksitasi menentukan masukan flip-flop yang diperlukan yang harus dieksitasi untuk menyebaban transisi ke masukan berikutnya
Tabel Transisi Tabel transisi mendaftar masukan flip-flop yang mempengaruhi perubahan tertentu Flip-flop T Menggunakan daftar dari tabel transisi untuk menurunkan masukan flip-flop berdasarkan tabel state-assignment Membentuk tabel eksitasi Q Q+ T 0 0 0 0 1 1 1 0 1 1 1 0
Tabel Eksitasi dan Peta Karnaugh Diagram (Flip-flop T)
Implementasi flip-flop JK Menggunakan daftar dari tabel transisi untuk menurunkan masukan flip-flip berdasarkan tabel state-assignment Harus dilakukan untuk tiap masukan (J dan K) di tiap flip-flop Implementasi flip-flop JK (2) Membuat tabel eksitasi
Tabel Eksitasi dan Peta Karnaugh Tabel Eksitasi dan Peta Karnaugh (2)
Diagram (Flip-flop JK) Creative Common Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Anda bebas: untuk Membagikan untuk menyalin, mendistribusikan, dan menyebarkan karya, dan untuk Remix untuk mengadaptasikan karya Di bawah persyaratan berikut: Atribusi Anda harus memberikan atribusi karya sesuai dengan cara-cara yang diminta oleh pembuat karya tersebut atau pihak yang mengeluarkan lisensi. Berikan atribusi secukupnya jika Anda menggunakan karya ini. Pembagian Serupa Jika Anda mengubah, menambah, atau membuat karya lain menggunakan karya ini, Anda hanya boleh menyebarkan karya tersebut hanya dengan lisensi yang sama, serupa, atau kompatibel. Lihat: Creative Commons Attribution-ShareAlike 3.0 Unported License