Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

dokumen-dokumen yang mirip
MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL: STOPWATCH DIGITAL

TUTORIAL. Tabel Kebenaran Full Adder : Cin B A Sum Cout

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

untuk ASIC tinggi, algoritma harus diverifikasi dan dioptimalkan sebelum implementasi. Namun dengan berkembangnya teknologi VLSI, implementasi perangk

Field Programmable Gate Array (FPGA) merupakan perangkat keras yang nantinya akan digunakan untuk mengimplementasikan perangkat lunak yang telah diran

MULTIPLEKSER BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

QUARTUS DAN CARA PENGGUNAANNYA

Review Kuliah. TKC305 - Sistem Digital Lanjut. Eko Didik Widianto

FPGA Field Programmable Gate Array

Gerbang logika ini akan dijelaskan lebih detil pada bagian 4. AND A B Y OR Y A B Y NOT AND NOT

Teknologi Implementasi dan Metodologi Desain Sistem Digital

LAPORAN PENGERJAAN REVERSIBLE FULL-ADDER

2. STUDI PUSTAKA. Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 1

TSK505 - Sistem Digital Lanjut. Eko Didik Widianto

BAB 1 PENDAHULUAN. dengan teknologi digital, maka perangkat tersebut memiliki sebuah integrated

DEKODER BINER KE DESIMAL BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

PROYEK PERANCANGAN RANGKAIAN DIGITAL : THUNDERBURD TAIL LIGHTS. Mochammad Fadhli Zakiy, Rizki Satya Utami

BAB 3. Perancangan Sistem

Pengenalan VHDL. [Pengenalan VHDL]

GERBANG LOGIKA BERBASIS PROGRAMMABLE LOGIC DEVICE (PLD)

BAB 1. Pendahuluan. diprogram secara digital ditemukan seperti IC sederhana seperti General Array

MODUL VI PROYEK PERANCANGAN RANGKAIAN DIGITAL 2. STUDI PUSTAKA

MODUL TRAINING PRAKTIKUM MENGGUNAKAN FPGA

LAB #1 DASAR RANGKAIAN DIGITAL

Implementasi Prototipe Sistem Kontrol Elevator Berbasis FPGA Menggunakan VHDL

Dari tabel kebenaran half adder, diperoleh rangkaian half adder sesuai gambar 4.1.

PERANCANGAN SISTEM DIGITAL DENGAN ALTERA UP 2 CPLD BOARDS dan VHDL (Very high speed integrated circuits Hardware Description Language)

BAB I PENDAHULUAN. Gambar 1.1 : Xilinx Foundation Series

Rancang Bangun Penyandian Saluran HDB3 Berbasis FPGA

MODUL 3 GERBANG LOGIKA DASAR

IMPLEMENTASI FIELD PROGRAMMABLE GATE ARRAY (FPGA) UNTUK MEMBUAT GAME RICOCHET. Naskah Publikasi. diajukan oleh Astona Sura Satrida

MATERI PELATIHAN VHDL UNTUK SINTESIS

Pengkodean Kanal Reed Solomon Berbasis FPGA Untuk Transmisi Citra Pada Satelit Nano

RANGKAIAN LOGIKA DISKRIT

LAB SHEET TEKNIK DIGITAL. Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen

BAB I PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI FIELD PROGRAMMABLE GATE ARRAY DALAM PERANCANGAN ARITHMETIC-LOGIC UNIT DAN SHIFTER

Perancangan Aritmetic Logic Unit (ALU) pada FPGA

Perancangan Rangkaian Digital, Adder, Substractor, Multiplier, Divider

Rancangan Dan Pembuatan Storage Logic Analyzer

LAPORAN PRAKTIKUM DIGITAL

BAB II SIMULATOR XILINX PADA RANGKAIAN DIGITAL SEDERHANA

IP Core Design Rangkaian Sekuensial dan Kombinasional

ARSITEKTUR FPGA. Veronica Ernita K.

