Anda di halaman 1dari 8

MODUL 1 Pengenalan Desain Menggunakan FPGA

Baihaqi Muhammad Syani (18319040)


Asisten: Dorothea Claresta Putripakerti
Tanggal Percobaan: 23/10/2020
EL2142-Praktikum Sistem Digital dan Mikroprosessor
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak rangkaian yang ada. Namun, hal tersebut akan


menguras waktu dan yang paling besar ialah biaya
Menjelaskan Di dalam modul 1 kali ini, sesuai yang harus dikeluarkan dalam pembuatan setiap
namanya kita diminta untuk melakukan rangkaian tersebut. Maka dari itu dikenalkan suatu
perancanagn desain rangkaian secara digital yang software yang berperan sebagai perancang
nantinya akan diimplementasikan melalui Field- rangkaian secara digital sekaligus simulator
Programmable Gate Array atau biasa disebut terhadap rangkaian yang dibuat.
dengan FPGA. Pada praktikum kali ini digunakan
Maka pada praktikum sebelumnya dikenalkan
quartus ii dan modelsim di dalam pelaksanaan
software Quartus ii® dan Modelsim® yang
percobaan yang akan dilakukan. Percobaan
dengannya praktikan diajarkan untuk dapat
dilakukan sebanyak tujuh kali yang mana
mengimplementasikan rancangan logika yang
diantaranya ialah mendesain full adder secara dibuat ke FPGA. Laporan ini akan berisi teori
skematik, mendesain full adder menggunakan ataupun rumus yang mendasari percobaan,
Bahasa yang terintegrasi dengaan FPGA yakni metodologi praktikum, hasil percobaan, analisis
VHDL, mendesain 4-bit carry ripple adder dengan percobaan, dan kesimpulan akhir yang ditarik
VHDL, mendesain 4-bit carry ripple adder dengan terhadap percobaan yang dilakukan.
menggunakan alur skematik. Selain itu juga
dilakukan beberapa percobaan menggunakan 2. STUDI PUSTAKA
modelsim seperti membuat simulasi sederhana
dengan modelsim, melakukan testbench, dan 2.1 FULL ADDER
melakukan tapping pada sinyal yang ada. Dari
Merupakan suatu bentuk datapath component yang
percobaan menggunakan quartus ii kita dapat
berfungsi dalam melakukan proses penjumlahan.
mengetahui kelebihan dan kekuranagn input yang ada pada full adder ialah satu bit ialah
dilakukannya desain rangkaian baik dengan Bit A, Bit B dan Carry-In (Cin) yang berasal dari
skematik ataupun VHDL. Ketika dihadapkan pada Carry-out (Cout) pada tahapan sebelumnya.
rangkaian sederhana VHDL seolah membuat Output yang didapatkan pada full adder 1 bit ada 2
proses yang dilakukan cukup singkat. Namun saat yaitu S (Sum) dan Cout. Desain dull adder dapat
rangkaiaan yang cukup kompleks diberikan maka dilihat pada Gambar 2-1.[1]
pada VHDL akan dibutuhkan pemahaman lebih
dalam penggunaan VHDL agar dapat mengerti
proses yang akan dilakukan, sehingga ketika
dialihkan pada proses skematik akan dirasakan
bahwa bentuk visual lebih mudah dipahami. Dalam
modelsim dapat diamati bahwa verifikasi
rangkaian yang telah dibuat dapat dilakukan, dan
juga dapat melakukan verifikasi dengan mengubah
nilai inputan melalui testbench, hingga dapat
menelusuri error yang terjadi pada sinyal.
Kata kunci: FPGA, Quartus ii, modelsim, skematik,
VHDL, carry ripple adder, testbench.

