labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web...

16
MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL Satria Indrawan Putra (18011034) Albhikautsar Dharma Kesuma (13511058) Asisten: Luqman Muh. Zagi (13208032) Tanggal Percobaan: 06/12/12 EL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak Pada percobaan ini, dilakukan pembuatan proyek rancangan rangkaian digital, di mana praktikan membuat sebuah rangcangan rangkaian yang mencakup seluruh praktikum sebelum ini yang diimplementasikan dengan aplikasi dengan FPGA dan display LCD. Proyek yang dibuat oleh praktikan adalah game labirin. Kata kunci: LCD, VGA, FPGA 1. PENDAHULUAN Praktikum ini adalah proyek rancangan praktikan yang merupakan semacam program yang dijalankan dengan menggunakan board FPGA dan ditampilkan di display LCD. Yang dibuat oleh praktikan adalah sebuah game labirin, di mana pemain harus menggerakkan sebuah kotak dari garis start menuju garis finish dengan menggunakan tombol di board FPGA. Tujuan dari praktikum ini adalah untuk menspesifikasikan suatu sistem digital sederhana dan untuk mengalasi sisem yang sedan dikerjakan. 2. STUDI PUSTAKA 2.1. Pemilihan Proyek Standar Percobaan ini terdiri dari tahapan desain, implementasi, dan pengujian sistem yang dibuat oleh tim Anda. Diharapkan proyek Anda dapat selesai pada waktu yang ditentukan. Anda dapat menentukan sendiri proyek yang anda buat. Persyaratan proyek tersebut: 1. Menggunakan satu atau lebih interface yang ada di board: VGA, sound card (AUDIO CODEC), LCD, USB, koneksi serial, atau lainnya

Transcript of labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web...

Page 1: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL

Satria Indrawan Putra (18011034)Albhikautsar Dharma Kesuma (13511058)

Asisten: Luqman Muh. Zagi (13208032)Tanggal Percobaan: 06/12/12

EL2195-Praktikum Sistem DigitalLaboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan

Informatika ITBAbstrak

Pada percobaan ini, dilakukan pembuatan proyek rancangan rangkaian digital, di mana praktikan membuat sebuah rangcangan rangkaian yang mencakup seluruh praktikum sebelum ini yang diimplementasikan dengan aplikasi dengan FPGA dan display LCD. Proyek yang dibuat oleh praktikan adalah game labirin.Kata kunci: LCD, VGA, FPGA

1. PENDAHULUANPraktikum ini adalah proyek

rancangan praktikan yang merupakan semacam program yang dijalankan dengan menggunakan board FPGA dan ditampilkan di display LCD. Yang dibuat oleh praktikan adalah sebuah game labirin, di mana pemain harus menggerakkan sebuah kotak dari garis start menuju garis finish dengan menggunakan tombol di board FPGA. Tujuan dari praktikum ini adalah untuk menspesifikasikan suatu sistem digital sederhana dan untuk mengalasi sisem yang sedan dikerjakan.

2. STUDI PUSTAKA

2.1. Pemilihan Proyek StandarPercobaan ini terdiri dari

tahapan desain, implementasi, dan pengujian sistem yang dibuat oleh tim Anda. Diharapkan proyek Anda dapat selesai pada waktu yang ditentukan. Anda dapat menentukan sendiri proyek yang anda buat. Persyaratan proyek tersebut:

1. Menggunakan satu atau lebih interface yang ada di board: VGA, sound card (AUDIO CODEC), LCD, USB, koneksi serial, atau lainnya

2. Interaktif: mempunyai input, push button, mouse, keyboard, atau lainnya

3. Mempunyai bagian FSM4. Sedikitnya terdiri dari 3

blok2.2. Petunjuk Desain

1. Anda wajib menggunakan VHDL dalam penegerjaan tugas Anda. Disarankan menggunakan pendekatan struktural bukan behavioral.

2. Import pin assignment/buat pin assignment baru seperti percobaan sebelumnya

Page 2: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

untuk menspesifikasikan lokasi pin.

3. METODOLOGILangkah-langkah yang dilakukan

