Anda di halaman 1dari 7

MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGA

Abdul Hafizh Firdaus (18215007)


Asisten: Dinan Fakhri/13213047
Tanggal Percobaan: 04/10/2016
EL2142-Sistem Digital dan Mikroprosesor

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Pada jaman sekarang membuat rangkain bukan hanya
dilakukan secara manual, namun juga sudah bisa dengan
bantuan IC dan komputer. Pada percobaan kali ini kita
mencoba mendesain fungsi logika menggunakan FPGA
dengan pendekatan skematik dan VHDL.
Kata kunci: IC, komputer, FPGA, skematik, VHDL.
1.

PENDAHULUAN

FPGA adalah salah satu cara untuk merancang


sebuah fungsi logika secara digital. FPGA (fieldprogrammable gate array), adalah sebuah perangkat
yang memungkinkan kita untuk mendesain sebuah
fungsi logika melalui komputer dengan cara
skematik drag-and-drop, maupun dengan menulis
source code program VHDL. Kedua cara ini
didukung oleh software ALTERA QUARTUS II dan
ModelSim.

2.

STUDI PUSTAKA

Fungsi yang diberikan tiap seri-7400 sudah tetap


dan tidak bisa dirubah untuk menyesuaikan
dengan desain tertentu. Fakta ini, ditambah dengan
keterbatasan jumlah gerbang logika pada tiap chip,
membuat chip ini tidak efisien untuk membangun
sirkuit logika yang besar. Sangat mungkin untuk
membuat chip yang berisi relatif lebih banyak
sirkuit logika dengan struktur yang tidak tetap.
Chip seperti itu pertama dikenalkan pada tahun
1970 dan disebut programmable logic devices
(PLDs). [1]

elemen memori (register) mulai dari flip-flop


sampai pada RAM (Random Access Memory).
FPGA sangat sesuai untuk pemrosesan komputasi
dari algoritma integrasi numerik. Keuntungan
implementasi
FPGA
digunakan
untuk
meningkatkan
efisiensi
rancangan
dengan
cara mengurangi
pemakaian
pemrograman
perangkat lunak (software). FPGA mempunyai
koreksi error yang kecil dan merupakan teknologi
yang bebas (technology-independent) untuk
diimplementasikan dalam berbagai algoritma.
Kinerja aplikasi FPGA lebih cepat dibandingkan
dengan aplikasi mikrokontroler, karena FPGA
hanya mensintesis perangkat keras (hardware) saja,
sementara mikrokontroler mengeksekusi instruksi
perangkat lunak (software) yang digunakan untuk
mengendalikan perangkat keras (hardware),
sehingga waktu tunda yang diimplementasikan
hanya memakan waktu tunda perambatan
(propagation delay) saja. Pemodelan FPGA
membutuhkan informasi terkait dengan tingkat
perbedaan abstraksi dan jenis model yang
digunakan. Seorang perancang FPGA harus
mampu mengambil beberapa tahapan pemodelan
untuk memastikan hasil model rancangannya
melalui model simulasi yang telah disediakan
oleh vendor FPGA masing-masing.

2.1

FIELD-PROGRAMMABLE GATE ARRAY


(FPGA)
Field-Programmable
Gate
Array
(FPGA)
merupakan sebuah IC digital yang sering
digunakan
untuk
mengimplementasikan
rangkaian digital. FPGA berbentuk komponen
elektronika dan semikonduktor yang terdiri dari
komponen gerbang terprogram (programmable
logic) dan sambungan terprogram (interkoneksi).
Komponen gerbang terprogram yang dimiliki
meliputi jenis gerbang logika biasa (AND, OR,
NOT) maupun jenis fungsi matematis dan
kombinatorik yang lebih kompleks, seperti decoder,
adder, subtractor, multiplier, dll. Blok-blok
komponen di dalam FPGA bisa juga mengandung

Gambar 2-1 Core dari FPGA Stratix IV ALTERA

Pengertian terprogram (programmable) dalam


FPGA adalah mirip dengan interkoneksi saklar
dalam breadboard yang bisa diubah oleh pembuat
desain sesuai kebutuhan pengguna. Dalam FPGA,
interkoneksi ini bisa diprogram kembali oleh
pengguna maupun pendesain didalam lab atau
lapangan (field). Oleh karena itu jajaran gerbang
logika (Gate Array) ini disebut field-programmable.
Jenis gerbang logika yang bisa diprogram meliputi

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

semua gerbang dasar untuk memenuhi kebutuhan


yang manapun.[2]