1. PENDAHULUAN
Bagi seorang insinyur elektro rangkaian merupakan Gambar 2-1
hal yang sangat penting dalam keilmuan yang
dipelajarinya. Mereka acapkalai diharuskan untuk 2.2 4-BIT CARRY RIPPLE ADDER
melaakukan percobaan ataupun suatu tes terhadap Untuk mendesain 4 bit carry ripple adder yang
suatu rangakaian maupun banyak dan beragam terbentuk dari 1 bit full adder kita bisa
1
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
mendesainnya menggunakan dua cara pada modul 4. Di dalam program, klik File -> NewProject
yang dipelajari. Cara yang pertama ialah dengan Wizard kemudian klik Next setelah muncul
menggunakan metode bantuan VHDL, sedangkan jendela Introduction.
yang kedua dilakukan dengan cara menggunakan  
metode skematik. Disini saya akan menjelaskan 5. Setelah muncul jendela baru, klik tombol
cara rangkaiannya dengan menggunakan datapath “...” pada kolom paling atas kemudian cari
component Adder yang mana lebih tepatnya ialah folder “Tutorial1” yang telah dibuat
full adder. Jadi untuk menghasilkan 4 bit carry sebelumnya. Setelah itu klik Open.
ripple adder akan dibentuk dari 4 buah full adder 1  
bit yang mana untuk setiap carry out yang keluat di 6. Pada kolom berikutnya ketikkan
tahap pertama akan masuk ke Carry-in di tahap “Tutorial1”.
kedua. Desain. Desain untuk 4-bit carry ripple
adder dapat dilihat pada gambar 2-2.[1]  
7. Klik Next, setelah muncul jendela baruklik
Next kembali.
 
8. Setelah muncul jendela baru, pilih Cylone II
pada daftar “Family” kemudian pilih
EP2C20F484C7 pada bagian device.
KlikFinish.
 
Gambar 2-2 b. Memilih dan Menempatkan Komponen
 
2.3 FPGA 1. Klik File -> New ->
BlockDiagram/Schematic File -> OK.
FPGA merupakan perangkat logika yang dapat  
diprogram lewat software dan dengannya 2. Klik File -> Page Setup -> Letter -> OK.
diimplementasikan rancangan logika menjadi suatu  
rangkaian digital. Dalam FPGA sendiri terdapat 3. Rangkai rangkaian Full Adder dengan
logic blocks yang dapat mengimplementasikan menempatkan komponen yang dibutuhkan
fungsi logika. Dalam FPGA ada tiga komponen dalam Symbol Tools.
utama yang digunakan yaitu logic blocks,  
input/output blocks, dan kawat penghubung.[2] c. Menambahkan Hubungan untuk Membentuk
Net
3. METODOLOGI  
Percobaan yang dilakukan pada modul 1 kali ini 1. Pilih “ Orthogonal Node Tool” kemudian
menggunakan bantuan software Quartus ii® dan hubungkan komponen dengan cara
Modelsim®. Sedangkan langkah-langkah yang melakukan klik kiri pada salah satu
dilakukan dalam setiap percobaan akan dijelaskan komponen yang ingin dihubungkan
pada subbab di bawah ini. kemudian drag hingga komponen yang
lain.
 
d. Pelabelan Net dan Pin I/O
3.1 MENDESAIN FULL ADDER  
DENGAN SKEMATIK 1. Klik dua kali pada port input/output yang
Berikut adalah langkah percobaan yang dilakukan: akan diubah namanya kemudian ubah
nama dari pin sesuai dengan nama yang
a. Membuat Projek Baru Menggunakan QuartusII diinginkan.
9.0 sp2 Web Edition  
  e. Menetapkan I/O Pin pada Kaki FPGA
1. Membuat folder baru di dalam folder  
PraktikumSisDig dengan nama sesuai 1. Simpan skematik yang telah dibuat
dengan nomor kelompok. kemudian pilih Processing -> Start ->
  StartAnalysis & Synthesis.
2. Pada folder tersebut dibuat folder baruyang  
bernama Tutorial1 dan Tutorial2. 2. Pilih Assignment -> Pin Planner.
   
3. Menjalankan program Quartus II 9.0 3. Klik “Direction” untuk mengurutkan pin.
sp2Web Edition.  
 
2
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
4. Pada kolom Location klik kiri dua kali
kolom yang sebaris dengan port yang 4. Klik Next. Setelah muncul jendela baru klik
ditinjau untuk memilih kaki pada FPGA Next kembali.
berhubungan dengan port tersebut.  
  5. Pada bagian “Family” pilih Cyclone II dan