praktikan dalam mengerjakan proyek ini adalah:

1. Mencari data-data yang perlu untuk implementasi proyek ini, di antaranya adalah source code-source code dasar seperti display_vhd, vga_vhd, dan lain-lain.

2. Membuat source code utama, yaitu TUBES.vhd, di mana state-state proyek dinyatakan di sini. State-nya mencakup: state saat pemain menekan tombol arah (kanan, kiri, atas, bawah), state saat kotak digerakkan melebihi batas labirin, dan state di mana game akan di-reset dan kotak kembali ke garis start.

3. Membuat souce code tambahan yaitu pointer.vhd yaitu sebagai kotak yang akan digerakkan dan labirin.vhd sebagai bentuk labirinnya.

4. Simulasi di lab, ternyata masih terdapat beberapa kesalahan pada kode yang kami buat, di mana pernyataan warna dari pointer.vhd dan labirin.vhd tidak bisa digunakan bersama, sehingga kami harus menggabung kode pointer dan labirin.

Berikut kami lampirkan FSM (Finite State Machine) dari proyek yang kami kerjakan

Dan juga ilustrasi dari blok diagram yang kamu gunakan dalam proyek kami

4. HASIL DAN ANALISISBerikut ini adalah hasil

implementasi proyek kami pada display LCD:

Page 3: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

Spesifikasi game:Game ini dimainkan dengan

menggunakan tombol di FPGA. Tombol yang digunakan adalah KEY0 sebagai arah kanan, KEY1 sebagai arah bawah, KEY2 sebagai arah atas, dan KEY3 sebagai arah kiri. Kotak harus digerakkan dari garis start di tengah menuju garis finish di pojok kiri bawah tanpa melebihi batas dari labirin. Apabila kotak digerakkan melebihi batas labirin, game akan me-reset dan kotak kembali pada posisi semula yaitu di garis start. Apabila kotak berhasil digerakkan menuju garis finish, keadaannya sama seperti apabila kotak digerakkan melewati batas labirin, yaitu game reset.

Ada enam buah state dari proyek yang kami buat, berikut akan kami jelaskan bagaimana keberjalanan dalam state tersebut.State 1 (S1) adalah state dimana kotak dalam keadaan diam menunggu untuk masukan dari pengguna yang nantinya akan menentukan kemana kotak akan begerak.

State 2 (S2). State ini akan menentukan apakah kotak akan bergerak ke kanan atau akan melebihi dari labirin yang sudah ditentukan. Apabila kotak masih dapat bergerkan maka akan kembali ke (S1) namun apabila kotak melewati batas labirin, permainan ini akan masuk ke state 6 (S6).State 3 (S3). State ini akan menentukan apakah kotak akan bergerak ke kiri atau akan melebihi dari labirin yang sudah ditentukan. Apabila kotak masih dapat bergerkan maka akan kembali ke (S1) namun apabila kotak melewati batas labirin, permainan ini akan masuk ke state 6 (S6). State (S4). State ini akan menentukan apakah kotak akan bergerak ke atas atau akan melebihi dari labirin yang sudah ditentukan. Apabila kotak masih dapat bergerkan maka akan kembali ke (S1) namun apabila kotak melewati batas labirin, permainan ini akan masuk ke state 6 (S6).State 5 (S5). State ini akan menentukan apakah kotak akan bergerak ke bawahatau akan melebihi dari labirin yang sudah ditentukan. Apabila kotak masih dapat bergerkan maka akan kembali ke (S1) namun apabila kotak melewati batas labirin, permainan ini akan masuk ke state 6 (S6).State 6 (S6) adalah state dimana kotak sudah melewati batas dari labirin. Pada state 6 ini permainan akan direset dan akan dikembalikan pada posisi awal kotak diletakan. Keseluruan state akan kembali ke state 1 untuk menunggu masukan dari user.

Page 4: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

Dalam pembuatan labirin tersebut digunakan sebuah file yang sudah kami buat yang bernama “tubes.vhd”. File ini secara garis besar sama dengan color_rom_vhdl.vhd yang digunakan pada praktikum sebelumnya yang berguna untuk membuat batasan-batasan dari labirin yang akan dibuat. Digunakan pula “clockdiv.vhd” yang berguna untuk membuat timing sehingga kotak dapat bergerak.

