You are on page 1of 19

LAPORAN PRAKTIKUM

ELEKTRONIKA II
SEMESTER GENAP A.T.A 2016/2017

Nama / NPM : Daniel Khrisna A. / 1506736272


Kelompok : 12
Rekan Kerja : Dedi Prakasa
Hari Praktikum : Senin
Tanggal Percobaan : 3 Maret 2017
Nama Modul : Pengenalan VHDL dan VIVADO
Nomor Modul :5

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS INDONESIA

2017
1

A. Tujuan
1. Membuat projek baru pada Vivado menggunakan VHDL
2. Menggunakan file master constrain untuk menentukan lokasi pin
yang digunakan pada FPGA
3. Mensinstesis dan implementasi desain
4. Memprogram desain pada board FPGA

B. Alat dan Bahan


1. ZYBO Zync7000
2. Micro-USB power usb cable
3. Software Vivado
4. PC/Laptop 64 bit

C. Teori Dasar
VHDL (Very High Speed Integrated Circuit (VHSIC) Hardware
Description Language)
VHDL merupakan bahasa yang digunakan dalam perancangan
sistem elektronik digital seperti FPGA (Filed Programmable Gate Array )
atau ASIC (Application Specific Integrated Circuit) dengan struktur
konkurenli seperti terlihat pada gambar di bawah

Gambar 1.1 Blok diagram aplikasi VHDL

Universitas Indonesia
2

Dari deskprisi di atas FPGA dibagi menjadi empat, yaitu Xilinx,


Altera, Lattice, Actel. Keempat perusahan mengeluarkan produk FPGA
dengan FPGA. Pada pengaplikasinnya VHDL bukan bahasa pemrograman
melainkan deskripsi hardware dengan cara mensintesisnya.Penjelasan
terlihat seperti pada gambar di bawah.

Gambar 1.2 sintesis VHDL


STRUKTUR VHDL

Gambar 1.3 Struktur VHDL

Universitas Indonesia
3

Entity merupakan sintaks utuk mendeklarasikan port atau generics, seperti


terlihat pada gambar di bawah

Gambar 1.4 entity deklarasi port dan generic


Generics dapat di-overwriting selama di-compile dan juga harus
merupakan konstan selama di-compile.
Architecture merupakan deskripsi model functionality. Architecture
harus diasosiasikan dengan entity dan juga entity dapat memiliki banyak
architecture. Semua pernyataan dalam architecture dieksekusi dalam
architecture dieksekusi secara konkurenli .

Gambar 1.5 Model struktur dasar pada VHDL

Universitas Indonesia
4

INDENTIFIKASI
Identifikasi VHDL hanya meliput alfabetik (A-Z dan a-z), bilangan
desimal (0-9), dan garis bawah (_). Harus dimulai dengan alfabetik dan
tidak boleh diakhiri dengan garis bawah. VHDL tiddak diperbolehkan
menggunakan garis bawah berurutan. Bukan merupakan case sensitive jadi
alfabeik besar dan kecil dianggap sama.

Gambar 1.6 contoh identifikasi VHDL.


OBJEK DATA
Setiap objek data memiliki type dan class. Type mengindikasikan
jenis dartayang didedikasikan kepada objek data, sedangkan class
merupakan apa yang dilakukan pada objek data.

Gambar 1.7 Classes dan type pada VHDL


KELAS SINYAL
Kelas sinyal objek data tidak hanya dapat memiliki informasi nilai
tetapi juga sinyal yang didapat pada saat operasi yang mendapatkan nilai
baru. Sinyal mempresentasikan wire yang dikomukasikan antara proses I/O
pada sistem.

Universitas Indonesia
5

Gambar 1.8 Proses kelas sinyal

Gambar 1.9 Sinyal digunakan sebagai wire


VIVADO DESIGN SUITE
Vivado Design Suite adalah suite perangkat lunak yang diproduksi
oleh Xilinx untuk sintesis dan analisis desain HDL, menggantikan Xilinx
ISE dengan fitur tambahan untuk sistem pada pengembangan chip dan
tingkat tinggi sintesis. Vivado merupakan ground-up rewrite dan re-
thinking dari aliran desain keseluruhan (dibandingkan dengan ISE), dan
telah dijelaskan oelh pengulas sebagai baik dipahami, terintegrasi, super
cepat, terukur, dipelihara, dan intuitif.
Tidak seperti Ise yang mengandalkan modelSIM untuk simulasi,
Vivado System Edition mencakup logika simulator built-in. Vivado juga
memperkenalkan sintesis tingkat tinggi, dengan toolchain yang mengubah
kode C ke programmable logic. Vivado telah digambarkan sebagai state-
of-the-art comprehensive EDA tool with all the latest bells and whistles in
terms of data model, integration, algorithms, and performance.
Vivado memungkinkan pengembang untuk mensintesis (kompilasi)
desain mereka, melakukan analisis waktu, memeriksa diagram RTL,

Universitas Indonesia
6

