Anda di halaman 1dari 8

PERCOBAAN IV

RANGKAIAN SEKUENSIAL
Rut Sahayana Hutasoit (14S18013)
Tanggal Percobaan : 22/11/2018
[ELS2104][Prak.Sistem Digital]
[Lab.Sistem Digital] – Teknik Elektro
Institut Teknologi Del

Abstrak— Pada percobaan-percobaan sebelumnya, kita II.LANDASAN TEORETIS


telah menganalisis rangkaian berbasis logika kombinasional.
Pada realita, sistem gerbang logika yang dibangun tidak
semuanya dapat ditangani dengan logika kombinasional. Pada Rangkaian gerbang logika dapat dibagi menjadi beberapa
praktikum Modul 04 yang berjudul Rangkaian Logika bagian, seperti rangkaian logika kombinasional maupun
Sekuensial, yaitu rangkaian yang memiliki fungsi memori rangkaian logika sekuensial . Adder, encoder, decoder, dan
sehingga output tidak hanya berasal dari input suatu saat. substractor adalah contoh dari aplikasi rangkaian logika
Pada percobaan ini, kita akan menganalisis salah satu kombinasional. Salah satu contoh aplikasi dari rangkaian
logika rangkaian yang lain, yaitu rangkaian logika sekuensial adalah counter , yang digunakan dalam studi kasus
sekuensial.Rangkaian kali ini akan dimodelkan menggunakan ini. Ada beberapa pemodelan yang dapat digunakan untuk
Finite State Machine (FSM) dalam sebuah studi kasus. FSM merepresentasikan logika sekuensial, salah satunya adalah
dari studi kasus ini akan diimplementasikan dengan FPGA FSM. Selain itu, kita juga akan mengenal implementasi
dan modul VGA driver, dan menggabungkan desain FSM menggunakan modul VGA driver.
dengan VGA driver.

Kata kunci: rangkaian logika sekuensial, finite


state machine ,FPGA, VGA driver . 2.1 RANGKAIAN SEKUENSIAL
Rangkaian sekuensial adalah rangkaian logika yang
kondisi keluarannya dipengaruhi oleh masukan dan keadaan
keluaran sebelumnya atau dapat dikatakan rangkaian yang
I.PENDAHULUAN bekerja berdasarkan urutan waktu. Ciri rangkaian logika
sekuensial yang utama adalah adanya jalur umpan balik
Dalam pengimplementasian fungsi gerbang logika dapat (feedback) di dalam rangkaiannya.
kitan lakukan dalam berbagai cara diantaranya adalah dengan
rangkaian gerbang sekuensial.Dalam rangkaian ini keluaran 2.2 FLIP-FLOP
yang dihasilkan akan bergantung pada memori Flip-flop adalah rangkaian utama dalam logika
statenya.Secarasederhana, suatu rangkaian sekuensial sequensial. Counter, Register,Memory, serta rangkaian
dapatbergantung pada state dan masukkan sebelumnya sequensial lainnya disusun dengan menggunakan flipflop
(rangkaian Mealy) atau hanya bergantung padastatenya sebagai komponen utama. Flipflop adalah rangkaian yang
(rangkaian Moore). mempunyai fungsi pengingat (memory). Artinya rangkaian ini
Pada saat percobaan rangkaian kombinasional kita hanya mampu melakukan penyimpanan data sesuai dengan
mengimplementasikan rangkaian tanpa memperhatikan logika kombinasi masukan yang diberikan kepadanya. Ada beberapa
massukan sebelumnya (memori state).Namun pada macam flipflop yang akan dibahas yaitu RS flipflop, JK
kenyataannya,banyak aplikasi-aplikasi yang membutuhkan flipflop, D flipflop, dan T flipflop. Ciri utama dari flipflop
memori state sebelumnya,seperti alarm kebakaran yang adalah keluaran Q dan Q’ adalah selalu berlawanan / stabil
digunakan di gedung-gedung perkantoran. (jika Q = 0 maka Q’ = 1, Jika Q = 1 maka Q’ =0). Karena
Oleh sebab itu pada kali ini kita akan melakukan percobaan kondisi dua keadaan stabil ini rangkaian flipflop dinamakan
pengimplementasian subuah studi kasus dari rangkaian juga dengan rangkaian bistabil.
sekuensial, yaituperempatan jalan yang mempunyai 4 buah
lampu lalulintas Dua implementasi berbeda akandigunakan, 2.3 COUNTER
yaitu implementasi desain FSM dengan FPGA maupun Rangkaian Counter (penghitung) adalah logika
implementasi menggunakan modul VGA driver. sekuensial yang dapat dipergunakan untuk menghitung jumlah
pulsa masuk dan dinyatakan dengan bilangan biner. Sesuai
dengan namanya 4 BIT Binary Counter adalah suatu
rangkaian logika yang terdiri dari 4 buah Flip-Flop yang
mampu melaksanakan perhitungan sampai bilangan 16. III.Hasil dan Analisis
Pada percobaan ini, fungsi kerja dari counter akan
disimulasikan menggunakan clockdiv, yang menghitung Dari percobaan rangkaian sekuensial ini kami
lamanya waktu dalam satuan nano sekon. mendapatkan data sebagai berikut,adapun analisis yangt kami
berikan:
2.4 FINITE STATE MACHINE
Finite state machine adalah sebuah pemodelan komputasi
matematika yang digunakan untuk mendesain rangkaian
logika sekuensial maupun pemrograman komputer. Tugas I : Implementasi Modul VGA Driver
Pada bagian kedua modul keempat ini, praktikan mencoba
mengimplementasikan VGA Driver yang dapat didownload,
mengcomplie file-file yang ada, mendownloadnya pada FPGA
dengan cara biasa (Programmer -> Start) lalu melihat efek
serta perubahan pada LCD yang menjadi output pada FPGA
tersebut. Kode VHDL yang digunakan adalah sebagai berikut :

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;