f. Pembuatan Netlist untuk Simulasi pada bagian “Available Device” pilih
  EP2C20F484C7.
1. Pilih Processing -> Simulator Tool  
->Simulation Mode -> Functional. 6. Klik finish.
   
2. Klik “Generate Functional b. Memasukkan Desain VHDL
SimulationNetlist”.  
  1. Klik File -> VHDL File -> OK ->
3. Klik check box “Overwrite Simulationinput DetachWindows -> simpan dengan nama
file with simulation result”. “modul2vhdl.vhd”.
   
4. Klik “Open” pada bagian bawah 2. Ketikkan kode sumber VHDL yang sesuai.
jendela“Simulator Tool”.  
3. Setelah selesai simpan file.
5. Setelah muncul jendela baru, klik kanan  
pada bagian kolom “Name” jendela 4. Ulangi langkah percobaan pertama
tersebut dan pilih Insert -> Insert Node or mulaidari bagian e hingga terakhir.
Bus -> Node Finder -> Filter -> Pins: all
->List -> klik tombol “>>”. 3.3 MENDESAIN 4-BIT CARRY RIPPLE
  ADDER DENGAN PENDEKATAN VHDL
6. Klik “Detach Windows” lalu simpan file
simulasi dengan nama Tutorial1.vwf. 1. Buat folder baru dengan nama project dan
  top-level entity “adder4bit”.
7. Pada kolom “Simulation Input”
di“Simulator Tool” pilih “Tutorial1.vwf” 2. Tambahkan file vhdl pada project tersebut
sebagai input simulasi. dan tuliskan kode sumber vhdl untuk 4-bit
  ripple carry adder.
g. Membuat Waveform Masukan  
  3. Lakukan simulasi.
1. Buka “Tutorial.vwf” dengan File -> Open
atau SimulatorTool -> Open 3.4 MENDESAIN 4-BIT ADDER DENGAN
  SKEMATIK
2. Klik kiri pada port masukan A pada kolom
paling kiri file tersebut. 1. Buat project baru dengan nama project dan
  top-level entity “adder4bit2”.
3. Pilih “Overwrite Clock” kemudian atur  
perioda yang sesuai pada bagian 2. Kopi file pendukung yang bernama
“Timeperiod”. “FullAdder.bsf” dan “FullAdder.bdf” pada
  folder project.
4. Lakukan juga pada port masukan B dan C.  
  3. Buat file skematik kosong. Tambah blok
5. Setelah itu pada jendela “Simulator Full Adder yang telah dikopi ke file
Tool”pilih tombol “Start”. skematik.
   
3.2 MENDESAIN FULL ADDER DENGAN 4. Buat rangkaian 4-bit ripple carry adder
PENDEKATAN BAHASA VHDL dengan blok tersebut.

a. Membuat Projek Baru Kembali 3.5 SIMULASI SEDERHANA MENGGUNAKAN


  MODELSIM
1. Klik File -> New Project Wizard
  a. Memulai Simulasi dengan Menggunakan
2. Buka directory dan cari folder “Tutorial2”. Modelsim ALTERA STARTER EDITION 6.4a
   
3. Beri nama project dan top level entity :
“modul2vhdl”.
3
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
1. Buka program Modelsim ALTERA  
STARTER EDITION 6.4a. Pilih “Close” 3. Klik kanan pada jendela simulasi -> Add ->
pada tampilan jendela awal. To Wave -> Selected Items.
   
2. Pilih File -> Change Directory -> Tentukan 4. Simulate -> Run -> Ambil data.
folder kerja. [1]
 
3. Pilih File -> New -> Library -> Tentukan 4. HASIL DAN ANALISIS
nama library yang diinginkan.
  4.1 MENDESAIN FULL ADDER
b. Menjalankan Simulasi dengan Menggunakan DENGAN SKEMATIK
Modelsim ALTERA STARTER EDITION 6.4a
  Sebagaimana yang kita ketahui sebelumnya full