3.

METODOLOGI

Pada percobaan 2A Mendesain Full Adder dengan


Skematik akan mendesain rangkaian full adder
menggunakan software ALTERA QUARTUS II.
Gambar 3-2 Skematik yang digunakan pada Percobaan

Membuat folder Tutorial 1


dan Tutorial 2

Jalankan QUARTUS II9.0 sp2


Web Edition

Memilih New Project dan


memilih folder Tutorial 1

Pilih device EPC2C20F484C7

Buat jendela baru dengan tipe


Block Diagram/Schematic file

2a

Nama Pin I/O

Kaki yang digunakan DE1

PIN_L22

PIN_L21

PIN_M22

A_OUT

PIN_J2

B_OUT

PIN_E2

C_OUT

PIN_H1

CARRY

PIN_D1

SUM

PIN_E1
Tabel 3-1 Referensi kaki komponen

Buat rangkaian seperti pada


gambar 3-2

Tetapkan I/O pin pada kaki


FPGA seperti tabel 3-1

Buatlah netlist untuk simulasi

Membuat waveform masukan

Mengimplementasikan desain
Gambar 3-1 Diagram Percobaan 2a

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Pada percobaan 2B Mendesain Full Adder Dengan


Pendekatan Bahasa VHDL kita akan menggunakan
bantuan software ModelSim.

Buat jendela baru


dengan tipe VHDL FILE

Pilih device
EPC2C20F484C7
Masukan source code
seperti gambar 3-6
Buat jendela baru dengan
tipe VHDL FILE
Buatlah netlist untuk
simulasi
Masukan source code
seperti gambar 3-4
Membuat waveform
masukan

Tetapkan I/O pin pada kaki


FPGA seperti tabel 3-1
Mengimplementasikan
desain
Buatlah netlist untuk
simulasi

Gambar 3-5 Diagram Percobaan 2c

Membuat waveform
masukan

Mengimplementasikan
desain
Gambar 3-3 Diagram Percobaan 2b

Gambar 3-4 Source code percobaan 2b

Gambar 3-6 Source code percobaan 2c

Pada percobaan 2C Mendesain 4-Bit Ripple Carry


Adder dengan VHDL kit akan mencoba membuat
3-Bit Ripple Carry Adder dengan menggunakan
VHDL yang sebelumnya sudah kita buat dengan
menambahkan sedikit.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Percobaan 2D Mendesain 4-Bit Adder dengan


Skematik.

Jalankan program ModelSim


ALTERA STARTER EDITION 6.4a

Copy file pendukung dari


website labdasar
Buatlah library baru
Buat jendela baru dengan tipe
Block Diagram/Schematic file
Load file model simulasi dari
file VHDL
Buat rangkaian seperti pada
gambar 3-8
Compile desain
Buatlah netlist untuk simulasi
Start simulation

Membuat waveform masukan


Run simulation
Gambar 3-9 Diagram Percobaan 2e

Mengimplementasikan desain
Gambar 3-7 Diagram Percobaan 2d

Percobaan 2F Membuat Test Bench


Ada cara lain untuk mensimulasikan suatu
sistem/rangkaian digital selain memasukan
inputnya satu-persatu. Cara ini adalah dengan
membuat suatu file VHDL yang berfungsi untuk
memberikan input pada rangkaian yang akan diuji
(disebut DUT: design under test). File ini disebut
stimulus generator.

Gambar 3-8 Gambar skematik percobaan 2d

Percobaan 2E Simulasi Sederhana Menggunakan


ModelSim. Pada percobaan ini kita akan
melakukan simulasi dengan software yang berbeda,
yaitu Modelsim.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

sinyal ini, kita dapat mengetahui lebih detail


bagian yang salah.

Gambar 3-10 Source code Percobaan 2g

4.
4.1

HASIL DAN ANALISIS


PERCOBAAN 2A: MENDESAIN
FULL ADDER DENGAN
SKEMATIK

Hasil dari percobaan 2a, keluaran dari rangkain full


adder menggunkan pendekatan skematik sudah
berjalan dengan baik karena sudah sama dengan
referensi gambar 4-1.

Gambar 4-1 Tabel Kebenaran Full Adder

Gambar 4-2 Hasil keluaran percobaan 2a

Gambar 3-10 Source code Percobaan 2f

Percobaan 2G Melakukan Tapping Sinyal dari