Code dibawah ini merupakan rangkaian utama, diawali


dengan kata begin
BEGIN
module_vga : display_vhd
PORT MAP (
i_clk => CLOCK_50,
i_M_US => M_US, Dengan kata lain, praktikan berhasil mengimplementasikan
i_K_US => K_US, VGA driver dan menampilkannya di LCD sebuah traffic light
i_H_US => H_US dengan 6 buah output warna yang nilainya tergantung dari 6
i_M_BT => M_BT,
i_K_BT => K_BT, buah input saklar.
i_H_BT => H_BT,
VGA_R => VGA_R,
VGA_G => VGA_G, Tugas II : Implementasi Desain FSM dengan VGA Driver
VGA_B => VGA_B, Pada percobaan keempat bagian ketiga ini, praktikan akan
VGA_HS => VGA_HS, menggabungkan FSM yang telah dibuat dengan VGA driver
VGA_VS => VGA_VS,
VGA_CLK => VGA_CLK,
agar hasilnya dapat dilihat pada layar LCD berupa traffic light
VGA_BLANK => VGA_BLANK yang menyala sesuai dengan inputnya masing-masing. Untuk
); menggabungkan FSM ke dalam VGA driver maka
top_level_vhd yang sebelumnya telah disiapkan oleh labdasar
M_ US <= SW (0); harus sedikit diubah dengan menambahkan component dimana
K_ US <= SW (1);
H_ US <= SW (2); component yang ditulis dalam top level vhd ini didapatkan
M_ BT <= SW (3); dari port yang ada pada FSM. Selain menambahkan
K_ BT <= SW (4); component, praktikan juga menambahkan module baru untuk
H_ BT <= SW (5); ”menghubungkan” port yang ada pada fsm yang telah dibuat
dan port yang dimiliki oleh top_level_vhd. Berikut adalah
END behavioral;
script untuk menambahkan module baru, letak penempatan
module adalah di antara syntax BEGIN dan END behavioral.
dengan menggunakan kode VHDL di atas sebagai top entity
dan diterapkan pada LCD maka diperoleh tampilan di layar
Untuk lebih jelasnya, berikut adalah source code MODEHARI => SW(8)
);
top_level_vhd yang telah diubah module_vga : display_vhd
PORT MAP (
i_clk => CLOCK_50,
i_M_US => M_US,
LIBRARY IEEE;
i_K_US => K_US,
USE IEEE.STD_LOGIC_1164.ALL; i_H_US => H_US,
USE IEEE.STD_LOGIC_ARITH.ALL; i_M_BT => M_BT,
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
i_K_BT => K_BT,
i_H_BT => H_BT,
ENTITY top_level_vhd IS VGA_R => VGA_R,
PORT(
VGA_G => VGA_G,
CLOCK_50 : IN STD_LOGIC; VGA_B => VGA_B,
SW : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 ); VGA_HS => VGA_HS,
VGA_R: OUT STD_LOGIC_VECTOR( 5 DOWNTO 0 );
VGA_VS => VGA_VS,
VGA_G : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0 ); VGA_CLK => VGA_CLK,
VGA_B : OUT STD_LOGIC_VECTOR( 5 DOWNTO 0 ); VGA_BLANK => VGA_BLANK
VGA_HS : OUT STD_LOGIC;
);
VGA_VS : OUT STD_LOGIC; END behavioral;
VGA_CLK : OUT STD_LOGIC;
VGA_BLANK : OUT STD_LOGIC;
GPIO_0 : OUT STD_LOGIC_VECTOR( 35 DOWNTO 0 );
Bagian yang dihighlight adalah script yang ditambahkan ke
LEDR : OUT STD_LOGIC_VECTOR( 9 DOWNTO 0 )); dalam top_level_vhd. Setelah selesai menambahkan script,
END top_level_vhd; kemudian praktikan mendownloadkannya lagi ke FPGA dan
ARCHITECTURE behavioral OF top_level_vhd IS
didapatkan hasil seperti dibawah ini ketika FPGA dihbungkan
ke LCD.
SIGNAL M_US : STD_LOGIC;
SIGNAL K_US : STD_LOGIC;
SIGNAL H_US : STD_LOGIC; S0 S1 S2 S3 S4 S5
SIGNAL M_BT : STD_LOGIC;
SIGNAL K_BT : STD_LOGIC;
SIGNAL H_BT : STD_LOGIC;
COMPONENT FSM IS
PORT (
clockin : IN STD_LOGIC;
MODEDARURAT : IN STD_LOGIC;
MODEHARI : IN STD_LOGIC;
M_US : OUT STD_LOGIC;
K_US : OUT STD_LOGIC;
H_US : OUT STD_LOGIC;
M_BT : OUT STD_LOGIC;
K_BT : OUT STD_LOGIC; Percobaan 4C
H_BT : OUT STD_LOGIC
); Sama seperti analisis program pada percobaan 4B
END COMPONENT; perbadaannya hanya menambahkan program dari percobaan
COMPONENT display_vhd IS 4A yaitu :
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 );
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;
VGA_BLANK : OUT STD_LOGIC); Kemudian dihubungkan dengan port dari output FSM ke
END COMPONENT;
sinyal – sinyal top_level_vhd yaitu :
BEGIN
module_fsm : FSM
PORT MAP (
clockin => CLOCK_50,
M_US => M_US,
K_US => K_US,
H_US => H_US,
M_BT => M_BT,
K_BT => K_BT,
H_BT => H_BT,
MODEDARURAT => SW(9),
IV.KESIMPULAN

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

[1] Brian Holdsworth and Clive Woods, Digital Logic


Design Fourth Edition, N.wnes,2002.
[2] http://en.wikipedia.org/wiki/Finite_state_machine, 17
November 2018.
[3] R.H. Katz,Contemporary Logic Design Second Edition,
Pearson Prentince-Hall, NJ, 2005.
[4] Stephen Brown and Zvonko Vranesic,Fundamentals of
. Digital Logic with VHDL Design Third Edition,
McGraw-Hill, San Francisco,2009

.
LAMPIRAN
Berikut kami lampirkan beberapa foto yang kami
ambil pada saat melakukan praktikum:

Anda mungkin juga menyukai