Anda di halaman 1dari 11

MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGA

Najmi Azzahra Feryputri (13221086)


Asisten: Theodore Maximillian Jonathan (13219021)
Tanggal Percobaan: 27/09/2022
EL2102-Praktikum Sistem Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak
Pada praktikum modul 2 pengenalan desain menggunakan
FPGA ini praktikan akan mengenal cara untuk merancang
rangkaia digital dengan target FPGA dan dapat pula
melakukan perancangan rangkaaian dgital dengan target
FPGA, baik itu secara skematik maupun menggunakan
Bahasa VHDL. Praktikan akan melakukan simulasi
fungsional terhadap beberapa rangkaian skematik dan kode
VHDL. Hasil yang diperoleh praktikan berupa trurth table
yang diambil dari grafik hasil percobaan. Hasil dari
percobaan cukup baik.
Kata kunci: FPGA, rangkaian, digital, skematik, Gambar 2-1 Board FPGA Altera DE1[3]
VHDL.

1. PENDAHULUAN
Percobaan pada modul ini secara umum bertujuan
agar praktikan memahami cara mendesain dan
merancaang rangkaian digital dengan
menggunakan Bahasa VHDL dan skematik pada
FPGA. Adapun tujuan rinci dari modul ini:
1) Mempelajari Teknik perancangan rangkaian
digital dengan target FPGA.[1]
2) Dapat melakukan perancangan rangkaian
digital dengan target FPGA baik
menggunakan pendekatan skematik maupun
Bahasa VHDL.[1]

2. STUDI PUSTAKA

2.1 FPGA
FPGA (field programmable gate array) adalah salah
satu tipe PLD (programmable logic device) yang rumit. Gambar 2-2 Flowchart proses perancanagan rangkaian
FPGA adalah PLD yang dapat digital dengan target FPGA[1]
mengimplementasikan rangkaian digital yang
besar yang tersusun dari ratusan ribu gerbang Tabel 2-1 Spesifikasi Altera DE1 [3]
logika.[2] FPGA dapat diprogram sesuai dengan FPGA Device Cyclone II Cyclone V SoC
kebutuhan dan fungsionalitas yang diinginkan.
EP2C20F484 5CSEMA5F31C6N
Pada praktikum modul 2 ini digunakan FPGA
ALTERA DE1 dengan spesifikasi ditunjukkan pada
tabel 2-1. Secara umum alur perancangan Speed Grade C7 C6
rangkaian digital dengan menggunakan FPGA dari
ALTERA Logic Elements 18.752 85,000
(Les)
dapat digambarkan seperti flowchart pada Gambar
2-2. SDRAM 8 MB 64 MB

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1


SRAM 512 KB ---
Untuk penjumlahan dengan jumlah bit yang lebih
banyak, dapat dilakukan dengan menambahkan
Flash 4 MB --- rangkaian HALF ADDER, sesuai dengan jumlah
bit input. Terdapat beberapa jenis rangkaian FULL
SD Card 1 --- ADDER, yaitu PARALLEL ADDER, LOOK
AHEAD CARRY ADDER, dan CARRY SAVE
Audio Codec 24-bit CD 24-bit CD Quality ADDER dimana masing‐masing memiliki
Quality
kelebihan dan kekurangannya.[1]
VGA 4-bit Resistor 8-bit UXGA
Network

NTSC/PAL DTV --- DTV Decoder x1


Decoder

USB Blaster Built-in Built-in (USB


Blaster II)

IrDA --- 1(TX) + 1(RX)

LEDs 18 10

Switches 10 10

Push Buttons 4 4

Gambar 2-3 Tabel kebenaran dan Kmap dari FULL


Expansion Ports 2 kali 40 pin 2 kali 40 pin ADDER[1]

7-Segment 4 6

Extra features --- 8 channel ADC

2.2 FULL ADDER


