Anda di halaman 1dari 12

MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGA

Yogi Salomo Mangontang Pratama (13511059) Asisten: Tanggal Percobaan: 3/10/2012 EL2195-Praktikum Sistem Digital

Laboratorium Dasar Teknik Elektro Sekolah Teknik Elektro dan Informatika

Abstrak
Percobaan kedua mengenai Pengenalan Desain Menggunakan FPGA meliputi beragam percobaan yang bertujuan memperkenalkan perancangan sistem digital yang bertujuan untuk FPGA. Percobaan perancangan dilakukan dengan merancang 4-bit ADDER, baik secara skematik maupun menggunakan VHDL. Serta kemudian hasil rancangan disimulasikan baik pada Quartus, Modelsim menggunakan test bench, maupun diaplikasikan secara langsung kepada papan FPGA.

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 standar dan membuat simbol-simbol

Kata kunci : FPGA, skematik, VHDL, Quartus, testbach. 1. PENDAHULUAN


Percobaan kali ini bertujuan untuk memperkenalkan perancangan digital. Perancangan dilakukan baik secara skematik maupun VHDL. FPGA yang digunakan adalah DE2, software perancangan yang digunakan adalah QUARTUS II 9 sp.2 Web Edition, serta Modelsim untuk melakukan testbench. 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.

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 UP2.

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 : ( ( ) ) ( )

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 tabel kebenaran berupa : A B Cin S Cout

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

1 0 1 1 0 1 0 1

0 1 1 0 1 0 0 1

0 0 0 1 0 1 1 1

3.1.1 Membuat Projek Baru Menggunakan Quartus II 9.0 sp2 Web Edition

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

TABEL 2.2.1 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 UP2 atau DE1 beserta perlengkapannya yang meliputi : Board FPGA tipe UP2, DE1, DE2, atau DE2-70 Catu Daya+ Kabel dan konektor tambahan Kabel downloader ByteBlaster II dan USB-Blaster.

Jalankan Quartus II 9.0 sp2 Web Edition, klik File -> New Project Wizard, kemudian klik Next pada jendela Introduction

Pada bagian directory, tekan tombol "..." yang ada di sebelah kanan dan carilah folder yang telah dibuat sebelumnya kemudian tekan tombol Open, dan pada bagian nama project dan top level entity tuliskan nama yang sama dengan folder

3.1 PERCOBAAN 2A : MENDESAIN FULL ADDER DENGAN SKEMATIK

Lewati jendela bagian Add Files dengan mengklik Next, kemudian pada bagian "Family" dan "Available Device" masukkan nama yang sesuai dengan yang tertera pada manual board dari masing-masing kelompok

Klik Finish karena untuk langkah berikutnya menggunakan setting yang default

3.1.2 Memilih dan Menempatkan Komponen

klik File -> New kemudian pilih Block Diagram/ Schematic file sebagai pilihan desain kemudian klik OK. Simpan file tersebut sebagai Tutorial2.bdf Pilih File -> Page Setup kemudian pilih letter sebagai ukuran kertas Buka jendela Symbol Tools dengan mengklik ikon bergambar gerbang AND pada bagian kiri jendela
cari komponen XOR pada folder primitives dan klik dua kali pada nama komponen tersebut. cari posisi yang tepat kemudian klik 1 kali pada posisi tersebut untuk menempatkan gerbang XOR. Tekan Esc bila telah selesai Ulangi langkah di atas untuk menempatkan gerbang AND 2 masukan, gerbang OR 2 masukan, serta gerbang NOT sesuai yang dibutuhkan Buka kembali jendela Symbol Tools kemudian buka folder Pin, pilih jenis Input maupun Output dan tempatkan sesuai dengan rankaian yang diinginkan

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

3.1.3 Menambahkan Membentuk Net

Hubungan

untuk

Bentuk sebuah rangkaian sesuai dengan referensi gambar yang terdapat dalam modul praktikum
3.1.4 Pelabelan Net dan pin I/O
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.5 Menetapkan I/O pin pada kaki FPGA