PERANCANGAN DAN SIMULASI ALAT PENGHITUNG JUMLAH DETAK JANTUNG MENGGUNAKAN ISE WEBPACK 13.1

IMPLEMENTASI ALGORITMA KRIPTOGRAFI VERNAM CIPHER BERBASIS FPGA

PERCOBAAN 8. RANGKAIAN ARITMETIKA DIGITAL DASAR

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL 2. STUDI PUSTAKA

RUMUSAN MASALAH Rumusan masalah yang diambil penulis ialah mengembangkan dari latar belakang masalah yang telah diuraikan di atas, dan dapat diperoleh

SIMULASI RANGKAIAN DIGITAL MESIN PENJUAL KOPI DENGAN XILINX

PERANCANGAN LAYOUT VLSI UNTUK ARSITEKTUR UNIT KONTROL PADA PROSESSOR MULTIMEDIA

Sistem. Bab 6: Combinational 09/01/2018. Bagian

BAB VI RANGKAIAN ARITMATIKA

PARAMETER GERBANG LOGIKA

Aplikasi FPGA dalam Pengontrolan Ruangan

BAB IV IMPLEMENTASI DAN VERIFIKASI PADA FPGA

BAB I PENDAHULUAN Latar Belakang Rumusan Masalah Tujuan

Implementasi Penampil Citra Dengan Menggunakan Picoblaze FPGA

Design Capture dalam Implementasi Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

MODUL II GATE GATE LOGIKA

PERANCANGAN FILTER FIR MENGGUNAKAN SOFTWARE XILINX ISE 9.2i

BAB 5 VERIFIKASI DAN IMPLEMENTASI FPGA

Analisa Model Implementasi Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

BAHASA PEMROGRAMAN VHDL

SIMULASI RANGKAIAN DIGITAL MESIN PENJUAL KOPI DENGAN XILLINX

LAPORAN PRAKTIKUM DIGITAL

Kuliah#11 TKC205 Sistem Digital. Eko Didik Widianto. 11 Maret 2017

BAB III PERANCANGAN UIMEGA 8535

MODUL TRAINER DIGITAL YANG DIGUNAKAN SEBAGAI MODUL PEMBELAJARAN PENDIDIKAN VOKASI BIDANG ELEKTRONIKA

LAB #3 PENGENALAN VHDL DAN PEMROGRAMAN IC GAL MENGGUNAKAN ALL-11 UNIVERSAL PROGRAMMER

DIG 04 RANGKAIAN PENJUMLAH

Jobsheet Praktikum PARALEL ADDER

PERANCANGAN PLC MENGGUNAKAN FPGA

A0 B0 Σ COut

Percobaan IV PENGENALAN VHDL

Praktikum Sistem Digital

Kajian Bahasa Deskripsi Perangkat Keras

Sintesis dan Penyederhanaan Fungsi Logika dengan Peta Karnaugh

MODUL TEKNIK DIGITAL MODUL III GERBANG LOGIKA

BAB 3 PERANCANGAN SISTEM. PID berbasiskan FPGA yang bekerja secara multiplexing untuk pemberian data set point

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL

Latihan 19 Maret 2013

Read Only Memory (ROM) berbasis Field Programmable Gate Array (FPGA) menggunakan VHDL (VHSIC Hardware Description Language)

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

Pengenalan FPGA oleh Iman Taufik Akbar

Praktikum Sistem Digital

PERBANDINGAN KINERJA ADDER DENGAN TOPOLOGI MCC, CLA, DAN RCA 16-BIT DENGAN TEKNOLOGI 180NM MENGGUNAKAN SOFTWARE ELECTRIC

EMULASI GERBANG LOGIKA TUNGGAL MULTIFUNGSI MENGGUNAKAN MIKROPENGENDALI ATMEGA8A

Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map

Review Kuliah. TKC305 - Sistem Digital Lanjut. Eko Didik Widianto

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

PROGRAMMABLE LOGIC DEVICES

MODUL I GERBANG LOGIKA

PENDAHULUAN SISTEM DIGITAL

