Pengenalan FPGA oleh Iman Taufik Akbar

dokumen-dokumen yang mirip
BAB 3. Perancangan Sistem

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 3 Stopwatch

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 4 Kalkulator 4-bit

Teknologi Implementasi dan Metodologi Desain Sistem Digital

Perancangan Aritmetic Logic Unit (ALU) pada FPGA

1 Tujuan dan Sasaran. 2 Alat dan Bahan. 3 Dasar Teori. Praktikum Sistem Digital Lanjut Percobaan 3: Dekoder 3-ke-8 dan Demultiplekser 1-ke-8

TUTORIAL PEMROGRAMAN PADA FPGA XILINX VIRTEX 5 ML506 BOARD

QUARTUS DAN CARA PENGGUNAANNYA

LAB #3 PENGENALAN VHDL DAN PEMROGRAMAN IC GAL MENGGUNAKAN ALL-11 UNIVERSAL PROGRAMMER

TUTORIAL. Tabel Kebenaran Full Adder : Cin B A Sum Cout

Praktikum Sistem Digital Lanjut 1 Tujuan dan Sasaran 2 Alat dan Bahan 3 Dasar Teori

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL

MODUL II Perancangan FPGA untuk Implementasi Rangkaian Sequential dan Kombinational

BAHASA PEMROGRAMAN VHDL

1 Tujuan dan Sasaran. 2 Alat, Software Bantu dan Komponen. 3 Dasar Teori

Percobaan IV PENGENALAN VHDL

BAB 4 IMPLEMENTASI DAN EVALUASI

PENGEMBANGAN PROJECT MICROCONTROLLER DENGAN ARDUINO IDE

Read Only Memory (ROM) berbasis Field Programmable Gate Array (FPGA) menggunakan VHDL (VHSIC Hardware Description Language)

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

Lampu lalu lintas sederhana berbasis Field Programmable Gate Array (FPGA) menggunakan Finite State Machine

Belajar mikrokontroler Arduino untuk tingkat Pemula.

Pengenalan VHDL. [Pengenalan VHDL]

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL 2. STUDI PUSTAKA

MULTIPLEKSER BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB II SIMULATOR XILINX PADA RANGKAIAN DIGITAL SEDERHANA

Prosedur Program. Pada topik ini akan dijelaskan langkah-langkah dalam proses instalasi driver USB pada Windows XP adalah sebagai berikut dibawah ini:

BAB 4 ANALISA PENGUJIAN PROGRAM 4.1. PROSES PERANCANGAN PROGRAM BASCOM-8051

Membuat Project dengan CodeVisionAVR.

Dalam pengoperasiannya ada tiga jenis pengoperasian yang harus dilakukan pada stasiun bumi pemantau gas rumah kaca ini, yaitu :

PENDAHULUAN TENTANG NETBEANS

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III PERANCANGAN ALAT

DEKODER BINER KE DESIMAL BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

BAB IV HASIL DAN UJI COBA

Menuntun Anda membuat sketch HelloWorld. Menjelaskan diagram alir pemrograman HelloWorld. Menjelaskan cara memprogram Arduino

BAB IV PEMBAHASAN DAN ANALISA PEMROGRAMAN PADA PLC DAN SOFTWARE WONDERWARE. 4.1 Membuat Program Dalam Bentuk Ladder Pada PLC LS Glofa

AT89 USB ISP Trademarks & Copyright

BAB 4 IMPLEMENTASI DAN EVALUASI. selanjutnya perancangan tersebut diimplementasikan ke dalam bentuk yang nyata

PANDUAN PENGGUNAAN PRODUK

BAB IV HASIL DAN PEMBAHASAN

Delphi Cara membuka aplikasi Delphi 7. Start All Programs Borland Delphi 7 Delphi Perkenalan jendela Delphi 7. syahada.blogspot.

BAB IV HASIL DAN UJI COBA

Instalasi & Konfigurasi MySQL Server

BAB 4 IMPLEMENTASI DAN EVALUASI Implementasi Program Simulasi. mengevaluasi program simulasi adalah sebagai berikut :

ELKAHFI 200 TELEMETRY SYSTEM

BAB III PERANCANGAN DAN PEMODELAN

Instalasi IBM Storage DS3000 pada Windows Server 2008 Haruno Sajati, S.T. Jurusan Teknik Elektro STT Adisutjipto

Membuat File Database & Tabel

