Upload
hafizh-al-khawarizmi
View
240
Download
4
Embed Size (px)
DESCRIPTION
Elektronika
Citation preview
MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGAHafizh Al Fikry (18014044)
Asisten:Bimo Wicaksono(18012059)Tanggal Percobaan: 5/10/2015
EL2142-Praktikum Sistem Digital dan MikroprosesorLaboratorium Dasar Teknik Elektro – Sekolah Teknik Elektro dan Informatika
Abstrak
Percobaan kali ini mengenai Pengenalan Desain Menggunakan FPGA meliputi beragam percobaan yang bertujuan memperkenalkan perancangan sistem digital dengan menggunakan FPGA. Percobaan perancangan dilakukan dengan merancang FULL ADDER dan merancang 4-bit RIPPLE CARRY ADDER, baik secara skematik maupun menggunakan VHDL. Serta kemudian hasil rancangan disimulasikan baik pada Quartus, Modelsim menggunakan test bench,melakukan proses TAPPING SINYAL maupun diaplikasikan secara langsung kepada papan FPGA.
Kata kunci : FPGA, skematik, VHDL, Quartus, testbach,Modelsim.
1. PENDAHULUAN
Percobaan kali ini bertujuan untuk memperkenalkan perancangan digital. Perancangan dilakukan baik secara skematik maupun VHDL. FPGA yang digunakan adalah DE1, software perancangan yang digunakan adalah QUARTUS II 9 sp.2 Web Edition, serta Modelsim untuk melakukan testbench dan tapping sinyal.
Adapun tujuan dari praktikum ini antara lain :
1. Mempelajari teknik perancangan rangkaian digital dengan target FPGA.
2. Dapat melakukan perancangan rangkaian digital dengan target FPGA baik menggunakan pendekatan skematik maupun bahasa VHDL.
2. STUDI PUSTAKA
2.1 FPGA
FPGA development board adalah sebuah alat yang berfungsi untuk mensimulasikan hasil rancangan digital dalam bentuk LED ataupun seven segment, yang perancangannya dilakukan dengan software QUARTUS, dengan tahapan umum sebagai berikut :
1. Buat desain dengan text editor ataupun graphic editor
2. Simpan desain yang telah dibuat
3. Menentukan desain mana yang dijadikan Project
4. Menentukan device yang akan dihubungkan
5. Kompilasi dan membuat simbol-simbol standar
6. Periksa apakah perlu disimulasi. Apabila tidak, langsung lanjut ke langkah delapan
7. Buat waveform dan simulasikan
8. Menentukan koneksi Pin dan Kompilasi
9. Download ke device
Berbagai jenis FPGA board antara lain DE1, DE2, DE2 70, ALTERA DE1.
2.2 FULL ADDER
Full Adder adalah komponen yang berfungsi untuk menambahkan bit pada rangkaian digital. Keunggulan Full Adder dari Half Adder adalah kemampuannya menampung dan menjumlahkan bit CARRY-in (Cin) yang berasal dari CARRY-out (Cout) tahapan sebelumnya. Secara matematis, rumus dari Full Adder antara lain :
S=Cin⊕ (A⊕B )
C out=Cin (A⊕B )+(A .B)
Dengan tabel kebenaran berupa :
A B Cin S Cout
0 0 1 0 00 0 0 1 00 1 1 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
TABEL 2.2 Tabel Kebenaran Full Adder
Terdapat beberapa jenis rangkaian Full Adder, antara lain Parallel Adder, Look Ahead Carry Adder, dan Carry Save Adder.
3. METODOLOGI
Alat-alat yang digunakan dalam percobaan ini antara lain :
1. Komputer yang telah ter-install program Quartus II
2. FPGA development board, tipe ALTERA DE1 atau DE1 beserta perlengkapannya yang meliputi :
Board FPGA tipe DE1, DE1, DE2, atau DE2-70
Catu Daya+ Kabel dan konektor tambahan
Kabel downloader ‘ByteBlaster II’ dan USB-Blaster.
3.1 PERCOBAAN 2A : MENDESAIN FULL ADDER DENGAN SKEMATIK
3.1.1 Membuat Projek Baru Menggunakan Quartus II 9.0 sp2 Web Edition
3.1.2 Memilih dan Menempatkan Komponen
Buat suatu folder baru dalam folder PraktikumSisdig ( jika belum ada buatlah terlebih dahulu. Dan dalam folder tersebut buat dua folder
yang bernama Tutorial 1 dan Tutorial 2
Jalankan Quartus II 9.0 sp2 Web Edition, klik File -> New Project Wizard, kemudian
klik Next pada jendela Introduction
3.1.3 Menambahkan Hubungan untuk Membentuk Net
3.1.4 Pelabelan Net dan pin I/O
3.1.5 Menetapkan I/O pin pada kaki FPGA
Pilih Orthogonal Node Tool pada bagian toolbar yang memiliki simbol
siku untuk menggambarkan kabel
Arahkan pointer mouse ke salah satu sisi yang akan dihubungkan lalu klik kiri dan
tahan sampai ke ujung lain yang diinginkan, kemudian lepas tombol mouse anda
Bentuk sebuah rangkaian sesuai dengan referensi gambar yang
terdapat dalam modul praktikum
Klik dua kali pada tiap port input dan output kemudian rubah nama dari pin sesuai yang ada
pada gambar. A B C untuk input dan SUM CARRY A_OUT B_OUT C_OUT untuk output.
nilai port masukan biarkan default bernilai VCC
3.1.6 Pembuatan Netlist untuk simulasi
3.1.7 Membuat Waveform masukan
Simpan skematik kemudian pilih Processing -> Start -> Start Analysis & Synthesis atau klik CTRL+K. Pastikan tidak ada
error!
Pilih Assignment -> Pin planner, akan terbuka sebuah jendela baru dimana sebelah atas akan ada gambar FPGA dengan posisi kaki-kakinya dan di
bawah ada daftar berisi port input-output skematik kita
Klik Direction untuk mengurutkan pin. kemudian pada kolom Location double-klik kiri kolom yang sebaris dengan port yang
akan ditinjau dan akan muncul daftar kaki FPGA yang bisa dipakai
Pada percobaan ini kita menggunakan switch sebagai input dan LED pada 7Segment untuk keluaran. Pada DE2 apabila
switch berada di bawah berarti bernilai 0 dan di atas bernilai 1
Sementara LED 7-Segment bernilai 1 saat menyala dan 0 saat mati. Hubungkan port dengan kaki FPGA yang sesuai kaki
komponen yang telah dilampirkan pada referensi
Klik Processing -> Simulator Tool, kemudian ubah Simulation Mode menjadi Functional, klik Generate Functional Simulation
Netlist. Pastikan tidak ada error!
Klik pada check box di sebelah kiri "Overwrite Simulation input file with simulation result" agar setiap kita melakukan simulasi
hasilnya langsung ditampilkan pada file simulasi kita
Klik tombol Open pada bagian bawah jendela Simulator Tool. anda akan mendapatkan jendela baru yang memiliki nama
default waveform1.vwf
Klik kanan pada bagian kolom Name jendela tersebut dan pilih Insert -> Insert Node or Bus -> Node Finder. Pilih bagian Filter ->
Pins: all kemudian klik kiri pada tombol List
Klik kanan pada tombol >> untuk mensimulasikan seluruh port. Klik detach window kemudian simpan file simulasi ini dengan
nama Tutorial1.vwf
Klik Simulator Tool, kemudian pada kolom simulation input pilih file Tutorial1.vwf sebagai input simulasi
3.1.8 Mengimplementasikan Desain
3.2 MENDESAIN FULL ADDER DENGAN PENDEKATAN BAHASA VHDL
3.2.1 Membuat Projek Baru Kembali
3.2.2 Memasukkan Desain VHDL
Klik Processing -> Start Compilation untuk melakukan kompilasi terhadap file
Siapkan board FPGA Anda, pasang kabel catu daya dan kabel programmer pada tempatnya masing-masing dan
nyalakan board tersebut
Klik Tools -> Programmer untuk konfigurasi. Klik tombol Hardware Setup, pada bagian Hardware, klik USB-Blaster untuk DE2, pada bagian Mode, pilih JTAG
Klik Add File dan carilah file Tutorial1.sof kemudian klik Open apabila file teresebut tidak terlihat pada jendela utama
Sorot nama file, lakukan checklist pada kolom "Prgram/Configure", kemudian klik tombol Start untuk
memprogram FPGA
Coba kombinasikan masukan dari switch 1-3 yang merepresentasikan masukan A, B, dan C. Analisa hasil yang
didapat kemudian catat pada BCL
Buat project baru seperti yang telah dijelaskan pada langkah-langkah sebelumnya, beri nama dan top level entity : "modul2vhdl" kemudian simpan pada directory Tutorial2
Klik Next, leewatkan jendela yang dapat digunakan untuk menambahkan file pendukung, lalu kemudian pada bagian "Family"
dan "Available Device pilih yang sesuai dengan FPGA Anda
3.3 MENDESAIN 4-BIT RIPPLE CARRY ADDER DENGAN VHDL
3.4 MENDESAIN 4-BIT ADDER DENGAN SKEMATIK
3.5 SIMULASI SEDERHANA MENGGUNAKAN MODELSIM
3.5.1 Memulai Simulasi dengan Menggunakan Modelsim ALTERA STARTER EDITION 6.4a
Klik File -> New , kemudian pilih VHDL File sebagai pilihan desain dan klik OK. Klik Detach Windows, lalu simpan file tersebut sebagai modul2vhdl.vhd
Anda akan mendapatkan jendela kosong tempat untuk menuliskan kode VHDL Anda, ketikkan script yang telah
diberikan pada modul praktikum kemudian simpan dengan menekan CTRL + S
Ulangi langkah-langkah pada Percobaan 2A mulai dari menetapkan I/O pin pada kaki FPGA. Catat segala kejadian dan perbedaan dengan percobaan sebelumnya kemudian lakukan
analisa
Buatlah folder dan project baru dengan nama project dan top-level entity adder4bit.
Tambahkan file VHDL pada project tersebut dan tuliskan kembali kode yang tertera pada Modul Praktikum,
kemudian simpan file
Lakukan Simulasi secara fungsional seperlunya dan lihat apakah adder4bit bekerja seperti yang diharapkan. Catat
hasil percobaan dan lakukan analisis
Buat Project baru dengan nama project dan top-level entity adder4bit2
Kopi file pendukung yang bernama FullAdder.bsf dan FullAdder.bdf dari website labdasar ke dalam
folder proyek Anda
Tambahkan file skematik kosong ke dalam project Anda. Ketika membuka Symbol Tool, Anda akan mendapati direktori baru yang bernama project, di
dalamnya terdapat blok yang bernama FullAdder dan merupakan representasi skematik dari file pendukung yang kita gunakan
Gunakan blok tersebut dan symbol lainnya untuk membuat rangkaian seperti pada gambar yang
tertera pada modul praktikum
Lakukan simulasi secara fungsional dan lihat apakah hasilnya sama dengan ketika menggunakan VHDL. Catat hasil percobaan
dan analisis segala yang terjadi pada percobaan
3.5.2 Menjalankan Simulasi dengan Menggunakan Modelsim ALTERA STARTER EDITION 6.4a
3.6 MEMBUAT TESTBENCH
Bukalah program Modelsim ALTERA STARTER EDITION 6.4a. Setelah muncul tampilan awal, pilih
Close untuk menutupnya
Klik File -> Change Directory pada baris menu untuk mengubah direktori folder kerja
Klik File -> New -> Library untuk membuat library baru. Atur dan isilah jendela yang muncul. Library name adalah nama library yang diberikan
pada directory ini, sedangkan Library Physical Name adalah nama directory yang digunakan
Klik Compile -> Compile untuk meng-compile desain yang ingin disimulasikan. Tentukan file yang ingin disimulasikan
lalu klik compile, jika telah selesai, klik Done
Klik Simulate -> Start Simulation. Pada jendela yang muncul, piilih file yang akan disimulasikan, kemudian
pilih OK.
Right Click -> Add -> To Wave -> All item in region untuk menambahkan wave yang akan kita lihat hasil
simulasi di window simulator
Right Click -> Clock untuk membuat stimulus. Masukkan nilai periode clock simulasi sebesar 50ps untuk sinyal A dan biarkan parameter lain disetting
dalam keadaan default, setelah itu pilih OK. tambahkan 2 sinyal lain dengan cara yang sama namun dengan periode 100ps untuk B dan 200ps untuk C.
Klik Tools -> Run untuk menjalankan simulasi, ambil gambar sinyal hasil simulasi yang muncul kemudian sertakan dalam
laporan. Lakukan analisis terhadap hasil yang didapat
Right Click -> No Force dan jalankan kembali simulasi, ambil gambar sinyal hasil yang didapat dan lakukan analisis
Right Click -> Force dan jalankan kembali simulasi, ambil gambar sinyal hasil yang didapat dan lakukan analisis
Buatlah folder baru pada direktori yang ada sebelumnya, tambahkan file testbench dan file DUT (Device Under Test)
dengan mengetikkan kode yang terdapat pada modul praktikum dan menyimpannya pada direktori tersebut.
Lakukan proses compile file tersebut dengan cara seperti langkah 1 pada percobaan 2A-a dan 2A-b, kemudian
lakukan simulasi seperti langkah2-3 pada percobaan 2A-b
Klik Tools -> Run untuk menjalankan simulasi. Ambil gambar sinyal hasil simulasi tersebut dan sertakan dalam
laporan. Lakukan analisis terhadap hasil tersebut
Lakukan modifikasi pada stimulus generator dengan cara mengubah script yang telah disimpan sebelumnya pada bagian yang mendefinisikan periode clock, seperti yang tertera pada
modul praktikum
Simpan perubahan yang terjadi pada file tersebut, kemudian compile kembali dan simulasi pada file yang telah dimodifikasi seperti pada langkah 2. Setelah proses simulasi berjalan, hentikan simulasi dengan mengklik Simulate -> End Simulation. Catat dan analisis hasil simulasi serta perbedaannya dengan yang
sebelumnya
3.7 MELAKUKAN PROSES TAPPING SINYAL DARI SEBUAH DESAIN
3.8 MEMBUAT SCRIPT UNTUK MELAKUKAN SIMULASI
4. HASIL DAN ANALISIS 4.1 MENDESAIN FULL ADDER DENGAN SKEMATIK Pada percobaan ini digunakan ALTERA QUARTUS II dan board DE1 dengan pendekatan skematik. Dengan menggunakan overwrite clock masukkan A sebesar 10 ns, B sebesar 20 ns, dan Cin
sebesar 40 ns, maka ditampilkan hasil simulasi seperti gambar 4-1 berikut:
Gambar 4-1 Simulasi Percobaan pada QUARTUS II
Tabel 4-1 Tabel Kebenaran Full Adder Percobaan Masukkan Keluaran
Lakukan modifikasi pada file DUT dengan cara mengubahnya menjadi seperti scripts yang tertera pada modul praktikum
Simpan perubahan yang terjadi pada file tersebut. Lakukan kembali compile dan simulasi pada file yang telah dimodifikasi
seperti pada langkah 2 pada percobaan c
Tambahkan wave pada jendela simulasi yang kemudian dimunculkan oleh program setelah langkah sebelumnya selesai dilakukan. caranya
dengan Right Click -> Add -> To Wace -> Selected Items
Klik Tools -> Run untuk menjalankan simulasi, kemudia ambil gambar sinyal hasil simulasi, kemudian sertakan dalam
laporan, serta lakukan analisis
Pada direktori percobaan sebelumnya, lakukan modifikasi pada file bernama sim.do dengan mengetikkan script yang terdapat pada
modul praktikum
Pada jendela transcript yang terdapat pada jendela program Modelsim ALTERA STARTER EDITR 6.4a, ketik "do sim.do". Setelah
itu, klik kanan file modul2vhdl pada jendela library dan pilih Simulate
Tambahkan wave pada jendela simulasi dengan melakukan Right Click -> Add -> To Wave -> All tiem in region. Kemduian buat sinyal
stimulus secara manual seperti pada langkah 4 pada percobaan 2A-b
Pada jendela transcript akan muncul script, tambahkan script yang terdapat pada modul praktikm sebagai modifikasi pada baris paling
bawah file sim.do, lalu simpan perubahan file tersebut
Kembali lakukan "do sim.do" kemudian jalankan ksimulasi dengan memilih menu Tools-> Run. Ambil gambarnya kemudian analisis dan
sertakan dalam laporan
Ubah file.do menjadi seperti yang tertera pada modul praktikum
Lakukan simulasi degan menggunakan testbench pada percobaan 2B. Catat hasilnya, sertakan dalam
laporan, dan lakukan analisis dari haisl yang diperoleh
A B CIn COut S 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1
Hasil yang ditunjukkan pada tabel 4-1 diatas sesuai dengan tabel kebenaran full adder referensi. Hal selanjutnya yang akan dilakukan adalah mengimplementasikan pendekatan skematik ini ke FPGA. Gambar 4-2 berikut ini adalah hasil implementasi pada board DE1:
Gambar 4-2 Simulasi Percobaan pada FPGAGambar diatas menunjukkan IC diberikan masukkan A dan Cin, sehingga logika S bernilai 0 dan logika COut bernilai 1. Hasil percobaan ini membuktikan logika full adder berjalan dengan baik di board DE1 yang digunakan.
4.2 MENDESAIN FULL ADDER DENGAN PENDEKATAN BAHASA VHDL Pada percobaan ini, kita akan menggunakan implementasi bahasa VHDL dalam board yang digunakan. Simulasi yang dilakukan menggunakan bahasa VHDL menghasilkan wave seperti gambar 4-3 berikut:
Gambar 4-3 Simulasi Percobaan
Tabel 4-2 Tabel Kebenaran Full Adder Percobaan Masukkan Keluaran A B CIn COut S 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1
Hasil simulasi diatas menunjukkan kesamaan antara keluaran menggunakan pendekatan skematik dan bahasa VHDL. Hal ini menunjukkan bahwa kita dapat menggunakan pendekatan skematik maupun bahasa VHDL dalam melakukan implementasi pada board FPGA.
Gambar 4-4 Simulasi Percobaan pada FPGA Gambar diatas menunjukkan IC FPGA diberikan masukkan A, B, dan Cin sehingga menghasilkan logika S dan Cout bernilai 1.
Dari dua percobaan diatas, kita dapat menganalisis kelebihan dan kerugian dari dua pendekatan tersebut. Pendekatan VHDL lebih sederhana untuk digunakan, karena apabila kita ingin mengimplementasikan rangkaian yang kompleks seperti membuat sebuah
rangkaian berukuran besar secara manual, maka faktor resiko galat menggunakan pendekatan skematik akan meningkat.
Disisi lain, bahasa VHDL memerlukan pembelajaran bahasa terlebih dahulu, sehingga untuk rangkaian-rangkaian sederhana, pendekatan skematik lebih mudah digunakan dan lebih user-friendly.
4.3 MENDESAIN 4-BIT RIPPLE CARRY ADDER DENGAN VHDL 4-Bit ripple carry adder menerima masukkan A dan B 4 bit, serta Cin 1 bit dan mengembalikan hasil berupa Sum 4 bit dan Cout 1 bit. A0, A1, A2, dan A3 dibuat menjadi satu grup (misalkan A), sedangkan B0, B1, B2, dan B3 dibuat menjadi satu grup pula (misalkan B). Perhatikan hasil waveform berikut ini (gambar 4-5):
Gambar 4-5 Simulasi Percobaan pada QUARTUS IIPerhatikan bahwa waveform diatas akan membentuk tabel kebenaran sebagai berikut:
Tabel 4-3 Tabel Kebenaran 4-Bit Ripple Carry AdderMasukkan Keluaran A B CIn COut S 1111 0000 0 0 1111 0000 1111 0 0 1111 1111 1111 0 1 1110 0000 0000 1 0 0001 1111 0000 1 1 0000 0000 1111 1 1 0000 1111 1111 1 1 1111 0000 0000 0 0 0000
Hasil keluaran dari 4-Bit ripple carry adder diatas sesuai dengan definisi referensi.
Sebagai contoh, saat A = 1111, B = 1111, dan Cin = 0, maka nilai penjumlahan A + B + CIn dalam basis 2 adalah 11110. Perhatikan pada tabel diatas bahwa untuk nilai A,B, CIn yang diberikan, menghasilkan Cout = 1 dan S = 1110 (A + B + CIn =Cout * 10000 + Sum).
4.4 MENDESAIN 4-BIT ADDER DENGAN SKEMATIK Setelah sebelumnya kita menggunakan pendekatan menggunakan bahasa VHDL, pada percobaan ini kita akan menggunakan pendekatan skematik. Berikut ini adalah hasil waveform menggunakan pendekatan skematik (gambar 4-6):
Gambar 4-6 Simulasi Percobaan pada QUARTUS II Hasil waveform diatas dapat ditranslasikan kedalam tabel kebenaran sebagai berikut: Tabel 4-4 Tabel Kebenaran 4-Bit Adder Dengan SkematikMasukkan Keluaran A B CIn COut S 0000 0000 0 0 0000 1111 0000 0 0 1111 0000 1111 0 0 1111 1111 1111 0 1 1110 0000 0000 1 0 0001 1111 0000 1 1 0000 0000 1111 1 1 0000 1111 1111 1 1 1111
Perhatikan bahwa tabel kebenaran 4-4 identik dengan hasil tabel kebenaran 4-3 (menggunakan bahasa VHDL). Hal ini menunjukkan bahwa kita dapat menggunakan baik pendekatan skematik
maupun bahasa VHDL dalam merancang rangkaian digital seperti 4-Bit carry adder.
4.5 SIMULASI SEDERHANA MENGGUNAKAN MODELSIM
Pada Percobaan ini kami mencoba melakukan kompilasi file VHDL menggunakan Modelsim yang merupakan compiler fungsional. Setelah mengetikkan script yang ada pada modul praktikum, kami menjalankan simulasi pada Modelsim ini dan mendapatkan hasil sebagai berikut :
Hasil Simulasi
Gambar 4-7 Simulasi Percobaan pada ModelSim
No force
Gambar 4-8 wave dengan No force
Force
Gambar 4-9 wave dengan Force
Apabila dibandingkan dengan hasil simulasi pada percobaan yang sebelumnya, simulasi kali ini memberikan hasil yang sama, hal ini berarti Modelsim dapat melakukan fungsi yang sama dengan Quartus.
Akan tetapi bila kita amati, tidak terdapat perbedaan antara hasil simulasi yang Force dengan yang Non-Force. Sementara berdasarkan teori, seharusnya dengan diberikannya Force, akan terjadi dampak yang dapat merubah bentuk wave yang ada pada rangkaian. Hal ini berarti ada yang tidak benar dalam pengerjaannya, dan menurut analisis kemungkinan hal ini terjadi disebabkan oleh belum dideklarasikannya tipe force yang diberikan(freeze, drive, deposit, dll.) sehingga tidak terjadi dampak apapun meskipun kami memberikan Force.
4.6 MEMBUAT TESTBENCH Salah satu kelebihan ModelSim dibandingkan ALTERA QUARTUS II adalah simulasi rangkaian mengunakan testbench. Perhatikan gambar 4-10 berikut ini:
Gambar 4-10Stimulus Generator pada ModelSim
Perintah (command) clock yang semula menggunakan cara Right Click -> Clock dapat digantikan dengan testbench (Design Under Test / DUT). Gambar 4-10 menunjukkan hasil keluaran waveform menggunakan stimulus generator. Amati potongan kode berikut ini:
clock_A : PROCESS BEGIN WAIT FOR 50 ps; A <= not A; end PROCESS clock_A;
Perintah tersebut menunjukkan bahwa setiap 50ps, nilai logika A akan di-invert.. Selain cara tersebut, kita dapat memofikasi wave. Perhatikan contoh berikut ini (gambar 4-11):
Gambar 4-11 Stimulus : PROCESS pada ModelSim
Dari dua contoh berbeda diatas, maka kita dapat mengkombinasikan kemungkinan-kemungkinan logika yang kita inginkan.
4.7 MELAKUKAN PROSES TAPPING SINYAL DARI SEBUAH DESAIN Proses tapping sinyal adalah sebuah proses pengambilan nilai sinyal yang bukan merupakan bagian dari keluaran sistem rangkaian digital yang diuji. Pada percobaan ini, kita misalkan sinyal tersebut adalah Temp, yang bernilai logika A XOR B. Berikut ini adalah hasil waveform dari simulasi yang dijalankan (gambar 4-12):
Gambar 4-12 Proses Tapping pada ModelSim Dari waveform tersebut, kita dapat menganalisis kebenaran dari A XOR B. Perhatikan bahwa saat logika A bernilai 0 dan logika B bernilai 0, maka logika Temp bernilai 0. Dilain waktu, saat logika A bernilai 1 dan logika B bernilai 0, maka logika Temp bernilai 1. Hal ini menunjukkan bahwa hasil waveform keluaran sesuai dengan definisi operasi XOR pada referensi.
5. KESIMPULAN Terdapat dua pilihan piranti lunak yang dapat digunakan, yaitu ALTERA QUARTUS II dan ModelSim keduanya memiliki kelebihan dan kekurangan masing-masing. Dari segi penggunaan, ALTERA QUARTUS II lebih spesifik untuk pemrosesan dengan FPGA secara langsung sedangkan ModelSim digunakan untuk simulasi lokal tanpa perangkat IC,
. Keuntungan dari ModelSim adalah kita dapat menggunakan testbench, yaitu sebuah file yang digunakan untuk menguji desain (Device Under Test / DUT) yang telah kita buat. Selain itu, ModelSim dapat menggunakan dan membuat script, sehingga prosedur simulasi yang berulang-ulang dapat disingkat dan diproses lebih cepat. Kita dapat memberikan stimulus melalui bahasa VHDL sehingga kita tidak perlu memasukkan input secara manual satu-persatu.
Sedangkan keuntungan dari ALTERA QUARTUS II adalah integrasinya dengan FPGA yang lebih user-friendly dan mudah digunakan. Selain itu, kita dapat menggunakan pendekatan secara skematik ketika ModelSim harus menggunakan bahasa VHDL (file skematik harus di convert terlebih dahulu).
Dari pertimbangan diatas, dapat disimpulkan bahwa ModelSim lebih baik digunakan dalam proses pembelajaran karena lebih compact dan dapat memproses stimulus tanpa membutuhkan interferensi manual dari pengguna.
Secara umum, perangkaian secara digital dapat dilakukan dengan dua pendekatan, baik secara skematik, maupun menggunakan bahasa seperti bahasa VHDL.
Rangkaian Full adder dapat diimplementasikan dengan berbagai cara. Fungsi utama dari rangkaian ini adalah untuk menjumlahkan bilangan biner menggunakan fungsi gerbang logika. Ada
beberapa jenis rangkaian adder seperti Full adder, maupun Ripple carry adder.
6. DAFTAR PUSTAKA
[1] Brown, Stephen et Zvonko Vranesic, Fundamentals of Digital Circuit with VHDL Design 3. McGraw-Hill, USA, 2009
[2] Mervin T. Hutabarat, Arif Sasongko. Praktikum Sistem Digital dan Mikroprosesor. Laboratorium Dasar Teknik Elektro, Institut Teknologi Bandung, 2015