Lampu lalu lintas sederhana berbasis Field Programmable Gate Array (FPGA) menggunakan Finite State Machine

Percobaan 2. Membangun Logika Kombinasi dengan Transistor CMOS

Pengantar Sistem Digital

Rangkaian Adder dengan Seven Segment

LAPORAN TAHUNAN PENELITIAN HIBAH BERSAING

ASIC Application Spesific Integrated Circuit

Transkripsi:

MODUL 2 PENGENALAN DESAIN MENGGUNAKAN FPGA Iskandar Setiadi (13511073) Asisten: Alfian Abdi / 13208044 Tanggal Percobaan: 01/10/2012 EL2195-Praktikum Sistem Digital Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak Pada era modern ini, pemodelan rangkaian digital tidak hanya dapat dilakukan secara manual, tetapi dapat didesain menggunakan IC dengan bantuan komputer. Salah satu teknik perancangan yang sering digunakan adalah FPGA dengan pendekatan skematik maupun bahasa VHDL. Pada kesempatan ini, kita akan mengimplementasikan rangkaian full-adder dengan target FPGA. Kata kunci: FPGA, full-adder, skematik, dan bahasa VHDL 2.1 FIELD PROGRAMMABLE GATE ARRAY (FPGA) FPGA adalah sebuah integrated circuit yang dapat dikonfigurasi dan diprogram berkali-kali. FPGA terdiri atas logika yang dapat diprogram, yang disebut dengan blok logika (logic blocks),[5]. 1. PENDAHULUAN Perancangan fungsi logika dapat dilakukan dengan setidaknya dua cara, yaitu secara manual maupun digital. Perancangan digital dapat dilakukan di berbagai macam target, salah satunya adalah FPGA. FPGA, atau dikenal juga sebagai field-programmable gate array, merupakan sebuah devais yang dapat mengimplementasikan fungsi logika berulang kali. Pada percobaan ini, perancangan rangkaian dibantu dengan dua piranti lunak tambahan, yaitu ALTERA QUARTUS II dan ModelSim. Ada sedikitnya dua cara dalam melakukan perancangan digital, yaitu menggunakan bahasa VHDL maupun pendekatan secara skematik. Dengan mendesain rangkaian full-adder, 4-bit ripple carry adder, maupun 4-bit adder menggunakan berbagi metoda, diharapkan dasar-dasar perancangan rangkaian digital dapat dikuasai dengan baik. 2. STUDI PUSTAKA Cara tradisional dalam mengimplementasikan fungsi logika adalah dengan menggunakan rangkaian CMOS / TTL. Seiring perkembangan zaman, penggunaan chip yang dapat diprogram secara digital pun bermunculan dan disebut juga Programmable Logic Devices (PLDs), [3]. Salah satu teknik perancangan rangkaian digital untuk mengimplementasikan fungsi logika adalah dengan menggunakan FPGA. Gambar 2-1 Core dari FPGA Stratix IV ALTERA Setiap pin masukkan dari FPGA memiliki fungsionalitasnya sendiri dan secara umum, setiap gerbang logika yang dimiliki oleh FPGA mampu menyimpan baik logika HIGH dan logika LOW dalam komponen logika yang disebut dengan Look-Up Table (LUT),[1]. 2.2 ALTERA UP2 EDUCATION KIT Pada percobaan ini, salah satu board yang digunakan dalam laboratorium adalah ALTERA UP2 Education Kit. IC ini termasuk dalam kelas (Family) FLEX10K,[7]. Gambar 2-2 IC ALTERA UP2 Pin-pin yang nantinya akan digunakan pada percobaan ini terangkum dalam tabel berikut: Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 1