MATERI PELATIHAN VHDL UNTUK SINTESIS

BAB III ANALISIS MASALAH DAN RANCANGAN ALAT

Rekomendasi Min Perangkat Keras. Prosesor dual core 1.5 GHz RAM 2 GB Monitor 10 " VGA Onboard Keyboard PS2 Mouse PS2

BAB IV ANALISA DAN PENGUJIAN ALAT

PRAKTIKUM MATA KULIAH MIKROPROSESSOR DAN BAHA ASSEMBLY INPUT/OUTPUT PADA ARDUINO

SISTEM PENDETEKSI WARNA DAN NOMINAL UANG UNTUK PENYANDANG TUNA NETRA BERBASIS ARDUINO UNO

PERCOBAAN I PENGENALAN CODEVISION AVR

Aegis Padlock Portable Secure Hard Drive...5. Isi Kemasan Tombol Panel Aegis Padlock...6. Aegis Padlock Permulaan...6. Sebelum penggunaan...

BAB 4 IMPLEMENTASI DAN EVALUASI. evaluasi dari sistem yang telah dibuat dan dijelaskan pada Bab 3.

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. pengujian perangkat lunak (software) dan kinerja keseluruhan sistem, serta analisa

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

Pembuatan Report menggunakan JasperReports dan ireport

PROGRAMMABLE LOGIC CONTROLER (PLC)

BAB IV HASIL DAN UJI COBA

Bab I Pengenalan Visual BASIC

SP-1101W/SP-2101W Panduan Instalasi Cepat

1. Pendahuluan. 2. Tujuan. 3. Gambaran Disain. MODUL 1 Code Composer Studio Basic

Pemrograman Visual (Borland Delphi 7.0)

BAB III PERANCANGAN. 3.1 Perancangan Alat Kuisioner dengan Wireless Elektronika Berbasis

PEMROGRAMAN MIKROKONTROLER

PELATIHAN EAGLE DESIGN SCHEMATIC AND LAYOUT

USB PROGRAMMER (USBasp)

Reni Nuraeni,ST,M.Pd (widyaiswara Muda)

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

BAB III ANALISIS DAN PERANCANGAN SISTEM

LAPORAN PRAKTIKUM TEKNIK KENDALI DIGITAL PERCOBAAN 1 PERANGKAT MASUKKAN DAN KELUARAN ARDUINO UNO. DOSEN : DR. Satria Gunawan Zain, M.

Gerbang logika ini akan dijelaskan lebih detil pada bagian 4. AND A B Y OR Y A B Y NOT AND NOT

BAB I PENDAHULUAN. Gambar 1.1 : Xilinx Foundation Series

BAB IV HASIL DAN UJI COBA

PERANCANGAN SISTEM DIGITAL DENGAN ALTERA UP 2 CPLD BOARDS dan VHDL (Very high speed integrated circuits Hardware Description Language)

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

MENGOPERASIKAN SISTEM OPERASI

PERANCANGAN FILTER FIR MENGGUNAKAN SOFTWARE XILINX ISE 9.2i

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB 3 PERANCANGAN ALAT DAN PROGRAM

DISAIN DAN IMPLEMENTASI RANGKAIAN ELEKTRONIKA DENGAN TEKNOLOGI FPGA (Field Programble Gate Array)

AVR USB ISP Trademarks & Copyright

Output LED. Menggunakan Arduino Uno MinSys

PROGRAMMABLE LOGIC DEVICES

Trademarks & Copyright

BAB III METODOLOGI PENELITIAN

Control Engineering Laboratory Electrical Engineering Department Faculty of Electrical Technology Institut Teknologi Sepuluh Nopember

1. MENGENAL VISUAL BASIC

Berinternet Melalui Ponsel CDMA

BAB I. 1 P e m r o g r a m a n V i s u a l B a s i c - J a t i L e s t a r i

Transkripsi:

Pengenalan FPGA oleh Iman Taufik Akbar Tutorial singkat ini akan membahas mengenai FPGA (Field Programmable Gate Array). Adapun FPGA yang akan digunakan adalah produk dari Digilent yang menggunakan Xilinx Virtex-5. Berikut adalah penampakan dari development kit tersebut: Anda terlebih dahulu perlu mengunduh perangkat lunak pendukung untuk development board tersebut yaitu digilent adept, dan dapat Anda temukan pada link berikut ini: http://www.digilentinc.com/products/detail.cfm?navpath=2,66,828&prod=adept2

