Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
8Activity
0 of .
Results for:
No results containing your search query
P. 1
Rangkaian Logika Sekuensial

Rangkaian Logika Sekuensial

Ratings: (0)|Views: 481 |Likes:
Published by Iskandar Setiadi

Laporan Praktikum 4

Laporan Praktikum 4

More info:

Published by: Iskandar Setiadi on Nov 23, 2012
Copyright:Attribution Non-commercial

Availability:

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

11/01/2013

pdf

 
 
Laporan Praktikum - Laboratorium Dasar Teknik Elektro
STEI ITB
1
 
MODUL 4 RANGKAIAN LOGIKA SEKUENSIAL
Iskandar Setiadi (13511073)
 Asisten: Anugerah Firdauzi / 13209109Tanggal Percobaan: 12/11/2012EL2195-Praktikum Sistem Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
 Abstrak 
Pada percobaan-percobaan sebelumnya, kita telah menganalisis rangkaian berbasis logika kombinasional. Pada realita, sistem gerbang logika yang dibangun tidak semuanya dapat ditangani dengan logika kombinasional. Pada  percobaan ini, kita akan menganalisis salah satu logika rangkaian yang lain, yaitu rangkaian logika sekuensial.Rangkaian kali ini akan dimodelkan menggunakan Finite State Machine (FSM) dalam sebuah studi kasus. FSM dari studi kasus ini akan diimplementasikan dengan FPGA dan modul VGA driver.
Kata kunci: rangkaian logika sekuensial,
 finite state machine 
,
FPGA, VGA driver 
.
1.
 
P
ENDAHULUAN
Implementasi fungsi gerbang logika padarangkaian dapat dilakukan dengan berbagai cara,salah satunya adalah rangkaian logika sekuensial.Keluaran dari rangkaian logika sekuensial akanbergantung pada memori statenya. Secarasederhana, suatu rangkaian sekuensial dapatbergantung pada state dan masukkan sebelumnya(rangkaian Mealy) atau hanya bergantung padastatenya (rangkaian Moore).Pada percobaan sebelumnya, kita hanyamengimplementasikan rangkaian tanpamemperhatikan logika masukkan sebelumnya(memori state). Pada kenyataannya, banyakaplikasi-aplikasi yang membutuhkan memori statesebelumnya, seperti
alarm
kebakaran yangdigunakan di gedung-gedung perkantoran.Percobaan ini akan mengimplementasikan sebuahstudi kasus dari rangkaian sekuensial, yaituperempatan jalan yang mempunyai 4 buah lampulalulintas Dua implementasi berbeda akandigunakan, yaitu implementasi desain FSMdengan FPGA maupun implementasimenggunakan modul VGA driver.
2.
 
S
 TUDI
P
USTAKA 
 
Rangkaian gerbang logika dapat dibagi menjadibeberapa bagian, seperti rangkaian logikakombinasional maupun rangkaian logikasekuensial
.
Salah satu contoh aplikasi darirangkaian sekuensial adalah
counter 
, yangdigunakan dalam studi kasus ini. Ada beberapapemodelan yang dapat digunakan untukmerepresentasikan logika sekuensial, salahsatunya adalah FSM. Selain itu, kita juga akanmengenal implementasi menggunakan modulVGA driver.
2.1
 
 ANGKAIAN
S
EKUENSIAL
 
Rangkaian logika sekuensial didefinisikan sebagaitipe rangkaian logika yang tidak hanyaberpengaruh pada masukkan logika terbaru,namun juga masukkan-masukkan logikasebelumnya,
[4]
. Rangkaian logika sekuensial dapatdibagi menjadi dua, yaitu
synchronous
dan
asynchronous
.Salah satu aplikasi dari rangkaian logikasekuensial, yaitu
counter 
, yang akan dijelaskanpada bagian berikut.
2.2
 
C
OUNTER 
 
Counter 
adalah rangkaian logika sekuensial yangmenyimpan waktu dari suatu
state
, dan seringdikaitkan dengan sinyal waktu,
[5]
. Secara singkat,
counter 
berfungsi sebagai rangkaian yangmenghitung secara terurut, seperti 0,1,2,dst.Pada percobaan ini, fungsi kerja dari
counter 
akandisimulasikan menggunakan
clockdiv
, yangmenghitung lamanya waktu dalam satuannanosekon.
2.3 
 
INITE 
TATE 
 ACHINE 
 
Finite state machine
adalah sebuah pemodelankomputasi matematika yang digunakan untukmendesain rangkaian logika sekuensial maupunpemrograman komputer,
[6]
.
 
 
Laporan Praktikum - Laboratorium Dasar Teknik Elektro
STEI ITB
2
 
Gambar 2-1 Pemodelan
Finite State Machine 
 
Perhatikan gambar (Gambar 2-1) diatas. Gambartersebut adalah representasi dari sebuah
 finite statemachine
. Saat S1 diberikan logika 1, maka fungsi S1akan kembali dijalankan, sedangkan saat logika S1diberikan logika 0, maka fungsi S2 akandijalankan. Demikian pula saat S2 diberikan logika1, terlihat bahwa fungsi S2 akan kembalidijalankan, sedangkan saat diberikan logika 0,maka fungsi S1 akan dijalankan.
 Tabel 2-1 Simulasi
Finite State Machine 
diatas,[6]
Logika S1
 Next Function
1
S1
0
S2
2.4
 
M
ODUL
 VGA 
 
D
RIVER 
 
Modul VGA (
Video Graphics Array)
driver yangdigunakan kali ini adalah sebuah modul yangmerepresentasikan masukkan logika FPGAkedalam tampilan warna pada layar monitor LCD.Modul ini menerima masukkan
 port
yang ingindinyalakan, dan mengkonversikan masukkanmenjadi warna pada layar.
2.5
 
OMPILASI
ILE 
 
 VHDL
Pada percobaan-percobaan yang telah kitalakukan, seringkali kita membutuhkan lebih darisatu buah
 file
dalam mensimulasikan suaturangkaian.Dengan menggunakan ALTERA QUARTUS II 9.0,kita cukup membuat
 project
baru menggunakan
create a new project
>
add files
maka ketikakompilasi dijalankan, semua
 files
yang beradadalam proyek tersebut akan terkompilasi.Dengan menggunakan ModelSim, kita cukupmengklik
 file-file
yang ingin kita kompilasi sambilmenahan tombol
Shift
pada keyboard. Selanjutnyakita cukup menekan tombol
compile/done
, makasemua
 file
VHDL yang ingin kita kompilasi akanter-
compile
.
3.
 
M
ETODOLOGI
 3.1
 
 A 
LAT
P
ERCOBAAN
 
 
Komputer / PC yang telah terinstallprogram Quartus II 9.0
 
Monitor LCD
 
FPGA DE-1, catudaya, kabel, sertakonektor tambahan
 
Script VHDL
yang telah dipersiapkansebelumnya
3.2
 
P
ROSEDUR 
P
ERCOBAAN
 
Percobaan ini dapat dibagi menjadi 3 bagian, yaituimplementasi desain FSM dengan FPGA,implementasi modul VGA driver, sertamenggabungkan desain FSM dengan VGA driver.Pada percobaan pertama, kita akan membuatsebuah rangkaian sekuensial sederhana dari studikasus lampu lalulintas yang telah dibuat padatugas pendahuluan sebelumnya. Studi kasus inimenggunakan 2
script
VHDL
 ,
yaitu
lampu.vhd
 serta
clockdiv.vhd
.Berikut ini adalah
 file
 
script
lampu.vhd yangkelompok kami digunakan:
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY LAMPU isport( DAYNIGHT : IN STD_LOGIC;ISDARURAT : IN STD_LOGIC; --JikadaruratCLOCKIN : IN STD_LOGIC;LED : OUT STD_LOGIC_VECTOR (5 downto0));END LAMPU;ARCHITECTURE TRAFFICLIGHT OF LAMPU IScomponent CLOCKDIV is
Memasukkan Clockdivport(CLK: IN STD_LOGIC;DIVOUT: buffer STD_LOGIC);end component;TYPE KONDISILAMPU IS (S1, S2, S3, S4, S5, S6);SIGNAL CURRENTKONDISI: KONDISILAMPU;SIGNAL CLOCKASLI : STD_LOGIC;SHARED VARIABLE HITUNG : integer := 0;SHARED VARIABLE DARURATMODE : integer := 0;BEGINTEMP: CLOCKDIV PORT MAP (CLK => CLOCKIN,DIVOUT => CLOCKASLI); --Menggabungkan ClockdivPROCESS (CLOCKASLI,ISDARURAT,DAYNIGHT)
 
 
Laporan Praktikum - Laboratorium Dasar Teknik Elektro
STEI ITB
3
 
BEGIN --REPARASI KODE ISDARURATIF (CLOCKASLI'EVENT) AND (CLOCKASLI= '1') AND (ISDARURAT = '1') THENIF DARURATMODE = 0 THENDARURATMODE := 1;HITUNG := 0;END IF;IF (HITUNG < 2) AND (NOT(CURRENTKONDISI = S6)) THENCURRENTKONDISI <= S5;HITUNG := HITUNG + 1;ELSECURRENTKONDISI <= S6;HITUNG := 0;END IF;IF (HITUNG < 2) AND(CURRENTKONDISI = S6) THENCURRENTKONDISI <= S6;HITUNG := HITUNG + 1;ELSECURRENTKONDISI <= S5;HITUNG := 0;END IF;ELSIF (CLOCKASLI'EVENT) AND (CLOCKASLI= '1') AND (ISDARURAT = '0') THENIF DARURATMODE = 1 THENDARURATMODE := 0;CURRENTKONDISI <= S5;END IF;CASE CURRENTKONDISI ISWHEN S1 =>IF ((HITUNG < 8) AND (DAYNIGHT= '1')) OR ((HITUNG < 4) AND (DAYNIGHT ='0')) THENHITUNG := HITUNG + 1;CURRENTKONDISI <= S1;ELSECURRENTKONDISI <= S2;HITUNG := 0;END IF;LED <= "001100"; --H_US dan M_BTWHEN S2 =>IF ((HITUNG < 2) AND (DAYNIGHT= '1')) OR ((HITUNG < 2) AND (DAYNIGHT = '0'))THENHITUNG := HITUNG + 1;CURRENTKONDISI <= S2;ELSECURRENTKONDISI <= S3;HITUNG := 0;END IF;LED <= "010100"; --K_US dan M_BTWHEN S3 =>IF ((HITUNG < 8) AND (DAYNIGHT= '1')) OR ((HITUNG < 4) AND (DAYNIGHT ='0')) THEN HITUNG := HITUNG + 1;CURRENTKONDISI <= S3;ELSECURRENTKONDISI <= S4;HITUNG := 0;END IF;LED <= "100001"; --M_US dan H_BTWHEN S4 =>IF ((HITUNG < 2) AND (DAYNIGHT= '1')) OR ((HITUNG < 2) AND (DAYNIGHT = '0'))THENHITUNG := HITUNG + 1;CURRENTKONDISI <= S4;ELSECURRENTKONDISI <= S1;HITUNG := 0;END IF;LED <= "100010"; --M_US dan K_BTWHEN S5 =>IF (HITUNG < 2) THENHITUNG := HITUNG + 1;CURRENTKONDISI <= S5;ELSECURRENTKONDISI <= S6;HITUNG := 0;END IF;LED <= "010010"; --Kuning menyalaWHEN S6 =>IF (HITUNG < 2) THENHITUNG := HITUNG + 1;CURRENTKONDISI <= S6;ELSECURRENTKONDISI <= S1;HITUNG := 0;END IF;

Activity (8)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
echizenkun liked this
Ari Maulana UG liked this
Dwi Ganef Janesa liked this

You're Reading a Free Preview

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