Sebuah Desain. Pada praktikum kali ini, kita akan
melakukan tapping sinyal pada sebuah desain
untuk dimunculkan pada waveform simulator.
Tapping signal adalah mengambil nilai sinyal yang
sebenarnya
bukan
merupakan
output
sistem/rangkaian digital yang sedang diuji. Proses
ini dilakukan untuk mencari, jika ada
kesalahan/bug. Dengan menggunakan tapping

4.2

PERCOBAAN 2B: MENDESAIN FULL


ADDER DENGAN PENDEKATAN
BAHASA VHDL

Pada saat simulasi terjadi perbedaan antara


pendekatan skematik dan VHDL, yaitu pada
bagian output, karena pada pendekatan skematik
adanya A_OUT, B_OUT, C_OUT maka kita bisa
tahu bahwa input mana saja yang berjalan,
sedangkan pada pendekatan VHDL tidak ada
A_OUT, B_OUT, C_OUT menjadikan kita tidak
tahu input mana saja yang sedang on, kita hanya

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

tau hasilnya saja. Namun untuk masalah logika


pendekatan VHDL maupun pendekatan skematik
tidak memiliki perbedaan karena keduanya
menghasilkan keluaran seperti pada Gambar 4-1.

4.4

PERCOBAAN 2D: MENDESAIN 4BIT ADDER DENGAN SKEMATIK

Kelebihan menggunakan pendekatan skematik


adalah adanya indikator input dan juga dengan
kita mendesain rangkaian secara langsung kita jadi
tahu bahwa bagaimana bentuk rangkaian yang
sebenarnya. Sementara kekurangnnya adalah cara
pembuatan yang cukup rumit karena kita harus
menempatkan semua komponen dan juga harus
menghubungkannya secara manual.
Kelebihan desain dengan pendekatan VHDL
adalah relatif lebih mudah karena kita hanya
tinggal mengetikan source code tanpa harus pusing
bagaimana
keadaan
rangkaian
yang
sesuangguhnya. Namun dengan kelebihannya ini
akan membuat kita kurang paham dengan
rangkaian itu sendiri.

Gambar 4-5 Hasil keluaran percobaan 2d

Dari hasil yang saya dapatkan percobaan 2c dan


percobaan 2d memiliki hasil yang berbeda, hal ini
bisa disebabkan karena kurangnya ketelitian saat
menuliskan source code ataupun saat mendesain
menggunakan pendekatan skematik.

4.5

PERCOBAAN 2E: SIMULASI


SEDERHANA MENGGUNAKAN
MODELSIM

Gambar 4-3 Hasil keluaran percobaan 2b

4.3

PERCOBAAN 2C: MENDESAIN 4-BIT


RIPPLE CARRY ADDER DENGAN
VHDL

Gambar 4-6 Hasil keluaran percobaan 2e

GAMBAR 4-4 HASIL KELUARAN PERCOBAAN 2C

Gambar 4-7 Hasil keluaran percobaan 2e Force

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Gambar 4-8 Hasil keluaran percobaan 2e No Force

Pada gambar diatas dapat disimpulkan bahwa


perintah force berfungsi untuk memaksa input
bernilai logika tertentu (1/0).

5.

KESIMPULAN

Dalam percobaan kali ini terdapat 2 software yang


kita gunakan yaitu yang pertama ALTERA
QUARTUS II dan ModelSim, perbedaan dari kedua
software ini adalah pada ALTERA QUARTUS II kita
bisa melakukan desain menggunakan pendekatan
VHDL dan pendekatan skematik, hal ini
menjadikan ALTERA QUARTUS lebih user
friendly dibanding ModelSim.
Namun kelebihan dari ModelSim yaitu kita dapat
menggunakan testbench, yaitu sebuah file yang kita
digunakan untuk menguji desain yang sudah kita
buat.
Secara umum untuk membuat sebuah rangkain
dapat digunakan dua pendekatan yaitu dengan
pendekatan skematik dan juga dengan pendekatan
VHDL yang masing-masing punya kelebihan dan
juga memiliki kekurangan.
Rangkaian Full Adder dapat diimplementasikan
dengan kedua cara diatas, sedangkan fungsi dari
rangkaian Full Adder itu sendiri adalah untuk
menjumlahkan
bilangan
biner
tanpa
menghilangkan carry.

DAFTAR PUSTAKA
[1]

Stephen Brown and Zvonko Vranesic,


Fundamentals of Digital Logic with VHDL Design
Third Edition, hal 98, McGraw-Hill, San
Francisco, 2009.

[2]

https://id.wikipedia.org/wiki/FPGA,
5 Oktober 2016, 20:16 WIB.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Anda mungkin juga menyukai