Berikut ini adalah tampilan halaman yang akan Anda temukan pada link tersebut: Unduh sesuai dengan sistem operasi yang Anda gunakan. Pada tutorial ini digunakan v2.13.1 untuk sistem operasi Microsoft Windows. Setelah itu, lanjutkan dengan proses instalasi yang tampilannya seperti ini:

Bisa terlihat pada gambar instalasi tersebut, pada sudut kanan atas bagian Connect berisi informasi bahwa development kit yang digunakan belum terkoneksi ( No Device Connected ). Untuk melakukan koneksi, terlebih dahulu geser saklar pada development kit ke posisi off (lingkaran merah pada gambar), lalu pasang konektor mikro USB pada development kit yang ditandai dengan tulisan DIGILENT USB (lingkaran hijau pada gambar). Berikut ini adalah gambarnya: Setelah itu, pilihlah kaki adaptor yang sesuai dengan yang Anda gunakan, lalu pasang dengan cara menggesernya sesuai dengan arah panah pada gambar berikut ini hingga terdengar suara klik. Lalu pasang ujung kabel adaptor pada development kit seperti pada gambar berikut ini:

Setelah kabel adaptor terpasang, lanjutkan dengan menggeser saklar ke posisi On. Dan kembali ke proses instalasi perangkat lunak. Masih pada jendela instalasi, pada bagian Connect, pilih Genesys seperti pada gambar berikut ini: Setelah proses inisialisasi selesai, lanjutkan dengan fitur pengetesan. Pada window instalasi, pilih tab Test seperti pada gambar berikut:

Pada bagian tersebut, Anda cukup menekan tombol Start Test, maka proses instalasi akan melakukan test pada development board seperti pada gambar berikut ini: Pada gambar di atas, bisa terlihat bahwa ketika test dimulai, semua led indikator pada development board menyala (dengan catatan semua saklar berada pada posisi di atas). Selain itu, terlihat juga pada LCD muncul tulisan GENESYS User Test Started. Dari sini, Anda dapat mencoba untuk menggeser saklar SW0 hingga SW7 untuk melihat apa yang akan terjadi dengan indikator led dan LCD. Selain itu Anda juga dapat menekan tombol BTN0, BTN1 dan BTN3 untuk melihat apakah tombol-tombol tersebut berfungsi dengan baik. Perlu dicatat bahwa untuk BTN3, Anda dapat menggesernya ke arah atas, bawah, kiri dan kanan. Setelah proses instalasi selesai, Anda dapat melanjutkan dengan memilih bahasa pemrograman yang akan digunakan. Bahasa yang umum digunakan untuk pemrograman FPGA adalah VHDL dan Verilog. Jika dilihat secara sepintas, Verilog agak mirip dengan bahasa C, sedangkan VHDL lebih mirip dengan bahasa pemrograman Ada. Adapun untuk teks editor, Anda dapat menggunakan teks editor yang Anda sukai, namun untuk memudahkan, Anda dapat menggunakan teks editor bawaan dari IDE Xilinx ISE. Anda dapat mengunduh aplikasi Xilinx ISE Design Suite (pada saat tutorial ini dibuat v14.7) pada halaman berikut ini: http://www.xilinx.com/support/download.html Perlu diingat bahwa aplikasi tersebut adalah aplikasi berbayar, namun tetap dapat digunakan dengan batasan waktu eksekusi binary yang dihasilkan dari proses kompilasi. Selain aplikasi tersebut, terdapat juga aplikasi lain yaitu Xilinx ISE WebPack Design Software yang sifatnya Free dan cukup untuk development. Aplikasi Xilinx ISE WebPack dapat diunduh pada halaman berikut ini: http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm

Setelah mengunduh aplikasi Xilinx ISE Design Suite ataupun Xilinx ISE WebPack, Anda perlu untuk mengunduh reference manual dari development kit yang digunakan. Berikut ini adalah halaman dimana Anda dapat mengunduh reference manual tersebut: http://www.digilentinc.com/data/products/genesys/genesys_rm_vc.pdf Setelah mengunduh reference manual tersebut, Anda dapat memulai dengan melihat wiring diagram untuk input dan output (I/O) development kit yang digunakan. Pada reference manual tersebut, terdapat pada halaman 18 untuk referensi Switch, Reset, BTN, dan Led seperti pada gambar berikut ini: Dengan melihat gambar di atas, kita dapat mengetahui wiring diagram antara Switch, BTN, maupun Led dengan FPGA Xilinx Virtex yang digunakan oleh development kit ini. Selanjutnya adalah memulai proses pemrograman. Adapun format standar untuk pemrograman menggunakan bahasa VHDL adalah sebagai berikut:

Bahasa pemrograman VHDL tidak mengenal case sensitive, jadi A sama dengan a dan lain sebagainya. Untuk program pertama yang akan kita buat adalah program untuk menyalakan led LD0 yang berada pada alamat AG8 seperti yang dapat dilihat pada gambar wiring diagram di halaman terdahulu. Pada aplikasi ISE Designer, pilih menu File -> New Project. Lalu masukkan nama dan lokasi dimana file akan disimpan seperti pada gambar berikut ini: Setelah itu, tekan tombol Next, dan pada halaman berikutnya akan muncul tampilan seperti ini: Pada halaman ini, beberapa informasi yang harus diisi dapat dilihat pada informasi yang disertakan bersama development kit. Informasi tersebut diantaranya, family Virtex5, device XC5VLX50T, package FF1136, dan preferred language diisi VHDL. Untuk lebih lengkapnya mengenai cara membaca label IC

FPGA Xilinx, dapat dilihat pada ebook Xilinx Virtex-5 FPGA Packaging and Pinout Specification yang dapat diunduh pada link berikut ini: http://www.xilinx.com/support/documentation/data_sheets/ds202.pdf Setelah menekan tombol Next pada halaman tersebut, akan muncul halaman ringkasan mengenai informasi yang telah dimasukkan, pada halaman ini tekan tombol Finish. Sekarang, kita akan mulai melakukan pemrograman. Pada bagian toolbar, pilih menu Project -> New Source. Kemudian pilih VHDL module, dan masukkan nama file, lalu tekan tombol Next, maka akan muncul halaman entity. Pada halaman entity cukup tekan tombol Next karena untuk program awal ini tidak akan digunakan, lalu terakhir tekan tombol Finish. Berikut ini adalah listing program yang akan kita gunakan: Setelah menuliskan program di atas, kita harus menentukan lokasi Led0. Caranya adalah, pilih menu Project -> New Source -> Implementation Constraints File. Kemudian masukkan nama file pada text

box Filename. Tekan tombol Next lalu tekan tombol Finish. Setelah itu, masukkan pada teks editor baris berikut ini: Setelah itu simpan semua file dengan memilih menu Save All. Lalu pada tab Design, pilih Generate Programming File dan double klik serta tunggu beberapa saat hingga selesai. Jika telah selesai, maka pada panel Design akan terlihat bahwa Synthesize, Implement Design dan Generate Programming File akan berubah menjadi hijau semua, berikut ini adalah tampilan panel Design: Sampai pada langkah ini, terdapat dua jenis file yang telah dibuat, yaitu file berjenis *.vhd yang digunakan untuk menuliskan program, dan file berjenis *.ucf dimana kita menuliskan alamat I/O yang akan kita gunakan yaitu pada contoh ini Led0 berada pada pin AG8. Selanjutnya adalah melakukan upload program yang telah kita buat tersebut ke development kit. Untuk itu, kita akan menggunakan aplikasi Digilent Adept. Pada tab Config, pilih Browse, lalu arahkan ke lokasi dimana project yang kita buat tadi berada dan pilih file yang memiliki ekstensi *.bit, lalu tekan tombol Open. Setelah itu, kembali pada tab Config pada aplikasi Digilent Adept, tekan tombol Program dan tunggu hingga prosesnya selesai. Secara normal, apabila proses download ke FPGA telah selesai, maka led berwarna merah yang posisinya dekat tombol reset akan menyala seperti pada gambar berikut:

Sekarang, kita dapat melihat hasil eksekusi program yang telah kita buat tadi, yaitu led pada Led0 akan menyala seperti ini: Pada program selanjutnya, kita akan menyalakan led dari Led0 hingga Led7. Berikut ini adalah listing programnya: library IEEE; use IEEE.STD_LOGIC_1644.ALL; entity Led0_Led7 is port( LED: out std_logic_vector(7 downto 0)); end Led0_Led7; architecture Behavioral of Led0_Led7 is begin LED <= (others => '1'); end Behavioral;