Simpan skematik kemudian pilih Processing -> Start > Start Analysis & Synthesis atau klik CTRL+K. Pastikan tidak ada error!

Klik kanan pada tombol >> untuk mensimulasikan seluruh port. Klik detach window kemudian simpan file simulasi ini dengan nama Tutorial1.vwf

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 Simulator Tool, kemudian pada kolom simulation input pilih file Tutorial1.vwf sebagai input simulasi

3.1.7 Membuat Waveform masukan


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

Klik File -> Open kemudian pilih Tutorial1.vwf untuk membuka kembali file yang telah dibuat, kemudian klik kiri pada port masukan A pada kolom paling kiri file tersebut Perhatikan pada bagian Project Navigator, bagian yang tadinya abu-abu menjadi biru (aktif). Klik tombol Overwrite Clock untuk memberikan pulsa segiempat dengan periode tertentu Pada jendela Clock, pilih Time Period -> Period kemudian isi periode sebesar 10ns Ulangi langkah-langkah di atas untuk port masukan B, dengan nilai Periode sebesar 20ns, dan untuk C dengan periode sebesar 40ns Pada jendela Simulator Tool pilih tombol Start untuk memulai simulasi. amati hasil simulasi pada jendela Tutorial1.vwf dan analisa hasil yang didapatkan

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

3.1.6 Pembuatan Netlist untuk simulasi

Klik Processing -> Simulator Tool, kemudian ubah Simulation Mode menjadi Functional, klik Generate Functional Simulation Netlist. Pastikan tidak ada error!

3.1.8 Mengimplementasikan Desain


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 Processing -> Start Compilation untuk melakukan kompilasi terhadap file

Klik tombol Open pada bagian bawah jendela Simulator Tool. anda akan mendapatkan jendela baru yang memiliki nama default waveform1.vwf

Siapkan board FPGA Anda, pasang kabel catu daya dan kabel programmer pada tempatnya masing-masing dan nyalakan board tersebut

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 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

3.3 MENDESAIN 4-BIT RIPPLE CARRY ADDER DENGAN VHDL


Buatlah folder dan project baru dengan nama project dan top-level entity adder4bit.

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

Tambahkan file VHDL pada project tersebut dan tuliskan kembali kode yang tertera pada Modul Praktikum, kemudian simpan file

3.2 MENDESAIN FULL ADDER DENGAN PENDEKATAN BAHASA VHDL 3.2.1 Membuat Projek Baru Kembali
Buat project baru seperti yang telah dijelaskan pada langkah-langkah sebelumnya, beri nama dan top level entity : "modul2vhdl" kemudian simpan pada directory Tutorial2

Lakukan Simulasi secara fungsional seperlunya dan lihat apakah adder4bit bekerja seperti yang diharapkan. Catat hasil percobaan dan lakukan analisis

3.4 MENDESAIN 4-BIT ADDER DENGAN SKEMATIK

Buat Project baru dengan nama project dan top-level entity adder4bit2

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.2.2 Memasukkan Desain VHDL


Klik File -> New , kemudian pilih VHDL File sebagai pilihan desain dan klik OK. Klik Detach Windows, lalu simpan file tersebut sebagai modul2vhdl.vhd

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

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

Gunakan blok tersebut dan symbol lainnya untuk membuat rangkaian seperti pada gambar yang tertera pada modul praktikum

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

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 SIMULASI SEDERHANA MENGGUNAKAN MODELSIM 3.5.1 Memulai Simulasi dengan Menggunakan Modelsim ALTERA STARTER EDITION 6.4a
Bukalah program Modelsim ALTERA STARTER EDITION 6.4a. Setelah muncul tampilan awal, pilih Close untuk menutupnya

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 Klik File -> Change Directory pada baris menu untuk mengubah direktori folder kerja

3.6 MEMBUAT TESTBENCH


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.

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