1. Pilih Compile -> Compile -> Tentukan file- adder merupakan suatu datapath component yang
> Compile -> Done. berisikan tiga input dan dua output. Di dalam
  tahapan mendesain full adder secara skematik kita
2. Pilih Simulate -> Start Simulation harus memulai dari membentuk tabel kebenaran
->Tentukan file -> OK. yang ada pada full adder, seperti yang ditampilkan
  pada Tabel 4-1 dibawah ini.
3. Buka window simulator -> klik kanan pada Tabel 4-1 Tabel Kebenaran Full Adder
file yang ingin disimulasi -> Add ->To
Wave -> All item in region.
 
4. Pada tiap sinyal, berikan periode clock
yang sesuai dengan cara memilih Clock
->Clock -> tentukan nilai periode pada
bagian “Period”.
 
5. Simulate -> Run -> Ambil data.
 
6. Klik kanan pada tiap sinyal -> No Force
->Simulate -> Run -> Ambil data.
 
7. Klik kanan pada tiap sinyal -> Force
->Simulate -> Run -> Ambil data.

3.6 MEMBUAT TESTBENCH

1. Buat folder baru -> Tambahkan file


“testbench” dan file “DUT. [1]
Barulah dari tabel kebenaran diatas kita dapat
2. Compile file seperti dalam langkah b pada memahami bagaimana nilai keluarannya
percobaan kelima. diimplementasikan ke FPGA. FPGA sendiri
  memiliki sifat yang mana bersifat active low.
3. Simulate -> Run -> Ambil data. Maksudnya disini ialah ketika swith tidak ditekan
  akan berlogika 1 dikarenakan rangkaian pull up,
4. Modifikasi stimulus generator sesuai sedangkan ketika swith ditekan akan berlogika 0.
dengan yang diinginkan -> simpan Pada LED akan menyala ketika mendapat input
perubahan -> Simulate -> Run -> Ambil low voltage dan akan mati saat mendapat high
data. voltage. Dengan demikian ketika dilakukan
  percobaan hasil yang didapatkan sesuai dengan
  yang diharapkan layaknya rangkaian full adder.
3.7 MELAKUKAN PROSES TAPPING SINYAL Hal tersebut dapat dibuktikan sebagaimana yang
DARI SEBUAH DESAIN terlihat pada Gambar 4-1 dibawah.

1. Lakukan modifikasi pada file “DUT” sesuai


dengan yang diinginkan.
 
2. Simpan perubahan -> Compile file
->Simulasi.
4
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
4.3 MENDESAIN 4-BIT CARRY
RIPPLE ADDER DENGAN VHDL

Gambar 4-1

Gambar 4-3
4.2 MENDESAIN FULL ADDER
Pada percobaan kita kita mendapatkan hasil sesuai
DENGAN PENDEKATAN BAHASA
dengan yang diharapkan layaknya yang terlihat
VHDL pada Gambar 4-3 diatas. Pada percobaan tiga ini
dilakukan desain 4-bit carry ripple adder yang
mana dengannya dapat dilakukan proses
penjumlahan antara 4-bit masukan berbeda. Dari
hasil percobaan kita mengetahui bahwa rangkaian
yang dibuat melalui VHDL berfungsi dengan baik
dan mengeluarkan output sebagaimana semestinya.

4.4 MENDESAIN 4-BIT ADDER


DENGAN SKEMATIK