Untuk desain labirin, hasil sudah sesuai dengan spesifikasi yang diharapkan, namun penggerakkan kotak tidak berhasil, sehingga pe-reset-an game saat kotak digerakkan melewati batas labirin dan kondisi finish tidak diketahui.

Pengnujian untuk untuk mengecek keberhasilan proyek kami adalah dengan berhasilnya menjalankan kotak dari garis start sampai garis finish dan kotak keluar dari batas yang sudah ditentukan untuk mengetes keberhasilan reset dari proyek kami.

Hasil dari proyek kami tidak sesuai dengan spec yang kami inginkan karena permainan kami tidak dapat berlangsung dengan baik karena kotak tidak dapat bergerak dari tempat yang dimaksud.

Analisis:Desain labirin dan posisi kotak

sukses dimplementasikan di display LCD. Sayangnya, kotak tidak dapat digerakkan. Analisis kami adalah, sepertinya terdapat kesalahan kode dalam state-nya, yaitu state saat pemain menekan tombol arah pada FPGA.

Selanjutnya, state ketika kotak digerakkan melebihi batas labirin juga tidak bisa dilihat berjalan atau tidak karena kotak yang tidak bisa digerakkan tersebut. Kesalahan pada pendesaianan proyek kami pula terjadi kesalahan dalam pemanggilan kode-kode portmap yang menyebabkan kotak tidak dapat bergerak sebagaimana mustinya.

Dalam proyek besar ini, kami tidak dapat membuat hasil simulasi maupun video tentang bagaimana permainan ini berlangsung dikarenakan hal yang sudah disebutkan diatas.

Pembagian tugas dalam pembuatan proyek ini adalah bahwa kami berdua masing-masing saling membantu dalam pengerjaan kode vhdl, pembuatan laporan, maupun pada saat perbaikan-perbaikan kode vhdl pada saat praktikum pertama dan kedua dalam pengerjaan proyek ini. Tidak ada seseorang yang lebih berat bekerja.

5. KESIMPULANMengassign portmap adalah hal

yang sangat penting dalam pengkodean dan pengimplementasian pada FPGA. Proyek kami sebagian besar salah dikarenakan kegagalan dalam pemanggilan variabel-variabel yang digunakan dalam pengkodean vhdl ini. Jadi pada sampai halnya bahwa proyek kami tidak dapat dijalankan dengan sebagaimana mustinya, sehingga permainan ini tidak dapat dijalankan.

DAFTAR PUSTAKA

[1] Mervin T. Hutabarat, Praktikum Sistem Digital EL-

Page 5: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

2195, Laboratorium Dasar Teknik Elektro, Bandung, 2012.

Page 6: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

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

ENTITY tubes ISPORT( CLOCK_50 : IN STD_LOGIC; KEY : IN STD_LOGIC_VECTOR( 3 DOWNTO

0 ); i_pixel_rowkotak : INOUT STD_LOGIC_VECTOR( 9 DOWNTO 0 ); i_pixel_columnkotak : INOUT 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 ));END tubes;

ARCHITECTURE behavioral OF tubes ISTYPE executionStage IS (s1,s2,s3,s4,s5,s6);SIGNAL state : executionStage;SIGNAL BA,BB,BL,BR : STD_LOGIC_VECTOR( 9 DOWNTO 0 );SIGNAL red_color : STD_LOGIC_VECTOR( 7 DOWNTO 0 );SIGNAL green_color : STD_LOGIC_VECTOR( 7 DOWNTO 0 );SIGNAL blue_color : STD_LOGIC_VECTOR( 7 DOWNTO 0 );SIGNAL BA2, BB2, BL2, BR2 : STD_LOGIC_VECTOR( 9 DOWNTO 0 );SIGNAL x : STD_LOGIC_VECTOR( 9 DOWNTO 0 );SIGNAL y : STD_LOGIC_VECTOR( 9 DOWNTO 0 );SIGNAL DIV : bit;