mensimulasikan reaksi desain yang berbeda, dengan mengkonfigurasi


perangkat target dengan programmer. Vivado adalah produk FPGA dari
Xilinx, dan digabungkan dengan arsitektur chip tersebut, dan tidak dapat
digunakan dengan produk FPGA dari vendor lain.
Vivado diperkenalkan pada bulan April 2012, dan merupakan desain
(IDE) dengan sistem-to-IC alat tingkat dibangun di atas model data scalable
bersama dan lingkungan debug umum. Vivado termasuk tingkat sistem
elektronik (ESL) alat desain untuk mensintesis dan memverifikasi C
berbasis IP algoritmik standar kemasan berdsarkan dari kedua algoritma dan
RTL IP untuk digunakan kembali standar berbasis IP core dan sistem
integrasi semua jenis blok bangunan sisteml dan verifikasi blok dan sistem.
Sebuah versi WebPACK Edition gratis Vivado menyediakan desainer
dengan versi terbatas dari lingkungan desain.

D. Deskripsi Projek
Implementasi Half Adder, Full Adder, dan Decoder dengan VHDL dan
Zybo
Sebagai pendahuluan, dapat dilakukan percobaan dengan membuat
rangkaian half adder. Rangkaian half adder mengandung 2 input dan 2
output. Tabel kebenaran dari half adder.
Input Output
A B SUM Carry
0 0 0 0
0 1 1 0
1 0 1 0
1 1 1 1
Tabel 1.1 Tabel kebenaran Half Adder
Setelah membuat rangkaian half , percobaan dilanjutkan dengan membuat
rangkaian full adder. Skema dari rangkaian full adder yaitu:

Universitas Indonesia
7

Gambar 2.1 Skema rangkaian full adder


Dari gambar di atas terlihat bahwa rangkaian tersebut merupakan
implementasi dari dua rangkaian half adder dengan tambahan Cin dan
Cout sebagai half adder kedua.
Decoder merupakan rangkaian yang memiliki input n dan output 2 .
Skema dari rangkaian decoder yaitu :

Gambar 2.2 Skema rangkaian decoder 2 input dan 4 output

Universitas Indonesia
8

E. Prosedur Percobaan
Langkah-langkah sebelum memulai percobaan sebagai berikut:
1. Meng-install aplikasi Vivado 2015.4
2. Menjalankan aplikasi Vivado
3. Membuat projek baru
4. Mendapatkan hasil akhir seperti gambar berikut

Gambar 2.3 Simulasi rangkaian di VHDL

F. Tugas Pendahuluan
Pertanyaan :
Lengkapi rangkaian VHDL di bawah ini yang masih kosong (___) jelaskan
apa yang sedang dikerjakan oleh kode tersebut pada setiap blok terstruktur.

Universitas Indonesia
9

Jawaban :

1. Entity 8. Decoder
2. IN 9. Architecture
3. IN 10. AND
4. OUT 11. OR
5. OUT 12. XOR
6. OUT 13. NOR
7. OUT

G. Referensi
Blocher, R. 2004. Dasar Elektronika. Yogyakarta: PenerbitAndi Yogyakarta.
Malvino, A dan Bates, D. 2016. Electronic Principles, Eight Edition. New
York: Mc Graw Hill Education

Universitas Indonesia
2

H. Data Pengamatan
Percobaan 1
XOR Gate
Dokumentasi

Penjelasan Gambar :
Perangkat Zybo dengan pengaturan kode VHDL : XOR gate ,yaitu:
entity xor_gate is
Port ( x,y : in STD_LOGIC;
A: out STD_LOGIC);
end xor_gate;

architecture Equations of xor_gate is

begin

A <= x XOR y;

end Equations;

Universitas Indonesia
3

Percobaan 2
Half Adder Gate
Dokumentasi

Universitas Indonesia
4

Penjelasan Gambar :
Perangkat Zybo dengan pengaturan kode VHDL : Half adder ,yaitu:
entity half_adder is
Port ( a,b : in STD_LOGIC;
sum,carry: out STD_LOGIC);
End half_adder;

architecture Equations of half_adder is

begin

sum <= a XOR a;


carry <= a and b;

end Equations;

Percobaan 3
Full Adder Gate
Dokumentasi

Universitas Indonesia
5

Perangkat Zybo dengan pengaturan kode VHDL : Full Adder ,yaitu:


entity full_adder is
Port ( a,b,cin : in STD_LOGIC;
sum, cout: out STD_LOGIC);
End full_adder;

architecture Equations of half_adder is


signal q1,q2,q3 : STD_LOGIC;
begin

q1 <= a XOR b;
q2 <= cin AND q1;
q3 <= a AND b;
sum <= q1 XOR cin;
cout <= q2 OR q3;

end Equations;

Universitas Indonesia
6

Percobaan 4
Decoder

Universitas Indonesia
7

Perangkat Zybo dengan pengaturan kode VHDL : Decoder ,yaitu:


entity decoder is
Port ( a,b,: in STD_LOGIC;
Z0,Z1,Z2,Z3: out STD_LOGIC);
End decoder;

architecture Equations of decoder is

begin

Z0 <= a AND b;
Z1 <= a OR b;
Z2 <= a XOR b;
Z3 <= a not or b;
end Equations;

I. Tugas Akhir
Pertanyaan :
Buatlah rangkaian 4 to 2 lines encoder , beserta kode VHDL nya!
Jawaban :

Kode VHDL :
library ieee;
use ieee.std_logic_1164.all;

entity encoder is
port (A0,A1,A2,A3: in std_logic;
F0,F1: out std_logic);
end encoder;

Architecture Equations of encoder is


begin
F1 <= (not A1) AND (not A0);
F0 <= A3 OR A1;
end Equations;

Universitas Indonesia
8

J. Analisis
Eksperimen
Ada 4 percobaan yang dilakukan pada praktikum kali ini, yaitu XOR
gate, Half Adder Gate, Full Adder gate, dan Decoder. Praktikan akan
menganalisis mulai dari percobaan XOR gate hingga percobaan Decoder.
Percobaan pertama, yaitu XOR gate, praktikan diperkenalkan
dengan perangkat Zybo Zynq 7000. Setelah mengenal setiap komponenen
yang terdapat di dalamnya, praktikan mulai mencoba untuk menggunakan
software Vivado. Vivado ini nantinya digunakan untuk menerapkan
gate/rumus yang telah dituliskan ke dalam Zybo. Percobaan XOR gate
terbilang cukup mudah. Praktikan memulainya dengan menuliskan rumus
secara manual di notepad. Praktikan menuliskan :
library ieee;
use ieee.std_logic_1164.all;

entity xor_gate is
Port ( x,y : in STD_LOGIC;
A: out STD_LOGIC);
end xor_gate;

architecture Equations of xor_gate is


begin
A <= x XOR y;
end Equations;

Pada paragraf pertama, praktikan mendeklarasikan bagian dari pustaka


VHDL mana yang akan digunakan. Paragraf ini disebut Library
Declaration. Pada bagian paragraf kedua, Entity Declaration. Pada bagian
ini praktikan memberikan nama/entitas xor gate. Port memiliki prinsip
seperti pin pada TTL atau CMOS, akan tetapi jumlah input dan output dapat
ditentukan sendiri. Praktikan menggunakan input x,y dan output A. Paragraf
ketiga merupakan penulisan fungsi yang akan digunakan, karena percobaan
ini merupakan percobaan xor gate praktikan mendeklarasikan rumus.
Sebelum itu, fungsi harus diberi nama, misal Equations pada bagian
Architecture. Nama ini dapat disebut sebagai Architecture Name.
Sama halnya dengan percobaan pertama, percobaan kedua dan
keempat menggunakan prinsip dan struktur kode yang sama. Perbedaannya
sangat jelas yaitu pada bagian jumlah pin yang digunakan (entity) dan

Universitas Indonesia
9

perumusan fungsi (architecture). Untuk mempermudah penulisan rumus


maka praktikan membaca fungsi dengan runtutan mulai dari output hingga
input yang mempengaruhinya.
Ada sedikit perbedaan antara percobaan ketiga dengan percobaan
yang lain, kode VHDL sebagai berikut.
library ieee;
use ieee.std_logic_1164.all;

entity full_adder is
Port ( a,b,cin : in STD_LOGIC;
sum, cout: out STD_LOGIC);
End full_adder;

architecture Equations of half_adder is


signal q1,q2,q3 : STD_LOGIC;
begin
q1 <= a XOR b;
q2 <= cin AND q1;
q3 <= a AND b;
sum <= q1 XOR cin;
cout <= q2 OR q3;
end Equations;
Pada bagian architecture, praktikan menuliskan kata signal. Perintah ini
dimaksudkan untuk menjadi jembatan/bridge antara perintah satu dengan
yang lain dan dapat mempersingkat rumus menjadi sebuah variabel.
Variable yang digunakan pada kode ini yaitu q1, q2, dan q3.

K. Kesimpulan
Kesimpulan yang dapat diambil dari percobaan yaitu:
1. Vivado merupakan software yang dapat digunakan sebagai simulasi
gerbang logika berbasis code dan dapat diaplikasikan ke dalam
hardware Zybo
2. File master constrain dapat digunakan untuk mengatur tempat input
dan output pada FPGA
3. Mensintesis dan implementasi desain dapat dilakukan dengan
menggunakan perangkat bantuan seperti laptop ataupun komputer.
4. Desain program pada board FPGA pada percobaan ini dilakukan
menggunakan software Vivado dan board FPGA Zybo

Universitas Indonesia
10

L. Referensi

Blocher, R. 2004. Dasar Elektronika. Yogyakarta: PenerbitAndi Yogyakarta.


Malvino, A dan Bates, D. 2016. Electronic Principles, Eight Edition. New
York: Mc Graw Hill Education

Universitas Indonesia

You might also like