Gambar 4-2
Sebagaimana yang terlihat pada Gambar 4-2 diatas
hasil yang didapatkan terlihat seebagaimana
semestimya layaknya percobaan pertama
sebelumnya. Hal ini menyatakan bahwa dengan
melakukan perancangan desain dengan
menggunakan pendekatan Bahasa VHDL tetap
akan memberi hasil yang sesuai dengan
semestinya. Akan tetapi pendekatan pada proses
skematik dan VHDL dapat dirasaan mulai dari Gambar 4-4
percobaan kedua ini. Melalui percobaan kedua kita
Dari percobaan yang dilakukan dapat kita ketahui
melihat bahwa proses yang dilakukan dengan
bahwa desain 4-bit adder juga menghasilkan
VHDL terasa lebih singkat disbanding dengan
keluaran yang sama dengaan yang dilakukan
proses skematik, hal ini dikarenakan bentuk desain
dengan VHDL. Disini kita mulai dapat
rangkaian yang masih sederhana pada percobaan
membandingkan kelebihan dan kekurangan dari
satu dan dua.
pendekatan yang dilakukan dalam perancangan
desain rangkaian dengan skematik maupun VHDL
dikarenakan bentuk desain yang cukuk kompleks.
Melalui desain ini kita dapat menyatakan bahwa
proses desain yang dilakukan dengan VHDL yang
mana diawal disebutkan cukup singkat dan mudah
kini pada rangkaian yang kompleks juga akan
semakin bertambah kompleks dan rumit dalam
penyusunan programnya dengan menggunakan
VHDL. Kita dituntut untuk mengerti alur berfikir
rangkaian dengan Bahasa VHDL yang mana
tidaklah mudah. Namun disisi lain ketika kita
melakukan desain rangkaian yang cukup kompleks
5
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
ini dengan pendekatan skematik prosesnya pada sinyal namun tetap meneruskan inputan
masihlah sama dalam artian logika yang digunakan terakhir yang ada sehingga hasil akhirnya akan
disini masihlah sama karena bagi manusia tampilan tetap sesuai dengan rangkaian yang didesain.
visual dari bloks rangkaian lebih mudah dipahami.
Tidak ada peningkatan dalam kesulitan dalam
penyusunan dengan skematik karena yang
dilakukan hanyalah menambah komponen
rangkaian agar sesuai dan memang terlihat lebih
banyak, namun berkat alur dari kabel dan logic
bloks yang ada semua itu cukup mudah untuk
dimengerti logika manusia.

4.5 SIMULASI SEDERHANA


MENGGUNAKAN MODELSIM

Gambar 4-7
Ketika pada percobaan berikutnya kita memberi
perintah “Force” pada sinyal maka akan didapati
bahwa nilai sinyal berubah secara paksa yang
tadinya 1 menjadi 0 sesuai dengan inputan yang
kita berikan. Akan tetapi hasil yang ditampilkan
pada simulasi tetaplah benar karena jika pada input
terjadi perubahan maka outputnya akan
menyesuaikan.

4.6 MEMBUAT TESTBENCH

Gambar 4-5
Dari gambar 4-5 kita melakukan simulasi dari
rangkaian yang telah dibuat pada percobaan dua.
Dari hasil simulasi dapat kita verifikasi bahwa
rangkaian yang dibuat sebelumnya berfungsi
dengan baik melalui gambaran sinyal yang
diberikan pada Gambar diatas.

Gambar 4-8
Hasil yang kita dapatkan melalui prosedur
testbench ini sebenarnya sama dengan percobaan
sebelumnya. Namun yang membedakan disini
ialahkita dapat melakukan simulasi tanpa terlebih
dahulu memberikan clock dikarenakan melalui
prosedur testbench ini clock telah diberikan secara
otomatis.

Gambar 4-6
Berikutnya dilakukan percobaan dengan memberi
perintah “no force” pada sinyal input. Dari
percobaan yang dilakukan kita mengetahui bahwa
“No Force” digunakan dalam menghentikan clock
6
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
Gambar 4-11