Keunggulan FULL‐ADDER bila dibandingkan
dengan HALF‐ADDER adalah kemampuan‐nya
menampung dan menjumlahkan bit CARRY‐in Gambar 2-4 Salah satu bentuk rangkaian Full Adder[1]
(Cin) yang berasal dari CARRY‐out (Cout) dari
tahapan sebelumnya. Oleh karenanya fungsi FULL 2.3 DUT DAN TESTBENCH
ADDER itu sendiri adalah menjumlahkan ketiga DUT (Device Under Test) adalah metode simulasi
bit input yaitu bit A, bit B dan Cin untuk sistem/rangkaian digital dengan membuat file
menghasilkan dua bit output yaitu S dan Cout.[1] VHDL yang berfungsi untuk memberikan input
Dengan menginterprestasikan fungsi dan melihat pada rangkaian yang akan diuji[1]. File ini disebut
format operasi rangkaian FULLADDER, tabel stimulus generator. Dengan ini, input rangkaian
kebenaran dapat disusun untuk setiap tidak perlu dimasukkan satu persatu. Testbench
kemungkinan kombinasi ketiga bit input. adalah metode simulasi untuk menguji desain
Diasumsikan input berasal dari sumber logika DUT dengan cara memberi sinyal stimulus
positif dan output berupa ACTIVE HIGH.[1] masukan dan memverifikasi keluaran desain.
Testbench merupakan modul yang
Langkah selanjutnya adalah membuat K‐Map orde menggabungkan stimuus generator dan DUT.
2 dari tabel kebenaran tersebut. KMap ini akan
membantu merumuskan fungsi logika dari S dan
Cout.[1]
Implementasi rangkaian FULL‐ADDER dibuat
berdasarkan persamaan ekspresi logika pada
gambar 2-3. Rangkaian ini dapat tersusun dari dua
buah HALF‐ADDER (HA1 dan HA2), seperti Gambar 2-3 Hierarki modul testbench dan DUT[1]
terlihat pada Gambar 2-4.[1]

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2


2.4 TAPPING SINYAL Buat folder baru dalam
PC/komputer tempat kita
Tapping signal adalah mengambil nilai sinyal yang menyimpan rancangan Jalankan Quartus ii 9.0 sp2
rangkaian. Untuk percobaan Web Edition
sebenarnya bukan merupakan output ini buat folder tutorial1 dan
sistem/rangkaian digital yang sedang diuji. Proses tutorial2.
ini dilakukan untuk mencari, jika ada
kesalahan/bug. Dengan menggunakan tapping
sinyal ini, kita dapat mengetahui lebih detail
bagian yang salah.[1]
Klik Next pada jendela
klik File→ New Project Wizard
Introduction.
3. METODOLOGI
Komponen dan alat yang digunakan selama
praktikum ini adalah :

1. Komputer (PC) yang telah (1 buah) Akan terbuka sebuah jendela


Carilah folder yang sudah
terinstal program Quartus II baru, pada kolom paling atas
dibuat sebelumnya. Akhiri
tekan tombol "..." yang ada
dengan klik Open.
di sebelah kanan.
2. FPGA development board (1 buah)
tipe ALTERA DE1

3. Board FPGA tipe DE1 (1 buah) Pada kolom berikutnya


(terkait nama project),
Klik Next untuk sampai ke
ketikkan nama folder yang
jendela “Add Files”, lewati
4. Catu daya + kabel dan (1 buah) sudah dibuat. Pastikan pada
jendela ini dengan klik Next
kolom ketiga terkait top
kembali
konektor tambahan level entity terisi nama
yang sama.

Langkah-langkah yang dilakukan untuk


praktikum modul ini adalah:
Akan terbuka jendela baru,
3.1 PERCOBAAN 2A: MENDESAIN FULL pada daftar“Family” untuk
yang mendapatkan board
kemudian ,dalam bagian
device pilih EP2C20F484C7.
ADDER DENGAN SKEMATIK DE1 untuk “Family” pilih Setelah itu klik Finish.
CycloneII,
Dalam percobaan ini digunakan software
QUARTUS II 9.0 sp2 Web Edition. Gambar 3-1 (a) Diagram alur cara membuat projek baru di
Quartus II.
Prosedur percobaan:
b. Memilih metode perancangan rangkaian
a. Membuat Projek baru menggunakan
QUARTUS II 9.0 sp2 Web Edition
Klik File→New, pada jendela
yang tampil pilih: 1) Block
Diagram/Schematic File jika
ingin melakukan
Simpan file. Untuk percobaan
perancangan dengan
2A ini simpan file sebagai
skematik dan 2)VHDL File
Tutorial1.bdf
jika ingin melakukan
perancangan dengan bahasa
VHDL sebagai pilihan desain
, kemudian klik OK.