Tabel 2-1 Referensi Kaki UP2 Berikut ini adalah tabel kebenaran dari Full adder: Nama PIN Kaki yang digunakan UP2 Tabel 2-2 Tabel Kebenaran Full Adder A PIN_41 Masukkan Keluaran B C A_OUT B_OUT C_OUT CARRY SUM PIN_40 PIN_39 PIN_6 PIN_13 PIN_9 PIN_24 PIN_17 A B C In C Out 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 2.3 FULL ADDER Seperti penjumlahan dalam basis desimal, kita dapat mengoperasikan penjumlahan dalam basis biner menggunakan gerbang logika, yaitu dengan mengimplementasikan full adder dalam rangkaian kita. Full adder bekerja dengan prinsip Sum dan C out. Perhatikan rangkaian berikut ini,[9]: Gambar 2-3 Rangkaian Full Adder Full adder menerima 3 buah masukkan, biasanya disebut dengan A,B, dan C in. Nilai total dari full adder (sum) didefinisikan sebagai 2 kali nilai C out ditambah dengan nilai S ( sum = 2 x C out + S). 0 1 1 1 0 1 1 1 1 1 Selain adder yang disebutkan diatas, terdapat beberapa jenis adder lainnya seperti half-adder, ripple-carry adder, carry-lookahead adder, dan lookahead carry unit. 2.4 BAHASA VHDL VHDL (Very-high-speed integrated circuits Hardware Description Language) adalah bahasa pemrograman perangkat keras yang digunakan untuk memodifikasi sistem logika dalam FPGA ataupun IC. VHDL merupakan pengembangkan dari bahasa prosedural seperti ADA maupun PASCAL, yang kemudian dikembangkan untuk tujuan spesifik,[6]. Salah satu keuntungan menggunakan bahasa VHDL adalah implementasinya yang sederhana dan lebih compact dibandingkan pendekatan skematik. VHDL sendiri dapat dibuat dan disimulasikan pada ALTERA QUARTUS II maupun ModelSim. 3. METODOLOGI Percobaan ini akan dibagi menjadi delapan bagian. Secara garis besar, perancangan rangkaian digital menggunakan FPGA dapat menggunakan flowchart berikut: Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 2

Gambar 3-3 Bahasa VHDL untuk Percobaan 2B Kode tersebut kemudian dikompilasi dan seperti percobaan 2A, pendekatan tersebut diimplementasikan pada Board FPGA tipe UP-2. Pada percobaan 2C, 4-bit ripple carry adder akan diimplementasikan menggunakan bahasa VHDL. Berikut ini adalah kode VHDL untuk percobaan 2C: Gambar 3-2 Flowchart Proses Perancangan Digital Pada percobaan 2A, kita akan mendesain rangkaian full-adder dengan pendekatan skematik. Pendesainan ini akan dibantu dengan piranti lunak ALTERA QUARTUS II. Berikut adalah rancangan desain dari percobaan ini: Gambar 3-4 Bahasa VHDL untuk Percobaan 2C Setelah kita menggunakan pendekatan dengan VHDL, pada percobaan 2D, kita akan menggunakan pendekatan skematik. Kita dapat mensimulasikannya seperti pada proses percobaan 2A. Berikut ini adalah rancangan desain dari percobaan ini: Gambar 3-2 Gambar Skematik Percobaan 2A Rangkaian tersebut akan menerima 3 masukkan (A, B, Cin) dan memberikan 2 keluaran secara umumnya, yaitu SUM dan CARRY. Setelah proses simulasi menggunakan Netlist berjalan lancar, rangkaian tersebut diimplementasikan pada IC Board FPGA tipe UP-2. Percobaan 2B akan mendesain full-adder (seperti percobaan 2A) menggunakan bahasa VHDL. File yang dikodekan dalam modul2vhdl.vhd adalah sebagai berikut: Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 3