3.5.2 Menjalankan Simulasi dengan Menggunakan Modelsim ALTERA STARTER EDITION 6.4a
Klik Compile -> Compile untuk meng-compile desain yang ingin disimulasikan. Tentukan file yang ingin disimulasikan lalu klik compile, jika telah selesai, klik Done

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 2Ab

Klik Tools -> Run untuk menjalankan simulasi. Ambil gambar sinyal hasil simulasi tersebut dan sertakan dalam laporan. Lakukan analisis terhadap hasil tersebut

Klik Simulate -> Start Simulation. Pada jendela yang muncul, piilih file yang akan disimulasikan, kemudian pilih OK.

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 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.

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


Lakukan modifikasi pada file DUT dengan cara mengubahnya menjadi seperti scripts yang tertera pada modul praktikum

Ubah file.do menjadi seperti 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

Lakukan simulasi degan menggunakan testbench pada percobaan 2B. Catat hasilnya, sertakan dalam laporan, dan lakukan analisis dari haisl yang diperoleh

4. HASIL DAN ANALISIS 4.1 MENDESAIN FULL ADDER DENGAN SKEMATIK


Pada percobaan 4.1 kami melakukan percobaan mengenai perancangan suatu Full Adder dengan pendekatan skematik. Full Adder yang kami rancang memiliki 3 masukan ( A, B, dan C) serta 5 keluaran ( SUM, CARRY, A_OUT, B_OUT, C_OUT). Dimana masing-masing input dan output dihubungkan kaki-kaki FPGA sebagai berikut : A B C SUM CARRY A_OUT B_OUT SW[3] SW[4] SW[5] Seven Segment0[0] Seven Segment0[1] Seven Segment 0[3] Seven Segment 1[6] Seven Segment1[0] AE14 AF14 AD13 AF10 V13 AD11 AB24 V20

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

3.8 MEMBUAT SCRIPT UNTUK MELAKUKAN SIMULASI


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

C_OUT

TABEL 4.1.1 Tabel Hubungan input output rangkaian dengan kakikaki FPGA 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

Pada percobaan ini kami menghubungkan output dengan LED Seven-Segment dan input dengan switch. Dimana pada switch input, posisi switch di bawah artinya nilai yang diberikan LOW atau 0, dan bila di atas, nilainya HIGH atau 1. Sementara outputnya bernilai 0 pada saat lampu LED Seven Segment mati dan bernilai 1 saat LEDnya menyala. Untuk menguji

apakah rangkaian yang kami buat benar, kami memasukkan 4 kombinasi dan menerima keluaran sebagai berikut : A B C Output 0 0 1

Gambar 4.2.1 Waveform VHDL dari Full Adder

Arti dari grafik ini adalah, kami mensimulasikan input dari Full Adder ini dengan suatu gelombang yang periodenya ditentukan terlebih dahulu. Adapun arti dari grafik gelombang, saat di bawah, artinya nilainya LOW atau 0, sementara saat di atas nilainya HIGH atau 1. Setelah disimulasikan oleh software, dihasilkan pula waveform dari outputnya dengan arti yang sama. Setelah melakukan perhitungan dan perbandingan dengan TABEL 2.2.1, kami mengamati bahwa waveform dari Full Adder kami benar dan nilainya sesuai. Setelah itu kamipun mencoba mengaplikasikannya kepada FPGA untuk melihat hasil keluarannya. Kami menyambungkannya dengan spesifikasi sebagai berikut : A B C COUT S SW[3] SW[4] SW[5] Seven Segment0[0] Seven Segment0[1] AE14 AF14 AD13 AF10 V13

TABEL 4.1.2 Tabel keluaran dari FPGA

Adapun keterangan dari gambar di atas adalah :

Gambar 4.1.1 Keterangan

Dan setelah melakukan pengecekan terhadap tabel kebenaran Full Adder (Tabel 2.2.1) didapatkan data yang sesuai. Hal ini berarti kami telah berhasil menghasilkan suatu Full Adder yang benar.

4.2 MENDESAIN FULL ADDER DENGAN PENDEKATAN BAHASA VHDL


