Anda di halaman 1dari 7

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 1

MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGA


Andika Fikrisyah Yasin (18213044)
Asisten: Muhamad Hudi Dwi. S / 13211602
Tanggal Percobaan: 06/10/2014
EL2142- Sistem Digital dan Mikroprosessor
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak
Pada saat ini, pemodelan rangkaian digital tidak hanya bisa
dilakukan secara manual, tetapi dapat didesain juga dengan
menggunakan IC dengan bantuan komputer. Salah satu
teknik perancangan yang sering dipakai adalah FPGA
dengan pendekatan skematik ataupun bahasa VHDL.
Pada percobaan ini, kita akan mengimplementasikan
rangkaian full-adder dengan target FPGA.
Kata kunci: FPGA, skematik, bahasa VHDL, dan
full-adder.
1. PENDAHULUAN
Untuk mengimplikasikan fungsi gerbang logika
pada rangkaian dapat dilakukan dengan
setidaknya dua cara, yaitu secara manual (dengan
menggunakan rangkaian logika sekuensial seperti
yang dilakukan pada praktikum sebelumnya) dan
digital. Perancangan digital dapat dilakukan di
berbagai macam target, salah satunya adalah
FPGA.
FPGA (field-programmable gate array) merupakan
sebuah komponen eletronika semikonduktror
yang memiliki komponen gerbang
terprogram(programmable logic) dimana FPGA
dapat mengimplementasikan fungsi logika
berulang kali. Pada praktikum ini, perancangan
rangkaian dibantu dengan menggunakan dua
piranti lunak tambahan, yaitu ALTERA QUARTUS
II dan ModelSim.
Ada setidaknya dua cara untuk melakukan
perancangan digital, yaitu dengan menggunakan
bahasa VHDL ataupun dengan menggunakan
pendekatan skematik.
2. STUDI PUSTAKA
2.1 FPGA (FIELD PROGRAMMABLE GATE
ARRAY)
FPGA adalah sebuah integrated circuit yang dapat
dikonfigurasi dan diprogram berulang kali sesuai
kebutuhan. FPGA terdiri dari logika yang dapat
diprogram, yang disebut dengan blok logika (logic
blocks).
Setiap pin masukka dari FPGA memiliki
fungsionalitas masing-masing, dimana setiap
gerbang logika yang dimiliki oleh FPGA dapat
menyimpan baik logika HIGH dan logika LOW
dalam komponen logika yang disebut dengan
Look-UP Table
2.2 ALTERA DE1 DEVELOPMENT KIT
Pada praktikum ini, salah satu board yang
digunakan adalah ALTERA DE1 Develompent Kit.

Gambar 1. IC ALTERA DE1 Develpment Kit
Pin-pin yang akan digunakan pada praktikum kali
ini terdapat pada tabel berikut:
Tabel 1. Referensi Kaki DE1
Nama PIN I/O Kaki yang digunakan DE1
A PIN_L22
B PIN_L21
C PIN_M22
A_Out PIN_J2
B_Out PIN_E2
C_Out PIN_H1
CARRY PIN_D1
SUM PIN_E1
2.3 FULL ADDER
Full adder menerima 3 buah masukkan, biasanya
disebut dengan A,B, dan Cin . Dan mengeluarkan 2
buah keluaran, yaitu S dan Cout.




Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 2


Tabel 2. Kebenaran dari Full Adder
Masukkan Keluaran
A B C
in
C
out
S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Full Adder Memiliki keunggulan bila
dibandingkan dengan Half Adder adalah
kemampuannya untuk menampung dan
menjumlahkan bit CARRY-in (Cin) yang berasal
dari CARRY-Out (Cout).
Terdapat beberapa jenis rangkaian Full Adder,
yaitu Parallel Adder, Look Ahead Adder, dan Carry
Adder dimana masing-masing memiliki kelebihan
dan kekurangannya.
2.4 BAHASA VHDL
VHDL (Very-high-speed integrated circuits Hardware
Description Language) merupakan bahasa
pemrograman perangkatan keras yang digunakan
untuk memodifikasi sistem logika pada FPGA
ataupun IC. VHDL adalah pengembangan dari
bahasa prosedural.
Keuntungan menggunakan bahasa VDHL adalah
implementasinya yang sederhana dan lebih
compact dibandingkan pendekatan skematik.
3. METODOLOGI
Pada praktikum kali ini dibagi menjadi delapan
percobaan. Perancangan rangkaian digital
menggunakan FPGA dapat digambarkan dengan
flowchart berikut:

Gambar 2. Flowchart Proses Perancangan Digital
Pada percobaan 2A, kita diminta untuk
mendesain rangkaian full adder dengan
pendekatan skematik. Pada percobaan ini
menggunakan piranti lunak ALTERA QUARTUS
II. Berikut ini rancangan desain dari percobaan ini:
Gambar 3. Skematik yang digunakan pada Percobaan 2A
Rangkaian tersebut akan menerima 3 masukkan
(A, B, Cin) dan memberikan 2 keluaran, yaitu SUM
dan CARRY.
Setelah proses silmulasi berjalan lancar, rangkaian
tersebut akan diimplementasikan pada IC board
FPGA DE1.
Pada percobaan 2B, kita akan mendesain full adder
menggunakan bahasa VHDL. File yang akan
dibuat pada percobaan ini bernama
modul2vhdl.vdh yang berisi sebagai berikut:

Gambar 4. Kode VHDL dengan pendekatan bahasa VHDL
Kode tersebut kemudian dikompilasi dan setelah
berjalan lancar, percobaan tersebut
diimplementasikan pada Board FPGA DE1.
Pada percobaan 2C, kita akan membuat 4-bit-
ripple carry adder yang akan diimplementasikan
pada Board FPGA DE1.
Berikut in kode VHDL untuk percobaan ini:

Gambar 5. Kode VHDL untuk percobaan 2C

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 3


Pada percobaan 2D, kita akan menggunakan
pendekatan skematik. Langkah langkah untuk
mensimulasikan percobaan ini sama seperti pada
percobaan 2A. Berikut ini rancangan desain untuk
percobaan ini:

Gambar 6. Skematik untuk percobaan 2D.
Pada percobaan 2E, kita akan menggunakan
piranti lunak ModelSim untuk melakukan
silmulasi. Kita akan mensimulasikan rangkaian
full adder dengan pendekatan VHDL. Berikut ini
kode VDHL untuk percobaan ini:

Gambar 7. Kode VDHL untuk percobaan 2E
Stimulus dapat diberikan dengan memilih Right
Click Clock dengan nilai untuk sinyal A sebesar
50ps, untuk sinyal B 100ps, dan untuk sinyal C
200ps. Setelah itu, kita lakukan silmulasi dengan
memilih menu Tools Run.
Pada percobaan 2F, kita akan menggunakan
konsep testbench, dengan memberikan stimulan
melalui kode VHDL. File VHDL yang kita buat
akan berfungsi sebagai DUT (Design Under Test).
Berikut ini kode VHDL yang akan digunakan
untuk memberikan stimulus pada percobaan ini:

Gambar 8. Stimulus untuk percobaan 2F
Setelah menggunakan stimulus diatas, kita akan
memodifikasi bagian stimulus generator dengan
kode VHDL sebagai berikut:

Gambar 9. Modifikasi stimulus untuk percobaan 2F
Pada percobaan 2G, kita akan menggukan
ModelSin untuk melakukan proses tapping sinyal
dari sebuah desain. Pada percobaan ini kita akan
melakukan modifikasi pada file DUT dengan
scripts berikut:

Gambar 10. Scripts Tapping percobaan 2G

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 4


Setelah mengetik script diatas dan melakukan
silmulasi seperti pada percobaan 2F.
Pada percobaan 2H, kita akan membuat file
bernama sim.do yang berisi script sebagai berikut:

Gambar 11. Script file sim.do percobaan 2H
Selanjutnya kita mensimulasikan nya dengan
mengetikkan do sim.do. Lalu kita akan menguji
script diatas dengan melakukan modifikasi pada
baris paling bawah file sim.do dengan script
sebagai berikut:

Gambar 12.Modifikasi script Stimulus percobaan 2H
Selanjutnya kita akan mensimulasikannya dengan
menggunakan testbench yang telah dibuat dengan
menggunakan script file.do yang berisi sebagai
berikut:

Gambar 13. Script file file.do percobaan 2H
4. HASIL DAN ANALISIS
4.1 PERCOBAAN 2A
Hasil yang ditunjukan dari percobaan ini
adalah sebagai berikut:

Gambar 4-1 Hasil Percobaan 2A
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tabel 4-1. Tabel Kebenaran Full Adder Percobaan 2A
Analisis : dari gambar dan tabel kebenaran
diatas memiliki kecocokan dengan tabel
kebenaran dari full adder yang dilampirkan
pada bab Studi Pustaka.
4.2 PERCOBAAN 2B
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-2 Hasil Percobaan 2B





Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 5