COMPONENT display_vhd ISPORT( i_clk : 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);

END COMPONENT;

COMPONENT Labirin IS

Page 7: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

PORT( i_clk : IN STD_LOGIC;

BA,BB,BL,BR : IN STD_LOGIC_VECTOR(9 DOWNTO 0);i_pixel_column : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 );

i_pixel_rowkotak : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 ); i_pixel_columnkotak : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 );

i_pixel_row : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 ); o_red : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 ); o_green : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 ); o_blue : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 ));

END COMPONENT;

COMPONENT CLOCKDIV ISPORT( CLK: IN std_logic;

DIVOUT: buffer BIT);END COMPONENT;

BEGINTEST : CLOCKDIV PORT MAP (DIVOUT => DIV, CLK => CLOCK_50);PROCESS (KEY(3), KEY(2), KEY(1), KEY(0), state) --3 kanan 2 kiri 1 atas 0 bawahBEGINif (DIV'event and DIV = '1') then --current state

case state iswhen s1 => IF (KEY(3)='0' AND KEY(2)='1' AND

KEY(1)='1' AND KEY(0)='1') THENstate <= s2; --kananelsif (KEY(3)='1' AND KEY(2)='0' AND

KEY(1)='1' AND KEY(0)='1') THENstate <= s3; --kirielsif (KEY(3)='1' AND KEY(2)='1' AND

KEY(1)='0' AND KEY(0)='1') THENstate <= s4; --ataselsif (KEY(3)='1' AND KEY(2)='1' AND

KEY(1)='1' AND KEY(0)='0') THENstate <= s5; --bawahEND IF;

when s2 =>IF (((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 30) --kanan

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 260)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 610) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 400) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 450) AND (i_pixel_columnkotak<= 510)

Page 8: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 390))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 150)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 350)

AND (i_pixel_rowkotak>= 240) AND (i_pixel_rowkotak<= 350))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 190))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 330) AND (i_pixel_rowkotak<= 450))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 470)

AND (i_pixel_rowkotak>= 450) AND (i_pixel_rowkotak<= 470))

--likalikukehidupanOR((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 320)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 50))OR ((i_pixel_columnkotak>= 300) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 340) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 340)AND (i_pixel_rowkotak>= 60) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 80) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 280) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 100) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 380) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 100))) THEN

Page 9: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

i_pixel_columnkotak <= i_pixel_columnkotak+ 1;state <= s1;ELSEstate <= s6;END IF;

when s3 => IF (((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 30) --kiri

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 260)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 610) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 400) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 450) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 390))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 150)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 350)

AND (i_pixel_rowkotak>= 240) AND (i_pixel_rowkotak<= 350))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 190))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 330) AND (i_pixel_rowkotak<= 450))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 470)

AND (i_pixel_rowkotak>= 450) AND (i_pixel_rowkotak<= 470))

--likalikukehidupanOR((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 320)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 50))OR ((i_pixel_columnkotak>= 300) AND

Page 10: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 340) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 340)AND (i_pixel_rowkotak>= 60) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 80) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 280) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 100) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 380) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 100))) THENi_pixel_columnkotak<= i_pixel_columnkotak- 1;state <= s1;ELSEstate <= s6;END IF;

when s4 => IF (((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 30) --atas

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 260)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 610) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 400) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 450) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 390))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 150)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 350)

AND (i_pixel_rowkotak>= 240) AND

Page 11: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

(i_pixel_rowkotak<= 350))OR ((i_pixel_columnkotak>= 90) AND

(i_pixel_columnkotak<= 510)AND (i_pixel_rowkotak>= 130) AND

(i_pixel_rowkotak<= 190))OR ((i_pixel_columnkotak>= 290) AND

(i_pixel_columnkotak<= 510)AND (i_pixel_rowkotak>= 330) AND

(i_pixel_rowkotak<= 450))OR ((i_pixel_columnkotak>= 90) AND

(i_pixel_columnkotak<= 470)AND (i_pixel_rowkotak>= 450) AND

(i_pixel_rowkotak<= 470))--likalikukehidupanOR((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 320)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 50))OR ((i_pixel_columnkotak>= 300) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 340) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 340)AND (i_pixel_rowkotak>= 60) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 80) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 280) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 100) AND