Gambar 3-5 Gambar Skematik Percobaan 2D Selain menggunakan ALTERA QUARTUS II, pemodelan rangkaian digital dapat disimulasikan menggunakan ModelSim. Pada percobaan 2E, kita akan mensimulasikan rangkaian full-adder dengan pendekatan bahasa VHDL. Berikut ini adalah kode VHDL yang akan digunakan: BEGIN --Instance module dut : modul2vhdl PORT MAP( A => A, B => B, Cin => Cin, S => S, Cout => Cout); --Stimulus generator clock_a : PROCESS Gambar 3-6 Bahasa VHDL untuk Percobaan 2E Stimulus dapat diberikan dengan Right Click -> Clock dengan memberikan nilai masukkan periode untuk sinyal A, B, dan C sebesar 50ps, 100ps, dan 200 ps secara terurut. Setelah itu, kita cukup mensimulasikannya dengan menu Tools -> Run atau dengan mengetikkan run[spasi](time). Ada tiga gambar sinyal yang akan disimulasikan, yaitu mode normal, no force, dan dengan force. Pada percobaan 2E, kita memberikan stimulus secara manual. Percobaan 2F ini akan menggunakan konsep testbench, dengan memberikan stimulan melalui kode VHDL. File VHDL yang kita buat akan berfungsi sebagai DUT, yaitu Design Under Test. Berikut ini adalah kode VHDL yang akan kita gunakan untuk memberikan stimulus pada percobaan ini: BEGIN WAIT FOR 50 ps; A <= not A; end PROCESS clock_a; clock_b : PROCESS BEGIN WAIT FOR 100 ps; B <= not B; end PROCESS clock_b; clock_c : PROCESS BEGIN WAIT FOR 200 ps; C <= not C; end PROCESS clock_c; END testbench; Setelah menggunakan stimulus diatas, kita akan mengganti stimulus dengan kode VHDL berikut ini: ENTITY tb_modul2vhdl IS END tb_modul2vhdl; ARCHITECTURE testbench OF tb_modul2vhdl IS COMPONENT modul2vhdl IS PORT (A,B,Cin : IN BIT; S,Cout : OUT BIT); END COMPONENT; SIGNAL A : BIT := '0'; SIGNAL B : BIT := '0'; SIGNAL Cin : BIT := '0'; SIGNAL S : BIT; Gambar 3-7 Stimulus untuk Percobaan 2F Setelah mensimulasikan fungsi logika dengan ModelSim, pada percobaan 2G, kita akan menggunakan ModelSim untuk melakukan proses tapping sinyal dari sebuah desain. Kita akan melakukan modifikasi pada file DUT dengan script berikut: SIGNAL Cout : BIT; Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 4

Gambar 3-8 Script Tapping Percobaan 2G Setelah mengetikkan script diatas, kita cukup mensimulasikan ulang seperti pada percobaan 2F. Jika proses-proses diatas dilakukan secara manual, kita dapat membuat script untuk menghindari proses yang sama berulang kali. Pada percobaan 2H, kita akan membuat file bernama sim.do dengan spesifikasi script sebagai berikut: Gambar 3-11 Script file file.do Percobaan 2H 4. HASIL DAN ANALISIS 4.1 MENDESAIN FULL ADDER DENGAN SKEMATIK Pada percobaan ini digunakan ALTERA QUARTUS II dan board UP2 dengan pendekatan skematik. Dengan menggunakan overwrite clock masukkan A sebesar 10 ns, B sebesar 20 ns, dan C in sebesar 40 ns, maka ditampilkan hasil simulasi seperti gambar 4-1 berikut: Gambar 3-9 Script file sim.do Percobaan 2H Hal selanjutnya yang perlu kita lakukan adalah mensimulasikannya dengan mengetikkan do sim.do. Seperti percobaan 2F, kita akan menguji script diatas dengan melakukan pengaturan pada preferensi clock. Lalu kita akan mendapatkan kode berikut ini: Gambar 4-1 Simulasi Percobaan 2A pada QUARTUS II Gambar 3-10 Stimulus Percobaan 2H Selanjutnya kita akan mensimulasikan testbench yang telah dibuat sebelumnya menggunakan script file.do. Berikut ini adalah kode yang digunakan dalam pembuatan file file.do: Tabel 4-1 Tabel Kebenaran Full Adder Percobaan 2A Masukkan Keluaran A B C In C Out S 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 5

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 pada tabel 2-2. Hal selanjutnya yang akan dilakukan adalah mengimplementasikan pendekatan skematik ini ke FPGA. Gambar 4-2 berikut ini adalah hasil implementasi pada board UP2: Gambar 4-3 Simulasi Percobaan 2B Tabel 4-2 Tabel Kebenaran Full Adder Percobaan 2B Masukkan Keluaran A B C In C Out 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 Gambar 4-2 Simulasi Percobaan 2A pada FPGA Gambar diatas menunjukkan IC diberikan masukkan A dan C in, sehingga logika S bernilai 0 dan logika C Out bernilai 1. Hasil percobaan ini membuktikan logika full adder berjalan dengan baik di board UP2 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: 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. Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 6