Gambar 4-9
Pada Gambar 4-9 dapat kita lihat pula hasil dari 5. KESIMPULAN
stimulus yang kita masukkan. Stimulus bekerja
dengan mengganti nilai input pada selang waktu Perkembangan teknologi dalam bidang elektronika
tertentu tanpa mengembalikannya. Seperti nilai a dan rangkaian dari waktu sewaktu semakin cepat.
yang dari nol diganti menjadi satu pada selang Dalam proses perkembangannya dibutuhkan
50fps. Ataupun nilai b dari nol menjadi satu pada suatub pemodelan dan juga simulator yang
selag 100fps dan nilai Cin yang diganti pada selang berfungsi sebagai medan uji cobadari rangkaian
200fps. Akan tetapi prosedur stimulus ini tidak yang dicetuskan. Dengannya hadir FPGA yang
terlalu baik dikarenakan dengannya kita tidak terintegrasi dalam software berupa Quartus ii® dan
dapat membuktikan secara penuh apakah Modelsim® yang dengannya dimungkinkan untuk
rangakaian kita bekerja dengan baik atau tidak. melakukan proses desain dari suatu rangkaian,
melakukan uji analisis dari rangkaian tersebut serta
melakukan simulasi uji coba pada rangkaian
tersebut. Dalam Quartus ii® dipelajari bebrapa cara
4.7 MELAKUKAN PROSES TAPPING di dalam mendesain ruatu rangkaian digital. Yang
SINYAL DARI SEBUAH DESAIN. pertama ialah dengan pendekatan skematik, lalu
yang kedua dengan pendekatan Bahasa VHDL.
Kedua pendekatan ini memiliki kelebihan dan
kekurangannya masing-masing seperti pada proses
skematik akan didapati untuk mudah dimengerti
secara logika manusia karena hadirnya fitur logic
bloks yang sangat membantu dalam penafsiran
fungsi rangkaian. Akan tetapi system skematik
tidaklah terlalu efisien jika diguanka dalam
rangakaian yang cukup sederhana karena dapat
diselesaikan dengan cukup singkat melalui proses
pendekatan dengan Bahasa VHDL. Dilain sisi
dengan Bahasa VHDL kita akan menemui prosedur
logika yang cukup rumit saat diminta untuk
menyusun rangakaian yang cukup kompleks. Maka
Gambar 4-10 dari itu cara terbaik ialah dengan menyesuaikan
Pada percobaan terakhir yang dilakukan pada cara penyelesaian rangkaian dengan bentuk
modul 1 ini dilakukan tapping pada sinyal seperti rangkaian yang diminta. Menyelesaikan rangkaian
yang terlihat pada gambar 4-10 dan 4-11. Hasil dari bukanlah mennadakan selesainya rangkaian
tapping sinyal yang dilakukan sesuai dengan tersebut karena agar dapat diketahui rangkaian
harapan dalam artian sinyal tersebut tidak dpat berjalan dengan semestinya maka dibutuhkan
menyebabkan error pada output sebenarnya. Proses simulasi terhadap rangakaian tersebut. Disini kita
tapping dapat digunakan untuk mengambil nilai dapat melakukan simulasi terhadap rangkaian
sinyal antara yang mana dengan cara tersebut dpat yang telah dibuat, dengan bantuan Modelsim®
dilakukan troubleshooting dari sinyal yang pula dapat dilakukan penyesuaian terhadapat input
bermasalah. Melalui tapping ini kita dapat dari sinyal yang ada. Melalui perintah “No Force”
mengetahui sinyal aman yang bermasalah. maka clock sinyal akan dihentikan sembari tetap
meneruskan inputan terakhir dari sinyal. Melalui
“Force” akan dipaksakan nilai baru pada suatu
sinyal. Simulasi juga dapat dilakukan dengan
prosedur testbench yang dengannya akan diberi
7
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB
clockdengaan sendirinya sehingga mempecepat
proses simulasi. Terakhir, selain menguji
keberhasilan suatu rangakain juga perlu dilakukan
penelusuran terhadap kesalahan yang terjadi pada
rangkaian agar dapat diberi penanganan yang
tepat. Hal ini dapat dilakukan dengan memmberi
tapping pada sinyal yang dengannya dapat
diketahui kesalahan yang terjadi pada sinyal dan
merujuk pada sinyal mana kesalahan tersebut
terjadi.

DAFTAR PUSTAKA

[1] Mervin T. Hutabarat, Praktikum Sistem


Digital , Laboratorium Dasar Teknik Elektro,
ITB,2014.
 
[2] Stephen Brown dan Zvonko
Vranesic,Fundamentals of DIGITAL LOGIC
with VHDL Design, McGraw Hill, New York,
2009

8
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB

Anda mungkin juga menyukai