(i_pixel_rowkotak<= 120))OR ((i_pixel_columnkotak>= 380) AND

(i_pixel_columnkotak<= 400)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 100))) THENi_pixel_rowkotak<= i_pixel_rowkotak- 1;state <= s1;ELSEstate <= s6;END IF;

when s5 => IF (((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 30) --bawah

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

Page 12: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

OR ((i_pixel_columnkotak>= 10) AND (i_pixel_columnkotak<= 260)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 610) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 400) AND (i_pixel_columnkotak<= 630)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 30))

OR ((i_pixel_columnkotak>= 450) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 390))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 150)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 470))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 350)

AND (i_pixel_rowkotak>= 240) AND (i_pixel_rowkotak<= 350))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 130) AND (i_pixel_rowkotak<= 190))

OR ((i_pixel_columnkotak>= 290) AND (i_pixel_columnkotak<= 510)

AND (i_pixel_rowkotak>= 330) AND (i_pixel_rowkotak<= 450))

OR ((i_pixel_columnkotak>= 90) AND (i_pixel_columnkotak<= 470)

AND (i_pixel_rowkotak>= 450) AND (i_pixel_rowkotak<= 470))

--likalikukehidupanOR((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 280)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 320)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 50))OR ((i_pixel_columnkotak>= 300) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 10) AND

(i_pixel_rowkotak<= 30))OR ((i_pixel_columnkotak>= 340) AND

(i_pixel_columnkotak<= 360)AND (i_pixel_rowkotak>= 30) AND

(i_pixel_rowkotak<= 80))OR ((i_pixel_columnkotak>= 260) AND

(i_pixel_columnkotak<= 340)

Page 13: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

AND (i_pixel_rowkotak>= 60) AND (i_pixel_rowkotak<= 80))

OR ((i_pixel_columnkotak>= 260) AND (i_pixel_columnkotak<= 280)

AND (i_pixel_rowkotak>= 80) AND (i_pixel_rowkotak<= 120))

OR ((i_pixel_columnkotak>= 280) AND (i_pixel_columnkotak<= 400)

AND (i_pixel_rowkotak>= 100) AND (i_pixel_rowkotak<= 120))

OR ((i_pixel_columnkotak>= 380) AND (i_pixel_columnkotak<= 400)

AND (i_pixel_rowkotak>= 10) AND (i_pixel_rowkotak<= 100))) THEN

i_pixel_rowkotak<= i_pixel_rowkotak+ 1;state <= s1;ELSEstate <= s6;END IF;

when s6 =>i_pixel_columnkotak<= "0000110000";i_pixel_rowkotak<= "0000110000";state <= s1;

end case;END IF;END PROCESS;

PROCESS (i_pixel_columnkotak, i_pixel_rowkotak)BEGINBA2 <= i_pixel_columnkotak;BB2 <= i_pixel_columnkotak + 10;BL2 <= i_pixel_rowkotak;BR2 <= i_pixel_rowkotak + 10;END PROCESS;

module_vga : display_vhd PORT MAP ( i_clk => CLOCK_50, VGA_R => VGA_R, VGA_G => VGA_G, VGA_B => VGA_B, VGA_HS => VGA_HS, VGA_VS => VGA_VS, VGA_CLK => VGA_CLK, VGA_BLANK => VGA_BLANK);

color_rom0 : Labirin PORT MAP ( i_clk => CLOCK_50, i_pixel_rowkotak => i_pixel_rowkotak, i_pixel_columnkotak => i_pixel_columnkotak, BA => BA2, BB => BB2,

Page 14: labdasar.ee.itb.ac.idlabdasar.ee.itb.ac.id/lab/EL2102 - Sistem Digital/2012... · Web viewEL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro

BL => BL2, BR => BR2, o_red => red_color, o_green => green_color, o_blue => blue_color);

clock0 : clockdivport map (

clk => CLOCK_50,divout => div);

END behavioral;