BAB 8 PERCOBAAN 7 DESAIN RANGKAIAN LOGIKA (HDL)
8.1
Tujuan Kegiatan praktikum ini bertujuan untuk mengenalkan praktikan
software
Xilinx
ISE
Webpack
untuk
mengembangkan
dan
mengimplementasikan sistem digital terprogram di atas board Spartan-3E FPGA Starter Kit. Sistem digital yang akan dirancang adalah sistem masukan keluaran menggunakan modul I/O tombol tekan, saklar geser, rotary-knob dan LED. Sasaran kegiatan praktikum adalah: 1. Praktikan dapat membuat sebuah proyek sistem digital 2. Praktikan dapat membuat file desain kombinasional untuk mengontrol nyala LED dengan menggunakan masukan tombol tekan, saklar geser dan rotary-knob
3. Praktikan dapat mengkompile project: sintesis dan implementasi desain 4. Praktikan dapat menganalisis hasil implementasi 5. Praktikan dapat mendownload desain file ke board Starter Kit menggunakan Impact 6. Praktikan dapat menganalisis perilaku masukan-keluaran desain di board Starter Kit. 8.1.1
Alat dan bahan Alat dan bahan yang digunakan adalah:
1. Board Starter Kit Spartan-3E berbasis Xilinx FPGA XC3S500E-4FG320C Modul (komponen) I/O yang akan digunakan dalam praktikum: a.
4 buah tombol push-button (BTN North, BTN East, BTN South, BTN West)
b.
1 buah rotary-knob (ROT-A/B)
c.
4 buah saklar geser (SW0, SW1, SW2, SW3)
d.
8 buah LED (LD0-7)
2. Kabel USB dengan konektor tipe-B 3. Adaptor sumber daya DC 5 Volt 4. Software Xilinx ISE Webpack 11.1 8.3
Dasar teori 8.3.1 Tentang Board Stater kit Spartan 3E starter kit Spartan-3E (kode produk: HW-SPAR3E-SK-US-G ) akan
digunakan dalam praktikum ini. Board ini menggunakan Xilinx FPGA Spartan-3E (XC3S500E-4FG320C) yang mempunyai 500K gerbang dan tersusun atas komponen-komponen (Gambar 7.1). Dalam praktikum 1 ini, komponen yang akan digunakan adalah keluaran LED LD0-7, masukan saklar geser SW0-3, dan tombol BTN (E-S-W-N). Selanjutnya board ini disebut Starter Kit.
Gambar 8.1 Board Starter Kit Xilinx Spartan-3E beserta komponen-komponennya
8.3.2
Tentang xilinx Ise (GUI dari program ISE Project, GUI dari program ISE iMPACT, seperti dalam modul) Software Xilinx ISE Webpack 11.1 akan digunakan sebagai GUI
untuk merancang problem sistem digital yang diinginkan. Selanjutnya Xilinx ISE Webpack 11.1 disebut sebagai ISE. ISE telah terinstall di komputer masing-masing. ISE berisi tool-tool untuk mengembangkan rancangan sistem digital terprogram. Tool yang akan digunakan dalam praktikum adalah: 1. ISE Project Navigator digunakan untuk membuat proyek baru,
memasukan entry desain (HDL, skematik), kompilasi desain (sintesis), mengimplementasikan desain dan membangkitkan file programming (konfigurasi FPGA). Tool lain dari ISE dipanggil dari Project Navigator ini 2. ISE iMPACT digunakan untuk menuliskan file konfigurasi FPGA ke
board Starter Kit. GUI dari program ISE Project Navigator diperlihatkan dalam Gambar 7.2. GUI dari program ISE iMPACT diperlihatkan dalam Gambar 7.3.
Gambar 8.2 ISE Project Navigator GUI: Eksplorer, Proses, Entry dan Log
Gambar 8.3 ISE iMPACT: Konfigurasi Boundary Scan (JTAG)
8.3.3
Metodologi Rancangan dengan ISE Perancangan sistem digital menggunakan ISE mempunyai metodologi
(Gambar 7.4). Metodologi tersebut meliputi tahapan sebagai berikut: 1. Entri desain. Program HDL (Hardware Description Language) dibuat untuk memenuhi kebutuhan dan konstrain sistem yang ingin dirancang. Program ini Verilog dan Altera HDL. Praktikan dapat memilih bahasa HDL yang akan digunakannya. Dalam modul praktikum, bahasa Verilog akan digunakan. Sebelum pelaksanaan praktikum, praktikan harus telah menguasai sintaks dan struktur program HDL yang akan digunakannya, baik Verilog atau VHDL 2. Sintesis. Dari desain HDL, skematik RTL (Register Transfer Level) dibangkitkan oleh ISE sesuai teknologi yang digunakan (Xilinx FPGA). Salah satu tujuan praktikum adalah melihat skematik RTL dari desain yang telah ditentukan 3. Implementasi.
Tahap
meliputi
translating,
mapping/fitting
dan
placing&routing untuk mengimplementasikan desain ke teknologi device
Xilinx yang sesuai. Desain dioptimasi agar memenuhi kebutuhan fungsional dan konstrainnya ( power, area, speed ). Hasil implementasi
adalah berupa file konfigurasi FPGA (dengan ekstensi *.bit) yang siap untuk diprogramkan ke device XC3S500E 4. Pemrograman /download ke
device Xilinx.
Tahap ini
dilakukan
menggunakan program iMPACT. File konfigurasi didownload ke device melalui interface USB Dalam setiap tahap, verifikasi dilakukan untuk memastikan kebutuhan dan konstrain terpenuhi.
Gambar 8.4 Metodologi desain sistem digital menggunakan ISE: entri
desain, sintesis, implementasi dan pemrograman
Gambar 8.5 Diagram Blok
8.4
Langkah Kerja 8.4.1 Membuat Project Berikut langkah-langkah membuat proyek baru di ISE:
1. Jalankan program ISE Project Navigator (jika belum dijalankan) 2. Pilih menu File pilih New Project . Dialog pop-up New Project Wizard akan muncul ( Gambar 8.6). Ketikkan field Name dengan nama proyek. Browse lokasi proyek/ Location.(E:\\Kelompok 2\modul7-kelompok2). Tipe source top-level menggunakan HDL
Gambar 8.6 Screenshot Create New Project
3. Klik tombol Next. Jendela Device Properties muncul (Gambar 8.7). Pilih Family (Spartan3E), Device (XC3S500E), Package (FG320) dan Speed
(-4). Properti ini adalah device-dependent (Starter Kit menggunakan FPGA XC3S500E-4FG320C), jadi harus dimasukkan dengan benar. Set Preferred Language dengan Verilog.
Gambar 8.7 Screenshot Device Properties
4. Klik tombol Next, jendela Create New Source muncul. Klik tombol Next, jendela Add Existing Sources muncul. Klik tombol Next, jendela Project Summary muncul. Pastikan ringkasan proyek sesuai dengan yang
tercatat di lembar kegiatan. Klik tombol Finish untuk mengakhiri wizard. File project .xise akan dibuat
Gambar 8.8 Screenshot Project Summary
8.4.2
Membuat file desain .v dan .ucf (Prosedural)
1. Dari ISE, klik menu Project,New Source untuk membuat file source baru Jendela New Source Wizard akan muncul ( Gambar 8.9). Klik Verilog Module sebagai Source Type. Isikan field File name dengan modul7gate, Location sama dengan lokasi proyek. Pastikan checkbox Add to project
tercentang. Klik tombol Next
Gambar 8.9 Screenshot Select Source Type
2. Proses selanjutnya adalah mendefinisikan module yang akan digunakan dalam rangkaian. Praktikum ini menggunakan gerbang logika dengan 3 masukkan dan 1 keluaran.
Gambar 8.10 Dialog Define Module
Gambar 8.11 Dialog Summary
3. Persamaan yang digunakan pada praktikum kelompok ini adalah F = ∑m (0,4,12,8,3,11)
Gambar 8.12 Program modul7gate.v dalam Project Navigator
4. Untuk membuat program dapat diimplementasikan pada board starter kit, diperlukan file Constraints . Buat file UCF. Klik menu Project,New Source. Jendela New Source Wizard akan muncul. Klik “Implementation
Constraints File” sebagai Source Type. Isikan field File name dengan input_output 4, Location sama dengan lokasi proyek. Pastikan checkbox Add to project tercentang. Klik tombol Next. Jendela Summary muncul.
Klik tombol Finish untuk mengakhiri pembuatan source baru
Gambar 8.13 Membuat modul7gate.ucf
Gambar 8.14 Screenshot Summary
5. Berikut tampilan sintak dalam program
Gambar 8.15 Tampilan sintak program
8.4.3
Hipotesis Percobaan (dari Sourcode file .V)
Hasil yang diharapkan dari percobaan ini adalah sesuai dengan perilaku sistem, yaitu bernilai 1 atau LED akan menyala jika masukkan sesuai dengan tabel berikut Tabel 8.1 Hipotesis hasil uji coba program dalam board
8.4.4
L13 0 0 0
L14 0 0 1
H16 0 1 0
N17 0 1 0
1 1 1
0 0 1
0 1 0
0 1 0
Mengkompilasi project dan Membangkitkan File Programming
Desain siap untuk disintesis dan dibangkitkan file programmingnya. Sebelum mentransfer program ke dalam board starter kit, pastikan tidak ada kesalahan dalam program dengan Generate Programming File.
Gambar 8.16 Proses kompilasi program
8.4.5
Membangkitkan dan Melihat Skematik RTL
Untuk melihat Skematik RTL dari program, gunakan Synthesize – XST lalu View RTL Schematic.
Gambar 8.17 RTL Skematik
Kemudian Jendela Create RTL Schematic akan muncul. Tambahkan semua komponen dalam folder Primitive lalu Create Schematic
Gambar 8.18 Membangun skematik RTL
Berikut adalah Skematik RTL dari program modul7gate
Gambar 8.19 Skematik RTL
8.4.6
Mengkonfigurasi FPGA dengan iMPACT
Proses terakhir dari Praktikum adalah menjalankan program pada board starter kit. Gunakan Manage Configuration Project (iMPACT) untuk proses ini. Pastikan Board sudah terhubung dengan komputer.
Gambar 8.20 Membuka ISE iMPACT
Jendela ISE iMPACT akan muncul. Klik ganda pada Boundary Scan, kemudian klik kanan dan pilih Initialize Chain untuk menginisialisasi Boundary Scan.
Gambar 8.21 Boundary Scan
Gambar 8.22 Memprogram board starter kit
8.4.7
Analisa Mengenai Perilaku Sistem
Sesuai dengan desain awal, maka jalannya program dalam board starter kit adalah sebagai berikut Tabel 8.2 Hasil percobaan dalam board starter kit
Input A 0
B 0
C 0
D 0
Output Y 1
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 1 1 0 0 0 1 0 0 1 1 0 0 0
Jika diamati perilaku sistem pada Tabel 8.1 dan Tabel 8.2 pada hipotesis hasil percobaab sourcode file.v, kemudian dibandingkan masing masing hipotesisnya, maka diperoleh kesamaan. Masing masing LED pada L13,L14,H16, dan N17 yang aktif high bernilai 1 sama dengan input pada board starter kit yang outputnya bernilai 1 juga. 8.3 Hipotesis hasil uji coba program dalam board
L13 0 0
L14 0 0
H16 0 1
N17 0 1
0 1 1 1
1 0 0 1
0 0 1 0
0 0 1 0
8.5
Kesimpulan
1. Software Xilinx ISE Webpack 11.1 akan digunakan sebagai GUI untuk merancang problem sistem digital yang diinginkan 2. Perancangan sistem digital menggunakan ISE mempunyai metodologi yang meliputi tahapan sebagai berikut: Entry, Sintesis, Implementasi, Program 3. File berekstensi .v dibuat untuk mendesain modul yang diinginkan sedangkan file berekstensi .ucf dibuat untuk menginisialisasi komponen dalam board starter kit 4. ISE iMPACT digunakan dalam proses memprogram board starter kit. 5. File yang digunakan untuk memprogram board starter kit adalah file dengan ekstensi bit