Apabila memilih skematik,


gunakan symbol tools untuk
menambahkan komponen
pada skema. Cari komponen
Jika menggunakan bahasa
gerbang pada
VHDL, tuliskan kode.
..\primitives\logic dan
Simpan file skema/vhdl.
komponen I/O pada
..\primitives\pin. Untuk
percobaan ini rancang skema
seperti gambar 3-1 (b-2)

Gambar 3-1 (b-1) Diagram alur cara memilih metode


perancangan rangkaian pada Quartus II.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3


Gambar 3-1 (b-2) Skematik percobaan 2A

c. Menetapkan I/O pin pada kaki FPGA


Gambar 3-1 (c-1) dari atas ke bawah:
tabel data posisi kaki yang terhubung ke switch FPGA,
tabel data posisi kaki yang terhubung ke seven segment, 7
segment, dan referensi penempatan I/O untuk percobaan
2A.[1]

Pilih Processing→Start→Start
Analysis & Synthesis atau Pilih Assignment→Pin
Ctrl+K (Pastikan tidak ada Planner.
error).

Akan terbuka sebuah


jendela baru dimana
sebelah atas akan ada
gambar FPGA dengan
klik Direction untuk
posisi kaki‐kakinya dan di
mengurutkan pin.
bawah ada daftar yang
sudah berisi port
input‐output pada 7
segment dan switch.

Pada kolom Location


double‐klik kiri kolom Gunakan switch untuk
yang sebaris dengan port masukan dan LED pada
yang ditinjau. Akan 7‐segment untuk
muncul suatu daftar kaki keluaran.
FPGA yang bisa dipakai

Pilih pin yang ingin


dipakai untuk setiap
input/ouput.

Gambar 3-1 (c-2) Diagram alur cara menetapkan I/O pada


kaki FPGA

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4


d. Pembuatan Netlist untuk simulasi Gambar 3-1 (e) Diagram alur cara membuat waveform
masukan
Pilih Klik pada tombol f. Mengimplementasikan Desain
Pilih Processing Simulation Generate Functional
→Simulator Mode Simulation Netlist
Tool. menjadi (Pastikan tidak ada Siapkan board FPGA
Functional. error). Anda, pasang kabel
Lakukan kompilasi ,
catu daya dan kabel
pilih Processing→Start
programmer pada
Compilation.
tempatnya, nyalakan
board tersebut.
Klik pada check box
di sebelah kiri Buat file
“Overwrite yang akan Untuk membuatnya, klik
Simulation input file digunakan pada tombol Open pada
with simulation sebagai bagian bawah jendela Klik Add Hardware,
result” agar setiap sumber Simulator Tool. Akan Untuk konfigurasi, klik untuk DE1 klik 2 kali
kita melakukan dari didapatkan jendela baru Tools→Programmer. pada USB‐Blaster (Jika
simulasi hasilnya masukan yang memiliki nama Klik pada tombol tidak ada minta
langsung vektor default waveform1.vwf. Hardware setup. bantuan asisten untuk
ditampilkan pada simulasi. menginstall).
file simulasi kita

Klik kanan kolom Pilih


Klik kanan pada tombol
Name, pilih Filter→Pins→
dengan tanda >> untuk Sorot nama file .sof,
Insert→Insert all, kemudian lakukan checklist pada
mensimulasikan seluruh
Node or klik kiri pada kolom
port. pada bagianMode pilih
Bus→Node Finder. tombol List
“Program/Configure”,
JTAG.
kemudian klik tombol
Start untuk
memprogram FPGA.
Klik Detach Kemudian pada kolom
Window, simpan Simulation Input di
file. Untuk Simulator Tool, pilih file Gambar 3-1 (f) Diagram alur cara mengimplementasikan
percobaan ininama Tutorial1.vwf sebagai input desain pada FPGA
file Tutorial1.vwf simulasi.

Gambar 3-1 (d) Diagram alur cara membuat netlist untuk