Pada Percobaan kedua ini kami kembali melakukan perancangan Full Adder, tapi mencoba melakukannya dengan pendekatan VHDL. Yaitu dengan mengetikkan kode yang ada pada modul praktikum. Setelah melakukan proses perancangan, kami melakukan simulasi dengan waveform yang menghasilkan bentuk demikian :

TABEL 4.2.1 Hubungan Input Dengan Kaki FPGA

Dan hasil yang kami dapatkan pada FPGA antara lain: A B C Output 0 0 1

GAMBAR 4.3.1 Waveform 4BIT Adder VHDL

TABEL 4.2.2 Output dari FPGA

Dan setelah mendapatkan hasil ini, kami memeriksa kembali dengan menghitung dan membandingkan hasil yang kami dapat dengan TABEL 2.2.1 dan kami mendapatkan hasil yang sesuai. Hal ini berarti perancangan Full Adder kami dengan VHDL berjalan dengan baik dan benar.

1100 + 1000 = 10100 Dimana 0 paling kanan merupakan S0, 0 kedua merupakan S1, 1 yang tengah merupakan S2, dengan 0 di kirinya adalah S3, dan 1 yang paling kiri adalah COUT. Dan dengan mengingat bentuk 0 dan 1 pada waveform, dapat kita amati bahwa nilai dari seluruh output yang diperoleh sesuai dengan perhitungan. Hasil perhitungan ini mewakili keseluruhan waveform yang dapat kita lihat nilainya adalah benar. Hal ini berarti rancangan yang kami buat berhasil dengan baik dan benar.

4.3 MENDESAIN 4-BIT RIPPLE CARRY ADDER DENGAN VHDL


Pada percobaan kali ini kami mencoba merancang sebuat 4-BIT Adder yang berfungsi untuk menambahkan 2 buah angka dengan jumlah 4 bit. Dan pada percobaan kali ini dilakukan dengan menggunakan VHDL, kami mengetikkan kode yang diberikan pada modul praktikum ke jendela VHDL design, dan kemudian menyimpan dan melakukan simulasinya. Berdasarkan hasil simulasi yang kami peroleh, kami ingin memeriksa kebenaran dari waveform tersebut, dan melakukannya dengan mengambil satu contoh. Bila kita perhatikan bagian yang paling kiri dari waveform, itu merupakan penjumlahan dari 12 dan 8 yang apabila dalam biner dapat dituliskan sebagai :

4.4 MENDESAIN 4-BIT ADDER DENGAN SKEMATIK


Pada percobaan kali ini kami kembali merancang sebuah 4-BIT Adder akan tetapi kali ini dengan pendekatan skematik, setelah sebelumnya menambahkan file pendukung baru ke dalam direktori skematik Quartus. File pendukung ini gunanya adalah untuk mempermudah dalam perancangan, sehingga tidak perlu lagi mendefinisikan adder itu sendiri.

Setelah rancangan selesai dan disimpan, kami melakukan simulasi dengan waveform, dan hasil yang kami peroleh antara lain :
GAMBAR4.42 Waveform 4BIT Adder Skematik

No force
GAMBAR 4.5.1 Wave dengan No Force

Force
GAMBAR 4.5.2 Wave dengan Force

Untuk menguji kebenaran dari Waveform ini, kami melakukan perhitungan terhadap gelombang paling kiri, yang merepresentasikan 10 + 5 = 15 1010 + 0101 = 01111 Dimana 0 merupakan COUT dan angka 1 mulai dari kiri adalah S3, S2, dan S1. Bila kita melihat waveform, dengan mengingat cara pembacaan waveform ( gelombang di atas berarti HIGH atau 1 dan di bawah berarti LOW atau 0) dapat kita amati bahwa waveform tersebut bernilai benar. Hal ini mengindikasikan bahwa 4BIT Adder yang kami buat berhasil dengan baik dan benar.

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.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 :

4.6 MEMBUAT TESTBENCH