Dan berikut ini adalah listing untuk implementation constraints: NET LED<0> LOC = AG8 ; NET LED<1> LOC = AH8 ; NET LED<2> LOC = AH9 ; NET LED<3> LOC = AG10 ; NET LED<4> LOC = AH10 ; NET LED<5> LOC = AG11 ; NET LED<6> LOC = AF11 ; NET LED<7> LOC = AE11 ; Setelah menuliskan ke-dua file tersebut, lanjutkan dengan langkah generate dan download hasilnya ke development kit, maka lampu LD0 hingga LD7 akan menyala semua seperti pada gambar berikut ini: Pada gambar di atas, bisa terlihat bahwa led LD0 hingga LD7 semuanya menyala, walaupun switch SW0 hingga SW7 dalam posisi off. Kembali merujuk pada wiring diagram pada beberapa halaman di depan, switch tersebut tidak terhubung langsung dengan led, melainkan terhubung dengan IC FPGA. Selanjutnya kita akan membuat program yang akan menyalakan led berdasarkan posisi switch. Maksudnya led LD0 akan menyala jika switch SW0 berada pada posisi on dan seterusnya hingga LD7 dan SW7. Listing programnya dapat dilihat pada halaman selanjutnya:

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; entity Switch_LED is port( SW0 : in STD_LOGIC := '1'; SW1 : in STD_LOGIC := '1'; SW2 : in STD_LOGIC := '1'; SW3 : in STD_LOGIC := '1'; SW4 : in STD_LOGIC := '1'; SW5 : in STD_LOGIC := '1'; SW6 : in STD_LOGIC := '1'; SW7 : in STD_LOGIC := '1'; LED0 : out STD_LOGIC := '1'; LED1 : out STD_LOGIC := '1'; LED2 : out STD_LOGIC := '1'; LED3 : out STD_LOGIC := '1'; LED4 : out STD_LOGIC := '1'; LED5 : out STD_LOGIC := '1'; LED6 : out STD_LOGIC := '1'; LED7 : out STD_LOGIC := '1'; end Switch_LED; architecture Behavioral of Switch_LED is begin LED0 <= SW0; LED1 <= SW1; LED2 <= SW2; LED3 <= SW3; LED4 <= SW4; LED5 <= SW5; LED6 <= SW6; LED7 <= SW7; end Behavioral; Dan untuk listing implementation constraints dapat dilihat pada halaman selanjutnya.

NET LED0 LOC = AG8 ; NET LED1 LOC = AH8 ; NET LED2 LOC = AH9 ; NET LED3 LOC = AG10 ; NET LED4 LOC = AH10 ; NET LED5 LOC = AG11 ; NET LED6 LOC = AF11 ; NET LED7 LOC = AE11 ; NET SW0 LOC = J19 ; NET SW1 LOC = L18 ; NET SW2 LOC = K18 ; NET SW3 LOC = H18 ; NET SW4 LOC = H17 ; NET SW5 LOC = K17 ; NET SW6 LOC = G16 ; NET SW7 LOC = G15 ; Setelah itu, seperti langkah-langkah sebelumnya, generate lalu upload ke development kit. Hasilnya adalah sebagai berikut: Bisa terlihat bahwa led LD0, LD2, LD4, dan LD6 kondisinya menyala, sedangkan LD1, LD3, LD5 dan LD7 berada dalam kondisi padam sesuai dengan posisi saklar SW0, SW2, SW4 dan SW6 yang berada pada posisi on serta SW1, SW3, SW5 dan SW7 yang berada pada posisi off. Langkah selanjutnya adalah mencoba melakukan sedikit optimisasi program yang telah kita buat tersebut. Berikut ini adalah listring program dengan sedikit optimisasi:

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity switch_led is port( led : out std_logic_vector (7 downto 0); sw : in std_logic_vector (7 downto 0) := (others => '1')); end switch_led; architecture Behavioral of switch_led is begin led(0) <= sw(0); led(1) <= sw(1); led(2) <= sw(2); led(3) <= sw(3); led(4) <= sw(4); led(5) <= sw(5); led(6) <= sw(6); led(7) <= sw(7); end Behavioral; Adapun untuk file implementation constraints, tidak mengalami perubahan. Selanjutnya, untuk menguji listring di atas, lakukan seperti langkah-langkah sebelumnya yaitu dengan generate lalu upload ke development kit. Sekian tutorial singkat kali ini, semoga bermanfaat. Sampai jumpa di tutorial berikutnya.