3.2 PERCOBAAN 2B: MENDESAIN FULL
simulasi ADDER DENGAN PENDEKATAN
BAHASA VHDL
e. Membuat waveform masukan
Apabila pada akhir tahapan sebelumnya pada
Simulator Tool kita klik tombol Start, maka
simulasi bisa terjadi dengan bentuk input
default yang biasanya tidak sesuai dengan
keperluan kita, oleh karena itu pada tahapan ini
kita mendefinisikan bentuk sinyal masukan

Buka kembali file


Tutorial1.vwf
Klik kiri pada Gambar 3-2 (a) Kode VHDL untuk percobaan 2B
dengan
port masukan A Perhatikan pada
menggunakan
pada kolom jendela utama
File→Open
paling kiri file dibagian kiri Prosedur Percobaan:
ataupun
tersebut
SimulatorTool→
Open

Buat projek baru dengan Pilih metode


tata cara sama seperti perancangan VHDL
Pilih salah satu tahap a percobaan 3-1. dengan tata cara sama
kotak tombol Pada jendela Namakan project seperti tahap b percobaan
bernama Clock seperti
pada Gambar 7
"modul2vhdl" 3-1.
setelah bagian Overwrite Clock
Project Navigator. (berada di dalam bagian kanan
toolbar dari pilih Time
jendela Period→Period
waveform)

Lakukan simulasi
Kopi kode pada gambar
fungsional, ulangi
Setelah itu pada di atas lalu simpan file
Isi perioda, untuk jendela Simulator kembali tahapan c-f
percobaan ini isi Amati hasil VHDL tersebut.
Tool pilih tombol percobaan 3-1.
A=10 ns, B=20 ns simulasi
Start untuk
dan C=40 ns memulai simulasi.
Gambar 3-2 (b) Diagram alur untuk percobaan 2B

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5


3.4 PERCOBAAN 2D : MENDESAIN
4‐BIT ADDER DENGAN
3.3 PERCOBAAN 2C : MENDESAIN SKEMATIK
4‐BIT RIPPLE CARRY ADDER
DENGAN VHDL
Kita dapat membangun n-bit adder dengan
memanfaatkan kode vhdl sebelumnya melalui
penggunaan kata kunci component. Di bawah ini
Anda akan diberikan contoh 4 ‐ bit full adder
dengan arsitektur Ripple Carry Adder.

Gambar 3-4 (a) Skematik untuk percobaan 2D

Prosedur percobaan:

Buat projek baru


Kopi file pendukung yang
dengan tata cara sama
bernama FullAdder.bsf dan
seperti tahap a
FullAdder.bdf dari website
percobaan 3-1.
labdasar ke dalam folder
Namakan project
proyek.
"adder4bit2"

Pilih metode
Perlu diingat komponen
perancangan skematik
FullAdder dapat
dengan tata cara sama
ditemukan di direktori
seperti tahap b
project pada symbol tool.
percobaan 3-1.

Gambar 3-3 (a) Kode VHDL untuk percobaan 2C

Prosedur percobaan:

Lakukan simulasi
Buat rangkaian pada
fungsional, ulangi
Buat projek baru dengan Pilih metode gambar 3-4 (a) lalu
kembali tahapan c-f
tata cara sama seperti perancangan VHDL simpan file tersebut.
percobaan 3-1.
tahap a percobaan 3-1. dengan tata cara sama
Namakan project seperti tahap b percobaan
"adder4bit" 3-1.
Gambar 3-4 (b) Diagram alur percobaan 2D

3.5 PERCOBAAN 2E : SIMULASI


SEDERHANA MENGGUNAKAN
Lakukan simulasi
Kopi kode pada gambar
fungsional, ulangi
MODELSIM
3-3 (a) lalu simpan file
kembali tahapan c-f
VHDL tersebut.
percobaan 3-1.
Pada percobaan ini kita akan melakukan simulasi
dengan software yang berbeda, yaitu Modelsim®.
Modelsim yang digunakan adalah bawaan dari
Gambar 3-3 (b) Diagram alur percobaan 2C
software Altera Quartus® versi starter edition (free
license), yaitu Modelsim ALTERA STARTER
EDITION 6.4a Pada percobaan ini praktikan
diminta melakukan simulasi dengan desain yang
sederhana dan masih menggunakan interface GUI
software.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6