Pada percobaan ini, kami mencoba cara lain untuk memberikan input kepada rangkaian digital dengan cara yang berbeda dari memasukkan input satu-satu, yaitu dengan membuat file Design Under Test (DUT). Setelah

10

kami membuat scriptnya dan menjalankan, maka kami mendapatkan hasil sebagai berikut :
GAMBAR4.6.1Wave dengan script pertama

GAMBAR

4.7.1

Wave

dengan

proses

Tapping

Kemudian kami merubah skrip data stimulusnya dan kemudian menghasilkan gelombang seperti pada gambar :
GAMBAR4.6.2Wave dengan script kedua

Dapat kita amati bahwa grafik di atas merupakan simulasi dasar dari rumus rangkaian digital yang kita miliki, dimana inputnya meningkat secara kontinyu mulai dari 000, 001, dst. Hal ini merupakan bukti bahwa proses tapping berjalan dengan baik.

4.8 MEMBUAT SCRIPT MELAKUKAN SIMULASI

UNTUK

Pada percobaan ini membuat skrip untuk menjalankan simulasi dengan sendirinya. Adapun skrip yang akan diketik adalah : # Resume macro file onbreak {resume} Dapat kita amati bahwa pada proses yang pertama, nilai A, B, dan C berubah menjadi inversnya dalam tiap periode yang diberikan kepada masing-masing input, sementara pada proses kedua setelah waktu yang diberikan, nilai inputnya menjadi HIGH atau 1 sampai akhir simulasi, hal ini berarti Modelsim menjalankan dengan baik script yang diberikan dan testbench terbentuk dengan berhasil, sesuai dengan keinginan.

# Menghapus library yang telah dibuat jika ada if [file exists work] { vdel -all }

4.7 MELAKUKAN PROSES TAPPING SINYAL DARI SEBUAH DESAIN


Pada percobaan ini kami ingin melihat bagaimana sinyal sesungguhnya dari rangkaian digital kami, tanpa harus memberikan kombinasi masukan terlebih dahulu. Setelah melakukan proses tapping, kami mendapatkan hasil seperti yang tertera pada gambar :

# Membuat library vlib work

# Compile vcom modul2vhdl.vhd

#stimulus generator force -freeze sim:/modul2vhdl/a 1 0, 0 {25 ps} -r 50

11

force -freeze sim:/modul2vhdl/b 1 0, 0 {50 ps} -r 100 force -freeze sim:/modul2vhdl/cin 1 0, 0 {100 ps} -r 200 Dan hasilnya adalah :

Brown, Steven dan Varesnic, Zvonko. 2005. Fundamental Of Digital Logic with VHDL Design.
Hutabarat, Mervin, dkk, Modul Praktikum Sistem Digital, Institut Teknologi Bandung, Bandung, 2010

Dapat diamati bahwa hasil wave yang dikembalikan sesuai dengan yang diberikan sehingga script simulasi ini berjalan dengan baik.

5. KESIMPULAN
Perancangan suatu rangkaian digital dapat dilakukan dengan baik dengan VHDL maupun secara skematik. Keduanya akan mengembalikan hasil yang sama, akan tetapi tiap-tiap metode memiliki kelebihan dan kekurangan masing-masing. Dengan skematik kita dapat membuat rangkaian sesuai dengan gambaran dan dapat melihat langsung bagaimana bentuk rangkaiannya, sementara dengan VHDL kita tidak perlu memikirkan bentuk rangkaiannya, sehingga akan lebih bermanfaat dalam perancangan rangkaian yang kompleks. Modelsim dan Quartus dapat menjalankan simulasi dengan baik. Akan tetapi terdapat perbedaan antara keduanya. Yang membedakan Modelsim dari Quartus adalah pada Modelsim kita dapat melakukan manipulasi terhadap rangkaian yang kita buat, yaitu dengan menggunakan force, sehingga kita dapat melakukan debugging dengan lebih baik. Selain itu pada Modelsim juga terdapat Simulator Tool yang tidak kita temukan pada Quartus.

6. DAFTAR PUSTAKA

12