Gambar 4-4 Simulasi Percobaan 2B pada FPGA Gambar diatas menunjukkan IC FPGA diberikan masukkan A, B, dan C in sehingga menghasilkan logika S dan C out 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 C in 1 bit dan mengembalikan hasil berupa Sum 4 bit dan C out 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): 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 C in = 0, maka nilai penjumlahan A + B + C In dalam basis 2 adalah 11110. Perhatikan pada tabel diatas bahwa untuk nilai A,B, C In yang diberikan, menghasilkan C out = 1 dan S = 1110 (A + B + C In =C out * 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-5 Simulasi Percobaan 2C pada QUARTUS II Perhatikan bahwa waveform diatas akan membentuk tabel kebenaran sebagai berikut: Tabel 4-3 Tabel Kebenaran 4-Bit Ripple Carry Adder Gambar 4-6 Simulasi Percobaan 2D pada QUARTUS II Hasil waveform diatas dapat ditranslasikan kedalam tabel kebenaran sebagai berikut: Tabel 4-4 Tabel Kebenaran 4-Bit Adder Dengan Skematik Masukkan Keluaran Masukkan Keluaran A B C In C Out S 1111 0000 0 0 1111 A B C In C Out S 0000 0000 0 0 0000 Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 7

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 MODELISM Setelah sebelumnya kita mensimulasikan rangkaian digital menggunakan ALTERA QUARTUS II, berikut ini adalah hasil simulasi menggunakan piranti lunak ModelSim: Gambar 4-8 Force Value B Menjadi 1 pada ModelSim Perhatikan gambar 4-8 diatas. Gambar tersebut merupakan representasi hasil ketika value B diberikan force agar selalu bernilai 1. Perintah force berfungsi untuk memaksakan agar masukkan input selalu bernilai logika tertentu (1 / 0). 4.6 MEMBUAT TESTBENCH Salah satu kelebihan ModelSim dibandingkan ALTERA QUARTUS II adalah simulasi rangkaian mengunakan testbench. Perhatikan gambar 4-9 berikut ini: Gambar 4-7 Simulasi Percobaan 2E pada ModelSim Hasil waveform diatas didapatkan dengan mengatur clock dari masukkan (A,B,C in) menjadi masing-masing 50ps, 100ps, dan 200ps. Stimulus yang diberikan memberikan hasil waveform yang berlogika sama dengan menggunakan ALTERA QUARTUS II. Hal selanjutnya yang diuji pada bagian ini adalah menggunakan perintah (command) No Force. Perintah tersebut berfungsi untuk membatalkan (undo) dari perintah force yang diberikan sebelumnya. Pada kondisi default, perintah ini akan memberikan hasil keluaran 0. Gambar 4-9 Stimulus Generator pada ModelSim Perintah (command) clock yang semula menggunakan cara Right Click -> Clock dapat digantikan dengan testbench (Design Under Test / DUT). Gambar 4-9 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; Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 8

Perintah tersebut menunjukkan bahwa setiap 50ps, nilai logika A akan di-invert. Ketika logika A bernilai 0, maka setelah 50ps, logika A akan bernilai 1 dan berlaku sebaliknya. Selain cara tersebut, kita dapat memaksakan suatu value logika tertentu pada masukkan. Perhatikan contoh berikut ini (gambar 4-10): 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. 4.8 MEMBUAT SCRIPT UNTUK MELAKUKAN SIMULASI Keunggulan lain dari piranti lunak ModelSim adalah penggunaan script untuk menjalankan proses yang sama berulang kali. Script file ini memiliki ekstensi.do, yang berisikan sekumpulan instruksi untuk melakukan sesuatu. Dengan mengetikkan stimulus generator pada script yang digunakan (Gambar 3-10), maka simulasi dapat di eksekusi tanpa perlu menunggu masukkan manual. Perhatikan hasil perintah do sim.do berikut ini (gambar 4-12): Gambar 4-10 Stimulus : PROCESS pada ModelSim WAIT FOR 50 ps; A <= 1 ; Potongan kode diatas menunjukkan, setelah 50ps, maka logika A akan selalu bernilai 1. Hal yang sama berlaku untuk logika B yang di inisialisasi 100ps serta logika C yang di inisialisasi 200ps. 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-11): Gambar 4-12 Simulasi script file sim.do Perintah yang kita jalankan ini sama seperti menjalankan manual file modul2vhdl seperti pada percobaan 2E (Gambar 4-7). Gambar 4-11 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 Gambar 4-13 Simulasi script file file.do Selain itu, script juga dapat mensimulasikan testbench / DUT yang digunakan dalam percobaan. Hasil waveform gambar 4-13 menunjukan eksekusi run 500 pada file tb_modul2vhdl yang telah kita buat sebelumnya. 5. KESIMPULAN Terdapat dua pilihan piranti lunak yang dapat digunakan, yaitu ALTERA QUARTUS II (Percobaan 2A 2D) dan ModelSim (Percobaan 2E- Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 9

2H). ALTERA QUARTUS II dan ModelSim memiliki kelebihan dan kekurangan masingmasing. Dari segi penggunaan, ALTERA QUARTUS II lebih spesifik untuk pemrosesan dengan FPGA secara langsung sedangkan ModelSim digunakan untuk simulasi lokal tanpa perangkat IC,[8]. 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 berulangulang 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 (Percobaan 2A & 2D), maupun menggunakan bahasa seperti bahasa VHDL (Percobaan 2B, 2C, 2E, 2F, 2G & 2H). Rangkaian Full adder dapat diimplementasikan dengan berbagai cara (seperti cara diatas). Fungsi utama dari rangkaian ini adalah untuk menjumlahkan bilangan biner menggunakan fungsi gerbang logika. Ada beberapa jenis rangkaian adder seperti Full adder (Percobaan 2B), maupun Ripple carry adder (Percobaan 2C). [4] Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design Third Edition, hal 109-114, McGraw-Hill, San Francisco, 2009 [5] http://en.wikipedia.org/wiki/fieldprogrammable_gate_array, 3 Oktober 2012, pukul 2:16:24 [6] http://en.wikipedia.org/wiki/vhdl, 3 Oktober 2012, pukul 2:40:15 [7] http://www.altera.com/education/univ/mate rials/boards/unv-up2- board.html?gsa_pos=1&wt.oss_r=1&wt. oss=up2, 3 Oktober 2012, pukul 2:37:10 [8] http://www.alteraforum.com/forum/showth read.php?t=1066, 3 Oktober 2012, pukul 3:10:12 [9] http://4.bp.blogspot.com/- NIy45k3TuEE/TkouUTvUOZI/AAAAAA AAAG8/SQiB48Yi_UQ/s1600/550px-Fulladder.png, 3 Oktober 2012, pukul 2:51:30 DAFTAR PUSTAKA [1] Brian Holdsworth and Clive Woods, Digital Logic Design Fourth Edition, N.wnes, 2002 [2] Fairchild Semiconductor, DM74LS04 Hex Inverting Gates, Fairchild Semiconductor Corporation, 1998 [3] Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design Third Edition, hal 98, McGraw-Hill, San Francisco, 2009 Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB 1 0