Prosedur percobaan 3.6 PERCOBAAN 2F: MEMBUAT
TESTBENCH
a. Memulai simulasi dan konfigurasi library dan
directory yang akan digunakan. Ada cara lain untuk mensimulasikan suatu
sistem/rangkaian digital selain memasukan
Bukalah program
Pilih folder sebagai
inputnya satu‐persatu. Cara ini adalah dengan
Modelsim ALTERA membuat suatu file VHDL yang berfungsi untuk
direktori kerja dengan
STARTER EDITION
cara, pilih File ‐> memberikan input pada rangkaian yang akan diuji
6.4a, pilih Close untuk
Change Directory,
menutup jendela awal
masukan path direktori (disebut DUT: design under test). File ini disebut
yang muncul di
program ini.
folder kerja. stimulus generator.
Setelah itu dibuat satu modul yang
menggabungkan stimulus generator dan DUT tadi.
Testbench digunakan untuk menguji desain (DUT)
Setelah menentukan
folder yang akan dengan cara memberi sinyal stimulus masukan
digunakan, buatlah Namakan library dan memverifikasi keluaran desain. Gambar di
library baru dengan cara tersebut "work"
memilih File→New→ bawah mengilustrasikan hierarki modul testbench
Library. dan DUT.
Gambar 3-5 (a) Diagram alur memulai simulasi dan
mengatur library dan directory pada modelsim

b. Menjalankan simulasi
Compile desain yang
Tentukan file yang akan di
ingin disimulasikan
compile pada jendela yang
dengan cara memilih
muncul, lalu klik Compile.
Compile ‐> Compile

Langkah-langkah diatas
Apabila file telah dilakukan untuk membuat
selesai di compile, model simulasi dari file VHDL
pilih Done. (“modul2vhdl.vhd”) yang telah
dibuat.

Pada jendela yang muncul


seperti gambar di bawah ini,
pilih file yang akan
Pilih Simulate→Start disimulasikan (harus sudah
Simulation. dicompile). Dalam langkah
ini, kita memilih modul yang
ada dalam library kita (work)
untuk disimulasikan.

Tambahkan wave di window


simulator dengan cara Right
Pilih OK
Click →Add→To Wave →All
item in region

Kemudian buatlah Gambar 3-6 (a) Kode VHDL untuk percobaan 2F


stimulus (sequence Masukkan nilai periode clock
signal) pada simulasi simulasi sebesar 50ps untuk
dengan cara memilih sinyal A, pilih OK,
Right Click ‐> Clock.

Tambahkan
100ps untuk Coba simulasi
sinyal B dan Jalankan dengan setting
200ps untuk simulasi, pilih Force dan No
sinyal C. Simulate→Run Force pada
Stimulus. waveform
Gambar 3-6 (b) Script yang diganti
Gambar 3-5 Diagram alur percobaan 2E

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 7


Prosedur percobaan Prosedur percobaan

Lakukan modifikasi pada


Buatlah direktori (folder) file DUT dengan cara Simpan perubahan yang
baru pada direktori yang mengubahnya menjadi terjadi pada file tersebut.
telah dibuat sebelumnya. Lakukan proses seperti gambar 3-7 (a)
Tambahkan file testbench compile file tersebut
dan file DUT (Device dengan cara seperti
Under Test) dengan cara langkah 1 pada
mengetikkan kode pada percobaan 2A‐a dan
gambar 3-6 kemudian 2A‐b. Kemudian Lakukan kembali compile Jalankan simulasi seperti
menyimpannya pada lakukan simulasi dan simulasi pada file pada tahap b persobaan
direktori tersebut untuk seperti langkah 2‐3 yang telah dimodifikasi 3.5 tanpa mengatur clock
file testbench dan pada percobaan 2A‐b seperti pada langkah 2 dan setting Force/No
meng‐copy dari apabila proses pada percobaan c. Force
percobaan compile telah selesai.
sebelumnya(percobaan Gambar 3-7 (b) Diagram alur percobaan 2G
2B) untuk file DUT.

4. HASIL DAN ANALISIS


