RANGKAIAN SEKUENSIAL
Rut Sahayana Hutasoit (14S18013)
Tanggal Percobaan : 22/11/2018
[ELS2104][Prak.Sistem Digital]
[Lab.Sistem Digital] – Teknik Elektro
Institut Teknologi Del
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
Gambar 2-1 Pemodelan Finite State Machine USE IEEE.STD_LOGIC_UNSIGNED.ALL;
Potongan tersebut merupakan library yang digunakan pada
percobaan ini.
Perhatikan gambar (Gambar 2-1) diatas. Gambar tersebut Yang dibawah ini merupakan deklarasi entity, port input dan
adalah representasi dari sebuah finite statemachine. Saat S1 output.
diberikan logika 1, maka fungsi S1akan kembali dijalankan, ENTITY top_level_vhd IS
sedangkan saat logika S1diberikan logika 0, maka fungsi S2 PORT(
akan dijalankan. Demikian pula saat S2 diberikan logika1, input
terlihat bahwa fungsi S2 akan kembali dijalankan, sedangkan CLOCK_50 : IN STD_LOGIC;
saat diberikan logika 0,maka fungsi S1 akan dijalankan. SW : IN
STD_LOGIC_VECTOR( 9 DOWNTO 0 );
output
VGA_R : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_G : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_B : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_HS : OUT STD_LOGIC;
Tabel Simulasi Finite State Machine VGA_VS : OUT STD_LOGIC;
VGA_CLK : OUT STD_LOGIC;
VGA_BLANK : OUT STD_LOGIC;
2.5 MODUL VGA DRIVER
Modul VGA (Video Graphics Array) driver yang GPIO_0 : OUT
STD_LOGIC_VECTOR( 35 DOWNTO 0 );
digunakan kali ini adalah sebuah modul yang LEDR : OUT
merepresentasikan masukkan logika FPGA kedalam tampilan STD_LOGIC_VECTOR( 9 DOWNTO 0 ));
warna pada layar monitor LCD.Modul ini menerima END top_level_vhd;
masukkan port yang ingin dinyalakan, dan mengkonversikan Penjelasan dari code di atas “ENTITY” diikuti dengan nama
masukkan menjadi warna pada layar. komponen yang kita buat sekaligus nama file dot vhd yang
kita buat,di sini diberi nama “top_level”kemudian diikuti
dengan kata IS.Setelah itu nama input dan output kita
2.6 K OMPILASI FILE VHDL tulis.Pada code diatas ditulis nama input/output diikuti tanda
Dengan menggunakan ALTERA QUARTUS II 9.0,kita titik dua (:), setelah itu kata “IN” atau “OUT”. Setelah kata
cukup membuat project baru menggunakan create a new “IN” atau “OUT” dituliskan tipe datanya jika ukurannya 10 bit
project >add files maka ketika kompilasi dijalankan, semua
maka dituliskan (9 downto 0),dan 6 bit (5 down to 0).
Files yang beradadalam proyek tersebut akan
terkompilasi.Dengan menggunakan ModelSim, kita
Menuliskan architecture-nya dan signal yang dibutuhkan
cukupmengklik file-file yang ingin kita kompilasi sambil
menahan tombol Shift pada keyboard. Selanjutnyakita cukup sebelum kata begin,di dalam architecture ini isinya adalah
menekan tombol compile/done, maka semua file VHDL yang rangkaian dari komponen yang kita buat
ingin kita kompilasi akanter-compile.
ARCHITECTURE behavioral OF top_level_vhd berupa dua buah kotak yang serupa dengan lampu merah dan
IS
SIGNAL M_US : STD_LOGIC;
warnanya berubah sesuai input dari switch. Tidak lupa,
SIGNAL K_US : STD_LOGIC; praktikan juga memasang pin planner dengan cara
SIGNAL H_US : STD_LOGIC; menggunakan file .qpf dar i file yang telah disiapkan ke dalam
SIGNAL M_BT : STD_LOGIC; top_level_vhd karena nama file harus sama dengan nama
SIGNAL K_BT : STD_LOGIC;
entity. Gambar yang didapatkan di LCD kurang lebih seperti
SIGNAL H_BT : STD_LOGIC;
COMPONENT display_vhd IS berikut :
PORT(
i_clk : IN STD_LOGIC;
i_M_US : IN STD_LOGIC;
i_K_US : IN STD_LOGIC;
i_H_US : IN STD_LOGIC;
i_M_BT : IN STD_LOGIC;
i_K_BT : IN STD_LOGIC;
i_H_BT : IN STD_LOGIC;
VGA_R : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 ); Ketiga buah warna tersebut dapat berubah-ubah sessuai
VGA_R : OUT dengan switch mana yang menyala. Saat semua switch dalam
STD_LOGIC_VECTOR( 5 DOWNTO 0 ); keadaan menyala maka akan menampilkan gambar seperti di
atas dan apabila hanya switch 1 untuk M_US yang menyala,
VGA_R : OUTSTD_LOGIC_VECTOR( 5 DOWNTO 0
); hasil yang diperoleh akan menjadi sebagia berikut :
VGA_G : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_B : OUT
STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_HS : OUT
STD_LOGIC;
VGA_VS : OUT
STD_LOGIC;
VGA_CLK : OUT
STD_LOGIC; Bila yang menyalal adalah switch ketiga untuk H_US dan
VGA_BLANK : OUT H_BT di switch keenam maka hasil akan menjadi :
STD_LOGIC);
END COMPONENT;
Dan menghapus salah satu program dari percobaan 4B Rangkaian logika sekuensial merupakan rangkaian
yaitu : logika yang bergantung pada memori state,seperti
pada studi kasus diatas.Counter yang digunakan
berfungsi sebagai penghitung jeda waktu (satuan
detik) dari lamanya jeda waktu lampu lalu lintas yang
digunakan.
Implementasi yang digunakan diatasmenggunakan
Finite State Machine, yaitu suatumetode pemodelan
(dalam hal ini rangkaianMealy) dari desain rangkaian
Sehingga hasil dari percobaan 4C sama dengan hasil logika sekuensial.
percobaan 4B perbedaannya hanya pada timer yaitu pada Dalam mengimplementasikan rangkaian logika
percobaan 4B tidak memiliki timing sedangkan pada sekuensial percobaan ini, kita menggunakan dua
percobaan 4C memiliki timing dan juga perbedaan yang metode implementasi, yaitu dengan implementasi
terakhir adalah ketika kita menyalakan SW1, SW2, SW3 langsung FSM ke FPGA DE-1board, maupun
secara bersamaan maka pada percobaan 4C lampu kuning merepresentasikan hasil keluaran ke layar LCD
akan berkedip- kedip dengan waktu tertentu yang menandakan menggunakan modul VGA driver.
bahwa tombol darurat menyala.
Gambar hasil percobaan 4C:
REFERENSI
.
LAMPIRAN
Berikut kami lampirkan beberapa foto yang kami
ambil pada saat melakukan praktikum: