• Tidak ada hasil yang ditemukan

Rangkaian Logika Sekuensial

N/A
N/A
Protected

Academic year: 2021

Membagikan "Rangkaian Logika Sekuensial"

Copied!
7
0
0

Teks penuh

(1)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1

MODUL 4 RANGKAIAN LOGIKA SEKUENSIAL

Iskandar Setiadi (13511073)

Asisten: Anugerah Firdauzi / 13209109 Tanggal Percobaan: 12/11/2012 EL2195-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 pada rangkaian dapat dilakukan dengan berbagai cara, salah satunya adalah rangkaian logika sekuensial. Keluaran dari rangkaian logika sekuensial akan bergantung pada memori statenya. Secara sederhana, suatu rangkaian sekuensial dapat bergantung pada state dan masukkan sebelumnya (rangkaian Mealy) atau hanya bergantung pada statenya (rangkaian Moore).

Pada percobaan sebelumnya, kita hanya mengimplementasikan rangkaian tanpa memperhatikan logika masukkan sebelumnya (memori state). Pada kenyataannya, banyak aplikasi-aplikasi yang membutuhkan memori state sebelumnya, seperti alarm kebakaran yang digunakan di gedung-gedung perkantoran. Percobaan ini akan mengimplementasikan sebuah studi kasus dari rangkaian sekuensial, yaitu perempatan jalan yang mempunyai 4 buah lampu lalulintas Dua implementasi berbeda akan digunakan, yaitu implementasi desain FSM dengan FPGA maupun implementasi menggunakan modul VGA driver.

2. S

TUDI

P

USTAKA

Rangkaian gerbang logika dapat dibagi menjadi beberapa bagian, seperti rangkaian logika kombinasional maupun rangkaian logika sekuensial. Salah satu contoh aplikasi dari rangkaian sekuensial adalah counter, yang

digunakan dalam studi kasus ini. Ada beberapa pemodelan yang dapat digunakan untuk merepresentasikan logika sekuensial, salah satunya adalah FSM. Selain itu, kita juga akan mengenal implementasi menggunakan modul VGA driver.

2.1

R

ANGKAIAN

S

EKUENSIAL

Rangkaian logika sekuensial didefinisikan sebagai tipe rangkaian logika yang tidak hanya berpengaruh pada masukkan logika terbaru, namun juga masukkan-masukkan logika sebelumnya, [4]. Rangkaian logika sekuensial dapat dibagi menjadi dua, yaitu synchronous dan asynchronous.

Salah satu aplikasi dari rangkaian logika sekuensial, yaitu counter, yang akan dijelaskan pada bagian berikut.

2.2

C

OUNTER

Counter adalah rangkaian logika sekuensial yang menyimpan waktu dari suatu state, dan sering dikaitkan dengan sinyal waktu, [5]. Secara singkat,

counter berfungsi sebagai rangkaian yang menghitung secara terurut, seperti 0,1,2,dst. Pada percobaan ini, fungsi kerja dari counter akan disimulasikan menggunakan clockdiv, yang menghitung lamanya waktu dalam satuan nanosekon.

2.3

F

INITE

S

TATE

M

ACHINE

Finite state machine adalah sebuah pemodelan komputasi matematika yang digunakan untuk mendesain rangkaian logika sekuensial maupun pemrograman komputer, [6].

(2)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2 Gambar 2-1 Pemodelan Finite State Machine

Perhatikan gambar (Gambar 2-1) diatas. Gambar tersebut adalah representasi dari sebuah finite state machine. Saat S1 diberikan logika 1, maka fungsi S1 akan kembali dijalankan, sedangkan saat logika S1 diberikan logika 0, maka fungsi S2 akan dijalankan. Demikian pula saat S2 diberikan logika 1, terlihat bahwa fungsi S2 akan kembali dijalankan, 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 yang digunakan kali ini adalah sebuah modul yang merepresentasikan masukkan logika FPGA kedalam tampilan warna pada layar monitor LCD. Modul ini menerima masukkan port yang ingin dinyalakan, dan mengkonversikan masukkan menjadi warna pada layar.

2.5

K

OMPILASI

F

ILE

VHDL

Pada percobaan-percobaan yang telah kita lakukan, seringkali kita membutuhkan lebih dari satu buah file dalam mensimulasikan suatu rangkaian.

Dengan menggunakan ALTERA QUARTUS II 9.0, kita cukup membuat project baru menggunakan create a new project > add files maka ketika kompilasi dijalankan, semua files yang berada dalam proyek tersebut akan terkompilasi.

Dengan menggunakan ModelSim, kita cukup mengklik file-file yang ingin kita kompilasi sambil menahan tombol Shift pada keyboard. Selanjutnya kita cukup menekan tombol compile/done, maka semua file VHDL yang ingin kita kompilasi akan ter-compile.

3. M

ETODOLOGI

3.1

A

LAT

P

ERCOBAAN

 Komputer / PC yang telah terinstall program Quartus II 9.0

 Monitor LCD

 FPGA DE-1, catudaya, kabel, serta konektor tambahan

Script VHDL yang telah dipersiapkan sebelumnya

3.2

P

ROSEDUR

P

ERCOBAAN

Percobaan ini dapat dibagi menjadi 3 bagian, yaitu implementasi desain FSM dengan FPGA, implementasi modul VGA driver, serta menggabungkan desain FSM dengan VGA driver. Pada percobaan pertama, kita akan membuat sebuah rangkaian sekuensial sederhana dari studi kasus lampu lalulintas yang telah dibuat pada tugas pendahuluan sebelumnya. Studi kasus ini menggunakan 2 script VHDL, yaitu “lampu.vhd” serta “clockdiv.vhd”.

Berikut ini adalah file script lampu.vhd yang kelompok kami digunakan:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY LAMPU is

port( DAYNIGHT : IN STD_LOGIC; ISDARURAT : IN STD_LOGIC; --Jika darurat

CLOCKIN : IN STD_LOGIC;

LED : OUT STD_LOGIC_VECTOR (5 downto 0));

END LAMPU;

ARCHITECTURE TRAFFICLIGHT OF LAMPU IS

component CLOCKDIV is –Memasukkan Clockdiv port(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;

BEGIN

TEMP: CLOCKDIV PORT MAP (CLK => CLOCKIN, DIVOUT => CLOCKASLI); --Menggabungkan Clockdiv PROCESS (CLOCKASLI,ISDARURAT,DAYNIGHT)

(3)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3 BEGIN --REPARASI KODE ISDARURAT

IF (CLOCKASLI'EVENT) AND (CLOCKASLI = '1') AND (ISDARURAT = '1') THEN

IF DARURATMODE = 0 THEN DARURATMODE := 1; HITUNG := 0; END IF;

IF (HITUNG < 2) AND (NOT (CURRENTKONDISI = S6)) THEN CURRENTKONDISI <= S5; HITUNG := HITUNG + 1; ELSE CURRENTKONDISI <= S6; HITUNG := 0; END IF; IF (HITUNG < 2) AND (CURRENTKONDISI = S6) THEN CURRENTKONDISI <= S6; HITUNG := HITUNG + 1; ELSE CURRENTKONDISI <= S5; HITUNG := 0; END IF;

ELSIF (CLOCKASLI'EVENT) AND (CLOCKASLI = '1') AND (ISDARURAT = '0') THEN

IF DARURATMODE = 1 THEN DARURATMODE := 0; CURRENTKONDISI <= S5; END IF; CASE CURRENTKONDISI IS WHEN S1 =>

IF ((HITUNG < 8) AND (DAYNIGHT = '1')) OR ((HITUNG < 4) AND (DAYNIGHT = '0')) THEN HITUNG := HITUNG + 1; CURRENTKONDISI <= S1; ELSE CURRENTKONDISI <= S2; HITUNG := 0; END IF;

LED <= "001100"; --H_US dan M_BT

WHEN S2 =>

IF ((HITUNG < 2) AND (DAYNIGHT = '1')) OR ((HITUNG < 2) AND (DAYNIGHT = '0')) THEN HITUNG := HITUNG + 1; CURRENTKONDISI <= S2; ELSE CURRENTKONDISI <= S3; HITUNG := 0; END IF;

LED <= "010100"; --K_US dan M_BT

WHEN S3 =>

IF ((HITUNG < 8) AND (DAYNIGHT = '1')) OR ((HITUNG < 4) AND (DAYNIGHT = '0')) THEN HITUNG := HITUNG + 1;

CURRENTKONDISI <= S3; ELSE CURRENTKONDISI <= S4; HITUNG := 0;

END IF;

LED <= "100001"; --M_US dan H_BT

WHEN S4 =>

IF ((HITUNG < 2) AND (DAYNIGHT = '1')) OR ((HITUNG < 2) AND (DAYNIGHT = '0')) THEN HITUNG := HITUNG + 1; CURRENTKONDISI <= S4; ELSE CURRENTKONDISI <= S1; HITUNG := 0; END IF;

LED <= "100010"; --M_US dan K_BT

WHEN S5 => IF (HITUNG < 2) THEN HITUNG := HITUNG + 1; CURRENTKONDISI <= S5; ELSE CURRENTKONDISI <= S6; HITUNG := 0; END IF;

LED <= "010010"; --Kuning menyala

WHEN S6 => IF (HITUNG < 2) THEN HITUNG := HITUNG + 1; CURRENTKONDISI <= S6; ELSE CURRENTKONDISI <= S1; HITUNG := 0; END IF;

(4)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4 LED <= "000000"; --Semua lampu mati

END CASE; END IF; END PROCESS; END TRAFFICLIGHT;

--Created by Iskandar Setiadi

Pada script tersebut, counter waktu yang digunakan adalah komponen clockdiv, yang menerima masukkan (melalui PORT MAP) “CLOCKIN”, dan mem-buffer keluaran kedalam variabel “CLOCKASLI”.

Kondisi “(CLOCKASLI'EVENT) AND

(CLOCKASLI = '1')” dipenuhi setiap kurang lebih 1 detik, sehingga variabel “HITUNG” yang digunakan akan bertambah nilainya setiap 1 detik. Selanjutnya, kita membagi rangkaian menjadi dua kemungkinan, yaitu saat mode darurat ditekan ataupun saat mode siang/malam diaktifkan. Saat mode darurat dinyalakan, maka “ISDARURAT” akan bernilai 1, yang menyebabkan lampu kuning berkedap-kedip. Jika diberi logika 0, maka rangkaian akan bergantung pada mode siang ataupun malam hari.

Gambar 3-1 Finite State Machine Percobaan Gambar 3-1 adalah sketsa kasar dari FSM yang akan kita gunakan dalam studi kasus kali ini (direpresentasikan setiap 1 detik). S1, S2, S3, dan S4 merepresentasikan kondisi saat mode darurat tidak ditekan sedangkan S5, S6 merepresentasikan saat mode darurat ditekan / lampu kuning berkedap-kedip.

S1 : Hijau_US dan Merah_BT menyala S2 : Kuning_US dan Merah_BT menyala S3 : Merah_US dan Hijau_BT menyala S4 : Merah_US dan Kuning_BT menyala S5 : Kuning_US dan Kuning_BT menyala

S6 : semua lampu dimatikan

Penjelasan lebih lanjut akan dibahas pada bagian hasil dan analisis.

Percobaan selanjutnya adalah

mengimplementasikan modul VGA driver. Pada percobaan ini, kita akan diberikan modul display “top_level_vhd” yang akan menghubungkan logika masukkan dengan tampilan pada layar LCD / monitor.

Langkah percobaannya sangat mudah, yaitu kita cukup mengkompilasi modul yang diberikan lalu me-load modul tersebut kedalam FPGA. Selanjutnya kita akan menghubungkan FPGA dengan kabel dari LCD.

Pada percobaan ketiga, kita akan menggabungkan kedua percobaan diatas, yaitu dengan menghubungkan keluaran finite machine state dengan layar LCD menggunakan modul VGA driver. Modul VGA driver yang digunakan akan kita berikan component lampu yang telah dibuat pada percobaan pertama.

4. H

ASIL DAN

A

NALISIS

Percobaan ini dibagi menjadi 3 segmen utama, yaitu mengimplementasikan desain FSM pada FPGA, mengimplementasikan modul VGA driver, serta menggabungkan desain FSM dengan VGA driver. Berikut ini adalah hasil serta analisis dari percobaan ini.

Percobaan di laboratorium berakhir pada pukul 10.53 dengan menyelesaikan percobaan 4A, 4B, dan 4C dengan sedikit kendala pada mode darurat yang digunakan.

4.1

I

MPLEMENTASI

D

ESAIN

FSM

P

ADA

FPGA

Pada percobaan ini, kita akan mengimplementasikan studi kasus yang telah kita buat dengan FPGA DE-1 board.

Clockdiv yang digunakan diberikan constant div sebesar 25.000.000 untuk rangkaian DE-1 yang memiliki frekuensi 50 MHz. Mengapa div yang diberikan adalah frekuensi dibagi 2? Hal ini dikarenakan pada kode VHDL yang kita gunakan, kita menunggu saat logika CLOCKASLI (DIVOUT pada Clockdiv) memiliki logika 1. Hal ini seperti yang terlihat pada potongan kode ” (CLOCKASLI'EVENT) AND (CLOCKASLI = '1')”. Satu waveform / gelombang yang utuh terdiri dari 1 kali logika ‘0’ dan 1 kali logika ‘1’ saat CLOCKASLI’EVENT terjadi. Perhatikan gambar berikut ini:

(5)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5 Gambar 4-1 Keluaran Clockdiv

Pada gambar 4-1 diatas, terlihat bahwa jika kita mengatur constant div sebesar 24, maka satu gelombang penuh akan terjadi pada 48, yang artinya untuk membuat event yang berubah setiap 1 detik, kita perlu mengatur constant div menjadi sekitar 25.000.000, atau setengah dari frekuensi FPGA DE-1 yang digunakan. Konstanta ini sendiri bergantung pada script yang digunakan. Jika kita menghilangkan bagian (CLOCKASLI = '1'),[7], maka kita tidak perlu menggunakan frekuensi dibagi dua diatas. Selain itu, perbedaan selisih antara 48 dengan 49.2 keluaran dikarenakan faktor lain, yaitu worst case delay yang terjadi, seperti yang telah dibahas dalam modul percobaan sebelumnya. Faktor processor FPGA 50 MHz yang tidak murni 50.000.000 proses per detik (adanya tingkat keefektifan board) juga mempengaruhi delay diatas.

Clockdiv yang dibahas diatas menjadi komponen masukkan dari script studi kasus yang telah kita buat. Sebelum diimplementasikan pada board FPGA, berikut ini adalah hasil simulasi waveform pada ModelSim (Gambar 4-2):

Gambar 4-2 Simulasi waveform pada ModelSim Perhatikan bahwa lampu LED menunjukkan angka 001100 serta 010100, yang artinya lampu Hijau_US & Merah_BT menyala serta Kuning_US & Merah_BT menyala.

Langkah selanjutnya adalah melakukan kompilasi pada ALTERA QUARTUS dan memasang Pin Planner pada rancangan desain diatas. Dengan meng-load desain ini pada FPGA, maka didapatkan hasil sebagai contoh berikut (Gambar 4-3) :

Gambar 4-3 Simulasi desain pada FPGA DE-1 Gambar diatas menunjukkan SW[2] (mode darurat) pada keadaan logika 0, SW[1] (mode siang/malam) pada keadaan logika 1 yang artinya siang hari tanpa kondisi mode darurat. Salah satu keadaan FSM yang ditampilkan diatas adalah S3, saat Merah_US dan Hijau_BT.

Pin Planner yang digunakan pada desain ini adalah:

-SW[1] untuk mode siang/malam -SW[2] untuk mode darurat

-Keluaran 6 bit pada LEDR (5 downto 0) dengan lampu terkiri merepresentasikan Merah_US dan lampu terkanan merepresentasikan Hijau_BT. Saat SW[1] diberikan logika 1, maka mode siang menyala, dan FSM akan berada diantara state S1, S2, S3, dan S4. Lama rangkaian saat S1 dan S3 adalah 8 detik, sedangkan saat S2 dan S4 adalah 2 detik. Jika SW[1] diberikan logika 0 (mode malam), maka FSM juga akan berada diantara state S1, S2, S3, dan S4. Lama rangkaian saat S1 dan S3 adalah 4 detik, sedangkan saat S2 dan S4 adalah 1 detik. Diluar dua mode tersebut, jika SW[2] / mode darurat dinyalakan (diberi logika 1), maka FSM akan memasuki state S5 dan S6. S5 dan S6 akan bergantian dengan selang waktu 1 detik.

Penjabaran dari masing-masing S1 sampai S6 telah dijelaskan pada bagian metodologi, sehingga kejadian dari setiap state dapat dibaca pada bagian tersebut.

4.2

I

MPLEMENTASI

M

ODUL

VGA

D

RIVER Pada percobaan ini, kita mengambil file yang ber-ekstensi .vhd serta .qsf dari modul yang diberikan, lalu membuat sebuah project baru di direktori yang telah kita buat. Hal selanjutnya yang kita lakukan adalah mengkompilasi semua file tersebut dan mengimplementasikannya pada FPGA board

(6)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6 yang telah disediakan, lalu mengghubungkan

VGA keluaran FPGA dengan layar LCD / monitor. Berikut ini adalah contoh tampilan board FPGA (Gambar 4-4) dan hasil tampilan di layar monitor (Gambar 4-5):

Gambar 4-4 SW[5] dan SW[0] Dinyalakan

Gambar 4-5 Hasil Tampilan pada Layar LCD Pada gambar diatas, terlihat bahwa masing-masing komponen FPGA merepresentasikan suatu kondisi lampu lalu lintas, dengan:

-SW[0] merepresentasikan Merah_US -SW[1] merepresentasikan Kuning_US -SW[2] merepresentasikan Hijau_US -SW[3] merepresentasikan Merah_BT -SW[4] merepresentasikan Kuning_BT -SW[5] merepresentasikan Hijau_BT

Gambar diatas menunjukkan kondisi saat SW[0] dan SW[5] diberikan logika 1 secara bersamaan. Hal ini dapat dilihat dari script top_level_vhd.vhd berikut: M_US <= SW(0) ; K_US <= SW(1) ; H_US <= SW(2) ; M_BT <= SW(3) ; K_BT <= SW(4) ; H_BT <= SW(5) ;

Dari uraian diatas, maka kita dapat menyimpulkan bahwa simulasi lampu lalu lintas dengan script yang telah kita buat mungkin untuk diimplementasikan, yang akan dibahas pada bagian selanjutnya.

4.3

M

ENGGABUNGKAN

D

ESAIN

FSM

D

ENGAN

VGA

D

RIVER

Percobaan ini menggabungkan desain lampu lalulintas yang telah kita buat dengan modul VGA driver yang disediakan pada percobaan 4.2 diatas. Pada file project sebelumnya, kita cukup menambahkan file clockdiv.vhd dan lampu.vhd yang telah kita buat kedalam project tersebut. Pada potongan script, terdapat komentar berikut ini:

--Rambu : Lampu port map

(CLOCK_50,SW(0),SW(1),SW(2),M_US,K_US,H_US,M_B T,K_BT,H_BT);

Hal yang perlu kita lakukan adalah menambahkan entity dari lampu.vhd kita kedalam component pada file top_level_vhd tersebut. Potongan komentar diatas menunjukkan bahwa kita cukup menghubungkan CLOCK_50 dengan masukkan Clock (dalam hal ini CLOCKIN), dan melakukan sedikit modifikasi SW(0) dan SW(1) menjadi variabel DAYNIGHT, serta SW(2) menjadi ISDARURAT pada rancangan desain lampu yang telah dibuat diatas.

M_US, K_US, H_US, M_BT, K_BT, serta H_BT merepresentasikan LED (5 downto 0) yang telah dibuat diatas. Jika semua hal diatas telah dilakukan, kita cukup melakukan kompilasi dan meng-load project diatas kedalam FPGA board yang disediakan. ENTITY top_level_vhd IS PORT( CLOCK_50 : IN STD_LOGIC; SW : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 );

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;

GPIO_0 : OUT STD_LOGIC_VECTOR( 35 DOWNTO 0 );

(7)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 7 LEDR : OUT STD_LOGIC_VECTOR( 9

DOWNTO 0 )); END top_level_vhd; --

Rambu : TRAFFICLIGHT_VHD_2 port map (SW(1),SW(0),CLOCK_50, LED_US (5 downto 0)); Potongan kode top_level_vhd diatas adalah kode akhir yang digunakan dalam menggabungkan percobaan 4A dengan 4B. Berikut ini adalah salah satu FSM state yang ditampilkan oleh layar LCD (Gambar 4-6):

Gambar 4-6 Implementasi FSM pada Layar LCD Jika pada percobaan sebelumnya (4B), kita perlu memberikan masukkan secara manual untuk setiap lampu (dengan menyalakan SW[0] dan SW[5]), pada percobaan ini sinyal diberikan secara automatic oleh desain rangkaian FSM dari studi kasus yang telah kita buat (menyala berganti-gantian sesuai state yang telah didefinisikan), dengan kita mengatur mode siang (SW[1] = 1), mode malam (SW[1] = 0), dan mode darurat (SW[0] = 0) saja. Gambar 4-6 diatas adalah salah satu representasi FSM state S3 dengan SW[1] = 0 dan SW[0] = 0.

Kita ambil contoh kasus masukkan, yaitu saat SW[1] = 0, SW[2] = 0, dan CLOCK_50 diset CLOCKIN (mode malam – tidak darurat).

4 detik pertama tampilan layar menunjukkan Hijau_US dan Merah_BT (S1)

1 detik selanjutnya tampilan layar menunjukkan Kuning_US dan Merah_BT (S2)

4 detik selanjutnya tampilan layar menunjukkan Merah_US dan Hijau_BT (S3)

1 detik selanjutnya tampilan layar menunjukkan Merah_US dan Kuning_BT (S4)

Lalu tampilan pertama kembali ditampilkan (kembali ke state S1)

5. K

ESIMPULAN

Rangkaian logika sekuensial adalah rangkaian 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 diatas menggunakan Finite State Machine, yaitu suatu metode pemodelan (dalam hal ini rangkaian Mealy) dari desain rangkaian logika sekuensial. Dalam mengimplementasikan rangkaian logika sekuensial percobaan ini, kita menggunakan dua metode implementasi, yaitu dengan implementasi langsung FSM ke FPGA DE-1 board, maupun merepresentasikan hasil keluaran ke layar LCD menggunakan modul VGA driver.

D

AFTAR

P

USTAKA

[1]

Brian Holdsworth and Clive Woods, Digital

Logic Design Fourth Edition, N.wnes, 2002

[2]

R.H. Katz, Contemporary Logic Design Second

Edition, Pearson Prentince-Hall, NJ, 2005

[3]

Stephen Brown and Zvonko Vranesic,

Fundamentals of Digital Logic with VHDL Design

Third Edition, McGraw-Hill, San Francisco,

2009

[4]

http://en.wikipedia.org/wiki/Sequential_logi

c

, 13 November 2012, pukul 20:40:15

[5]

http://en.wikipedia.org/wiki/Counter

, 13

November 2012, pukul 20:48:44

[6]

http://en.wikipedia.org/wiki/Finite_state_m

achine

, 13 November 2012, pukul 20:54:21

[7]

http://vhdlguru.blogspot.com/2010/03/digit

al-clock-in-vhdl.html

, 13 November 2012,

pukul 23:58:01

[8]

http://labdasar.ee.itb.ac.id/lab/EL2195/pen

dukung%20praktikum/de1_usermanual_v101

7.pdf

, 14 November 2012, pukul 00:01:10

Gambar

Gambar 3-1  Finite State Machine  Percobaan  Gambar  3-1  adalah  sketsa  kasar  dari  FSM  yang  akan  kita  gunakan  dalam  studi  kasus  kali  ini  (direpresentasikan  setiap  1  detik)
Gambar 4-2 Simulasi  waveform  pada ModelSim  Perhatikan  bahwa  lampu  LED  menunjukkan  angka  001100  serta  010100,  yang  artinya  lampu  Hijau_US &amp; Merah_BT menyala serta  Kuning_US
Gambar  diatas  menunjukkan  kondisi  saat  SW[0]
Gambar 4-6 Implementasi FSM pada Layar LCD  Jika  pada  percobaan  sebelumnya  (4B),  kita  perlu  memberikan  masukkan  secara  manual  untuk  setiap  lampu  (dengan  menyalakan  SW[0]  dan  SW[5]), pada percobaan ini sinyal diberikan secara  automatic  o

Referensi

Dokumen terkait

Software Quartus merupakan salah satu program untuk melakukan proses synthesis dan implementasi desain rangkaian yang telah dibuat dalam VHDL, menjadi file konfigurasi FPGA

Susunlah rangkaian logika menggunakan gerbang logika NOR (maks. 4 buah) untuk mendapatkan logika NOT, AND, OR, NAND dan EXNOR dan buktikan secara matematis

Pada percobaan yang telah dilakukan terhadap rangkaian seri, ketika kabel dihubungkan dengan baterai, nyala ketiga lampu tidak terlalu terang, dan ketika salah satu lampu dimatikan,