Kemudian lakukan
Modifikasi pada 4.1 PERCOBAAN 2A: MENDESAIN FULL
stimulus generator, ADDER DENGAN SKEMATIK
Jalankan simulasi dengan cara mengubah
dengan memilih script yang telah
menu Simulate ‐> disimpan sebelumnya.
Run. Ubah bagian script yang
mendefinisikan periode
clock dengan script pada
gambar 3-6 (b)

Simpan perubahan
yang terjadi pada
file tersebut. Setelah proses simulasi
Lakukan kembali berjalan, hentikan
compile dan proses tersebut dengan
simulasi pada file memilih menu Simulate
yang telah → End Simulation.
dimodifikasi seperti
pada langkah 2.
Gambar 4-1 (a) Truth table hasil percobaan 2A
Gambar 3-6 (c) Diagram alur percobaan 2F

3.7 PERCOBAAN 2G: MELAKUKAN


PROSES TAPPING SINYAL DARI
SEBUAH DESAIN

Gambar 4-1 (b) Kondisi 7 segment hasil percobaan 2A

Pada percobaan 2A ini dibuat Full Adder


menggunakan pendekatan skematik serta
mengimplementasikan Full Adder pada FPGA.
Pada gambar 4-1 (a), dapat dilihat bahwa output
switch FPGA berupa Sum dan Cout memiliki nilai
logika yang sama dengan truth table Full Adder
Gambar 3-7 (a) Kode VHDL untuk percobaan 2G
pada subbab 2.2, gambar 2-3. Hal ini membuktikan
bahwa secara skematik Full Adder yang dibuat
sudah benar. Pada gambar 4-1 (b), dapat dilihat
kondisi 7 segment pada setiap variasi input. Untuk

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 8


percobaan 2A sebagaimana digambarkan pada Dari percobaan 2A dan 2B , kita dapat menemukan
gambar 3-1 (b-2) di subbab 3.1, terdapat 5 output. beberapa perbedaan antara perancangan Full
Pada gambar 4-1 (b) juga terdapat 5 bagian seven Adder/sistem/rangkaian menggunakan
segment yang mati-nyala. Lima bagian ini pendekatan skematik dengan menggunakan
mewakili pin-pin output pada seven segment. pendekatan VHDL Yang pertama, jumlah output
Maka kita dapat menarik kesimpulan bahwa rancangan skematik lebih banyak dari output
implementasi Full Adder pada seven segment rancangan VHDL. Yang kedua dari segi proses
sudah baik karena jumlah pin pada seven segment perancangan, pendekatan skematik jelas lebi
dan jumlah pin output skematik sudah sesuai, membutuhkan ketelitian dan waktu yang lebih
menandakan output skematik Full Adder berhasil lama karena kita harus menambahkan semua
dibaca oleh FPGA. Berdasarkan output switch dan komponen elektrik yang ada dan menyambungkan
output seven segment FPGA, dapat disimpulkan segala komponen tersebut dengan kabel, berbeda
bahwa rangkaian digital dengan Full Adder yang dengan pendekatan VHDL yang tinggal
dibuat sudah benar. menuliskan kode. Yang ketiga, kesalahan pada
skematik yang rumit akan susah diubah mengingat
4.2 PERCOBAAN 2B: MENDESAIN FULL banyaknya kabel yang tersambung pada skematik,
ADDER DENGAN PENDEKATAN disbanding Bahasa VHDL yang tinggal mengubah
BAHASA VHDL baris-baris kode.
Berdasarkan perbedaan-perbedaan tersebut, baik
pendekatan skematik maupun VHDL memiliki
kelebihan dan kekurangan masing-masing.
Kelebihan skematik adalah sangat mudah
dimengerti cara perancangannya. Tetapi, skematik
juga memiliki kelemahan yaitu tidak bisa
digunakan untuk sistem yang terlalu kompleks,
karena pasti akan menghabiskan banyak waktu
dan harus sangat teliti untuk membuat skemanya.
Kelebihan VHDL adalah fleksibel, dapat
digunakan untuk merancang sistem yang
kompleks. Kelemahannya adalah sulit dimengerti
cara perancangannya.
Gambar 4-2 (a) Truth table hasil percobaan 2B
4.3 PERCOBAAN 2C: MENDESAIN 4‐BIT
RIPPLE CARRY ADDER DENGAN
VHDL