A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tabel 4-2 Tabel Kebenaran Full Adder Percobaan 2B
4.3 PERCOBAAN 2C
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-3 Hasil Percobaan 2C
Analisis : Dari gambar diatas didapat bahwa
penjumlahan 4-bit Ripple Carry Adder dengan
VHDL sudah sesuai
4.4 PERCOBAAN 2D
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:
Gambar 4-4 Hasil Percobaan 2D
Analisis : Dari gambar ini didapat bahwa
penjumlahan dari 4-bit Carry Adder dengan
pendekatan skematik sudah sesuai.
Hasil dari kedua percobaan di atas adalah sama.
4.5 PERCOBAAN 2E
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-5 Hasil Percobaan 2E
Analisis : Hasil waveform diatas didapatkan
dengan mengatur clock dari masukkan (A,B,Cin)
menjadi masing-masing 50ps, 100ps, dan 200ps.
Stimulus yang diberikan memberikan hasil
waveform yang berlogika sama dengan
menggunakan ALTERA QUARTUS II.
Hal selanjutnya yang diuji pada bagian ini adalah
menggunakan perintah (command) No Force.
Perintah tersebut berfungsi untuk membatalkan
(undo) dari perintah force yang diberikan
sebelumnya. Pada kondisi default, perintah ini
akan memberikan hasil keluaran 0.
4.6 PERCOBAAN 2F
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-6-1 Hasil Percobaan 2F
Analisis : Amati potongan kode berikut:

Perintah tersebut menunjukkan bahwa setiap 50ps,
nilai logika A akan di-invert. Ketika logika A

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 6


bernilai 0, maka setelah 50ps, logika A akan
bernilai 1 dan berlaku sebaliknya. Selain cara
tersebut, kita dapat memaksakan suatu value
logika tertentu pada masukkan dan hal ini juga
berlaku untuk potongan kode lainnya.

Gambar 4-6-2 Hasil Modifikasi Pada Percobaan 2F
Analisis : Amati potongan kode berikut:

Potongan kode diatas menunjukkan, setelah 50ps,
maka logika A akan selalu bernilai 1. Hal yang
sama berlaku untuk logika B yang di inisialisasi
100ps serta logika C yang di inisialisasi 200ps. Dari
dua contoh berbeda diatas, maka kita dapat
mengkombinasikan kemungkinan-kemungkinan
logika yang kita inginkan.
4.7 PERCOBAAN 2G
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-7 Hasil Percobaan 2G
4.8 PERCOBAAN 2H
Hasil yang ditunjukan dari percobaan ini adalah
sebagai berikut:

Gambar 4-8-1 Hasil Percobaan 2H dengan script file sim.do
Analisis : Dengan menggunakan perintah
pada sim.do kita dapat mengeksekusi silmulasi
tanpa perlu menunggu masukkan manual.

Gambar 4-8-2 Hasil Percobaan 2H dengan script file file.do
5. KESIMPULAN
Perancangan rangkaian digital dengan
target FPGA dapat dilakukan dengan
menggunakan pendekatan skematik
maupun bahasa VHDL karena keduanya
menghasilkan keluaran yang sama.
Pendekatan skematik maupun bahasa
VHDL memiliki kelebihan dan
kekurangan masing masing. Pendekatan
skematik tidak mengutamakan ketelitian
tinggi, namun susah digunakan untuk
membuat rangkaian kompleks. Bahasa
VHDL lebih mudah digunakan untuk
membuat rangkaian kompleks namun
membutuhkan ketelitian yang tinggi.
Rangkaian Full adder dapat
diimplementasikan dengan berbagai cara
(seperti cara diatas). Fungsi utama dari
rangkaian ini adalah untuk
menjumlahkan bilangan biner
menggunakan fungsi gerbang logika. Ada
beberapa jenis rangkaian adder seperti Full
adder (Percobaan 2B), maupun Ripple carry
adder (Percobaan 2C).



Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 7


DAFTAR PUSTAKA
[1] Stephen Brown, Zvonko Vranesic, Fundamentals of
Digital Logic with VHDL Design 3
rd
ed., Hal 79-149,
McGraw Hill, New York, 2009.
[2] Mervin T. Hutabarat et al., Buku Petunjuk
Praktikum Sistem Digital. Hal 110. STEI ITB,
Bandung, 2011.

Anda mungkin juga menyukai