Gambar 4-2 (b) Kondisi 7 segment hasil percobaan 2B

Pada percobaan ini dibuat Full Adder dengan Gambar 4-3 Truth table hasil percobaan 2C
Bahasa VHDL. Dapat dilihat pada gambar 4-2 (a), Sesuai dengan Namanya, rangkaian yang
output Sum dan Cout sama denga truth table pada dirancang pada percobaan 2C ini memiliki fungsi
gambar 2.3 pada subbab 2.2 di studi pustaka. untuk menjumlahkan angka biner 4 digit (4 bit).
Selain itu, dapat dilihat pada subbab 3.2 gambar 3- Angka biner yang dijumlahkan ini merupakan
2 (a) Full Adder yang dirancang dengan Bahasa input lalu hasil penjumlahannya akan menjadi
VHDL hanya memiliki murni dua output yaitu S output 4 bit juga. Pada gambar 4-3 didapat input
dan Cout. Hal ini seuai dengan pin yang berubah 4-bit adalah A dan B serta output 4-bit adalah S
pada seven segment di gambar 4-2 (b), yaitu atau Sum, sesuai dengan penjelasan. Secara kode
sejumlah dua pin. Berdasarkan dua hasil ini, dapat yang dapat dilihat pada gambar 3-3 (a) maka
disimpulkan bahwa Full Adder yang dirancang jumlah bit input-output sudah benar. Sum pada
sudah benar. percobaan 2C ini merupakan penjumlahan dari

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 9


dua input 4-bit, bisa dirumuskan 𝑆𝑆𝑆𝑆𝑆𝑆 = 𝐴𝐴 + 𝐵𝐵 4.5 PERCOBAAN 2E: SIMULASI
untuk tiap 4 bit input dan output. Dengan SEDERHANA MENGGUNAKAN
formulasi ini, kita bisa mengecek setiap baris pada MODELSIM
tabel di gambar 4-3, misal baris pertama, dan
kedua:
A=1010=10, B=0000=0, Sum=1111=15
A=0000=0, B=1100=12, Sum=1111=15
Dari kedua perhitungan tersebut sama-sama
didapatkan A+B ≠ Sum. Hal ini disebabkan oleh
adanya overflow pada penjumlahan input 4 bit.
Dalam penjumlahan n bit input, hasilnya harus
berkisar antara -2n-1 hingga 2n-1 yang disebabkan
oleh adanya penjumlahan 1+1. Jika hasil (Sum)
tidak sesuai range tersebut maka pasti terjadi
overflow[1]. Pada gambar 4-3, hampir seluruh
hasil Sum tidak berada di range -8 hingga 8 Gambar 4-5 (a) Truth table hasil percobaan 2E
sehingga terjadi overflow.

4.4 PERCOBAAN 2D: MENDESAIN 4‐BIT


RIPPLE CARRY ADDER DENGAN
SKEMATIK

Gambar 4-5 (b) Truth table hasil percobaan 2E dengan


Force dan No Force pada sinyal

Pada percobaan ini dilakukan percobaan yang


sama dengan percobaan 2B di platform yang
berbeda, yaitu modelsim. Pada gambar 4-5 (a), kita
dapat melihat bahwa semua output yaitu S dan
Cout memiliki nilai yang sama dengan hasil pada
percobaan 2B yang terlampir pada gambar 4-2 (a).
Gambar 4-4 Truth table hasil percobaan 2D Maka output dari percobaan 2E ini sudah benar.
Sama seperti percobaan 2C , untuk membuktikan (buat truth tablenya)
bahwa adder4bit berfungsi dengan baik baik
haruslah 𝑆𝑆𝑆𝑆𝑆𝑆 = 𝐴𝐴 + 𝐵𝐵, pada gambar 4-4 misal kita Gambar 4-5 (b) adalah output saat diberi perintah
lakukan perhitungan untuk baris pertama, kedua, Force. Terlihat bahwa semua output bernilai 1.
dan ketiga: Sebaliknya, gambar 4-5 (c) adalah ouput saat sinyal
diberi perintah no force. Semua nilai output adalah
A=0000=0, B=0000=0, Sum=0000=0 0. Maka dapat disimpulkan bahwa suatu rangkaian
A=1000=8, B=1000=8, Sum=1111=15 dapat dimaksimalkan semua outputnya menadi
satu maupun sebaliknya, bisa diminumkan semua
A=0100=8, B=0100=8, Sum=1111=15 outputnya jadi nol.
Dua dari tiga perhitungan tersebut didapatkan
A+B ≠ Sum. Sama seperti percobaan 2C, hal ini 4.6 PERCOBAAN 2F: MEMBUAT
disebabkan karena terjadi overflow pada TESTBENCH
penjumlahan. Pada gambar 4-4 untuk data di baris
2 dan 3 terjadi overflow karena hasil Sum diluar
range -8 hingga 8. Untuk data di baris 4 dan 5
terjadi overflow karena adanya penjumlahan 1+1.
Satu-satunya hasi penjumlahan 4 bit yang valid
hanyalah pada baris satu. Maka kesimpulan yang
didapat adalah FullAdder dapat melakukan proses
aritmatika yaitu penjumlahan tetapi memiliki
Batasan berupa peristiwa overflow.

Gambar 4-6 (a) Hasil percobaan 2F langkah 2


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 10
2. Ada output switch yang akan menyalakan LED
dan output berupa seven segment pada FPGA.
Untuk megimplementasikan desain di FPGA,
harus ditentukan dulu posisi kaki-kaki input
dan output rangkaian. Nilai logika 1 dan 0
didapat dari switch. Output berupa nyala led
dan nyala seven sgment bergantung pada posisi
switch.

DAFTAR PUSTAKA
Gambar 4-6 (b) Hasil percobaan 2F langkah 5
[1] Mervin T Hutabarat dan Arif Sasongko.,
Pada percobaan 2F ini, kode VHDL pada Petunjuk Praktikum Praktikum Sistem Digital,
percobaan 2B ingin disimulasikan dengan metode Laboratorium Dasar Teknik Elektro, Bandung,
DUT dan Testbench. Gambar 4-6 (a) menunjukkan 2022.
output rangkaian yang sudah diberi stimulus [2] Stephen Brown dan Zvonko Vranesic,
generator. Gambar 4-6 (b) menunjukkan hasil dari Fundamentals Of Digital Logic with Verilog Design,
rangkaian dengan stimulus generator dan McGrawHill, Departement of Electrical and
testbench. Testbench berfungsi untuk menguji Computer Engineering, University of Toronto,
desain DUT. Karena gambar 4-6 (a) dan 4-6 (b) 2002.
menunjukkan output yang hampir sama maka
desain DUT sudah cukup baik. [3] https://www.terasic.com.tw/cgi-
bin/page/archive.pl?Language=English&Cate
4.7 PERCOBAAN 2G: MELAKUKAN goryNo=53&No=83&PartNo=6 diakses pada
PROSES TAPPING SINYAL DARI 28 September 2022 jam 19.17.
SEBUAH DESAIN [4] https://www.geeksforgeeks.org/4-bit-binary-
adder-subtractor/, diakses pada 29 September
2022 jam 00.05.
[5] https://pdf1.alldatasheet.com/datasheet-
pdf/view/12608/ONSEMI/7400.html
diakses pada 26 September 2022 jam 17.48.

Gambar 4-7 Truth table hasil percobaan 2G

Output pada gambar 4-7 sudah sesuai dengan hasil


perhitungan kode pada gambar 3-7(a) subbab 3.7.
Hal ini membuktikan bahwa kesalahan pada sinyal
sedikit dan proses tapping sinyal dapat dilakukan
dengan baik.

5. KESIMPULAN
1. Ada dua pendekatan yang dapat dilakukan
untuk merancang rangkaian digital, yaitu
metode skematik dan bahasa VHDL Bahasa
VHDL dapat digunakan untuk membuat
system yang kompleks dan rumit tetapi suli
dipahami semenjak pendekatan skematik
mudah dipahami tetapi cukup rumit dan tidak
bisa digunakan untuk merangcang system yang
kompleks, terdiri dari sangat banyak gerbang
logika.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 11

Anda mungkin juga menyukai