Anda di halaman 1dari 15

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL

Ellert Bryant Prima Widison (13216015)


Najmi Kertasafari (13216017)
Asisten: Christiawan (13214133)
Tanggal Percobaan: 29/11/2017
EL2102-Praktikum Sistem Digital
Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

ABSTRAK
Modul keenam pada praktikum sistem digital merupakan 3) Sedikitnya terdiri dari 3 blok
modul terakhir dalam rangkaian praktikum ini. Pada modul
Beberapa Alat dan Software yang dibutuhkan
ini, praktikan diminta untuk membuat sebuah proyek akhir
pada praktikum modul keenam ini adalah:
dengan tema bebas. Ketentuan yang diwajibkan antara lain
menggunakan interface yang disediakan Board DE1, 1) Software Quartus II 9.0 sp2 Web Edition
menggunakan FSM, dan terdiri dari 3 blok. Pada 2) Board FPGA ALTERA DE1
praktikum ini praktikan membuat sebuah sistem vending 3) Monitor LCD dan kabel VGA
machine dengan desain menggunakan Quartus dan
implementasi menggunakan display LCD dengan VGA Pada proyek akhir ini, praktikan membuat sebuah
pada FPGA serta menggunakan 7segment. sistem yang bekerja seperti vending machine.
Sistem bekerja dengan menerima input berupa
Kata Kunci: Quartus, Display LCD, VGA, FPGA produk yang akan dipilih dan uang yang
dibutuhkan untuk membayar. Output dari sistem
ini berupa nilai yang harus dibayarkan, input uang
1. PENDAHULUAN yang telah dimasukkan, terjual atau tidaknya
barang, serta produk yang turun dari posisi awal
Modul keenam dari praktikum sistem digital
pada layar. Praktikan membuat desain dengan
merupakan proyek perancangan rangkaian digital.
beberapa blok menggunakan Quartus dalam kode
Adapun tujuan dari praktikum pada modul ini
VHDL. Implementasi dari sistem ini
adalah:
menggunakan Board FPGA Altera DE1 dengan
1) Menspesifikasi suatu sistem digital VGA serta 7Segment. VGA akan menampilkan
sederhana produk-produk yang tersedia. Sedangkan
2) Membagi sistem menjadi satu atau lebih 7segment akan menampilkan uang input, yang
jalur data dan kendali harus dibayarkan, serta terjual atau tidaknya
3) Mendesain jalur data untuk sistem barang tersebut.
4) Mendesain kendali untuk sistem
5) Mengintegrasikan jalur data dan kendali
ke dalam sistem secara keseluruhan 2. STUDI PUSTAKA
6) Melakukan tes secara menyeluruh 2.1 FPGA
7) Mengimplementasikan sistem digital FPGA merupakan IC digital yang
dengan FPGA dan komponen tambahan biasanya sering digunakan untuk
8) Menguji dan menganalisa sistem yang mengimplementasikan rangkaian digital.
sudah dibangun FPGA merupakan Field Programmable
Gate Array. FPGA dapat dirancang sesuai
Untuk mencapai tujuan tersebut, praktikan
keinginan dan kebutuhan pemakainya.
diminta untuk membuat suatu proyek yang dapat
FPGA terdiri atas gerbang-gerbang
dengan tema bebas. Proyek yang dibuat harus
interkoneksi. FPGA bersifat volatile, yang
mencakup spesifikasi sebagai berikut:
artinya ketika sumber daya yang
1) Menggunakan interface yang disediakan menyuplainya dicabut, maka secara
board DE1 seperti VGA, Audio, LCD, USB, otomatis FPGA akan kehilangan
dan Serial. fungsinya.[1]
2) Mempunyai bagian FSM
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |1
2.2 QUARTUS II 9.0 SP2 WEB EDITION
Quartus II 9.0 SP2 Web Edition merupakan
seru Quartus yang di produksi oleh Altera.
Quartus merupakan program yang
mampu membuat rangkaian logika baik
dengan skematik maupun dengan
menggunakan bahasa VHDL. Quartus
pada seri ini dapat digunakan untuk
mengcompile rancangan desain yang telah
dibuat, memsimulasikan rancangan dan
sebagainya. [2] Gambar 2.1 DE1 board
2.3 ALTERA DE1
2.4 VGA
Merupakan FPGA yang digunakan untuk
VGA atau Video Graphics Array
memsimulasikan rangkaian digital. Altera
merupakan interface yang ada pada board
DE1 memiliki spesifikasi sebagai berikut:
Altera untuk menampilkan hasil desain
 Altera Cyclone® II 2C20 FPGA
pada layar monitor LCD. Interface ke VGA
device
menggunakan dua jenis sinyal, yaitu
 Altera Serial Configuration device
sinyal warna (RGB) dan sinyal sinkron.
– EPCS4
 Sinyal warna merupakan sinyal
 USB Blaster (on board) for
yang merepresentasikan inten-
programming and user API
sitas untuk masing-masing
control; both JTAG and Active
komponen warna yaitu merah,
Serial (AS) programming modes
hijau, dan biru.
are supported
 Sinyal sinkron merupakan sinyal
 512-Kbyte SRAM
yang merepresentasikan posisi
 8-Mbyte SDRAM
atau letak dari suatu objek dalam
 4-Mbyte Flash memory
pixel. Terdapat dua sinyal sinkron
 SD Card socket
yaitu Horizontal sync untuk
 4 pushbutton switches
mengatur pergantian baris.
 10 toggle switches
Sedangkan Vertical sync untuk
 10 red user LEDs
mengatur pergantian kolom.[4]
 8 green user LEDs
2.5 FINITE STATE MACHINE
 50-MHz oscillator, 27-MHz
Finite State Machines (FSM) adalah sebuah
oscillator and 24-MHz oscillator
metodologi perancangan sistem kontrol
for clock sources
yang menggambarkan tingkah laku atau
 24-bit CD-quality audio CODEC
prinsip kerja sistem dengan menggunakan
with line-in, line-out, and
tiga hal berikut: State (Keadaan), Event
microphone-in jacks
(kejadian) dan action (aksi). Pada satu saat
 VGA DAC (4-bit resistor network)
dalam periode waktu yang cukup
with VGA-out connector
signifikan, sistem akan berada pada salah
 RS-232 transceiver and 9-pin
satu state yang aktif. Sistem dapat beralih
connector
atau bertransisi menuju state lain jika
 PS/2 mouse/keyboard connector
mendapatkan masukan atau event
 Two 40-pin Expansion Headers
tertentu, baik yang berasal dari perangkat
with resistor protection
luar atau komponen dalam sistemnya itu
 Powered by either a 7.5V DC
sendiri. Finite State memiliki keadaan
adapter or a USB cable[3]
yang terbatas. Oleh karena itu, sistem ini
bekerja seperti mesin yaitu bekerja sesuai
dengan keadaan-keadaan yang
berurutan.[5]

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |2


3. METODOLOGI ketujuh serta kedelapan merupakan state setelah
komparasi apakah barang terjual atau tidak.
Pada praktikum proyek akhir sistem digital,
terdapat beberapa tahapan yang harus dilakukan Setelah melakukan desain, praktikan melakukan
oleh praktikan. Tahapan pertama merupakan compile seluruh desain dan melakukan simulasi
pembuatan proposal rancangan proyek yang akan fungsional dan timing jika memungkinkan.
dibuat. Proposal memuat deskripsi proyek
Setelah melakukan simulasi dengan waveform,
rancangan, cara kerja sistem, desain arsitektur, dan
praktikan melakukan implementasi pada board
bagian FSM dari sistem tersebut.
FPGA dan melakukan debugging sebelum proyek
Setelah pengajuan proposal diterima, praktikan akhir dipresentasikan kepada asisten.
mulai membuat blok-blok yang digunakan dalam
Terakhir, setelah program berjalan dengan baik,
rancangan, blok yang digunakan akan dijadikan
praktikan melakukan presentasi dan melakukan
sistem yang saling terhubung untuk menghasilkan
simulasi sistem dengan asisten praktikum. Berikut
desain dari sistem vending machine yang
merupakan diagram proses pengerjaan proyek
dirancang. Berikut praktikan tampilkan blok
akhir.
diagram rancangan.

Mendesain
rancangan
Pengajuan proposal
berdasarkan blok
diagram

Melakukan compile
project dan simulasi Implementasi pada
secara fungsional FPGA dan debugging
atau timing

Melakukan simulasi
Gambar 3.1 Blok Diagram sistem dan
presentasi
Dalam blok FSM, praktikan melakukan
perancangan tiap state dengan desain sebagai
Gambar 3.3 Diagram proses melakukan proyek akhir
berikut:

4. HASIL DAN ANALISIS

4.1 Spesifikasi dan algoritma dari sistem


4.1.1 Spesifikasi sistem

Sistem bekerja dengan cara sebagai berikut:

1) Sistem menerima input produk yang akan


dibeli user. Terdapat tiga produk pada sistem
ini.
2) Setelah sistem menerima input produk yang
akan dibeli, sistem akan menampilkan uang
Gambar 3.2 FSM yang harus dibayarkan oleh user.
3) Sistem menerima input uang yang dibayarkan
FSM yang digunakan memiliki delapan state. State oleh user.
pertama merupakan state untuk clock. State kedua 4) Jika sistem memeriksa uang yang dibayarkan
merupakan state awal sebelum adanya input, state sudah cukup, maka produk terjual.
ketiga hingga kelima merupakan pilihan input.
State keenam merupakan komparasi dan state
Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |3
5) Jika sistem memeriksa uang belum cukup, menggunakan switch dari SW0 hingga SW2,
maka produk belum terjual dan input harus kemudian terdapat 2 bit uang yang akan user input
terus dilakukan. dengan switch SW3 dan SW4. Kemudian terdapat
switch reset untuk melakukan pembelian ulang
4.1.2 Algoritma yaitu SW5.

Berdasarkan gambar 3.1 yaitu blok diagram, Pada sistem ini, terdapat beberapa jenis output.
praktikan membuat algoritma dengan beberapa Output pertama adalah pada 7segment. Pada
blok. Berikut penjelasan dari tiap blok diagram: sistem ini, 7segment digunakan untuk
menampilkan harga yang harus dibayarkan (harga
1) top_level_entity : blok ini berfungsi
produk) pada HEX0. Kemudian pada HEX 1
sebagai pusat operasi dari cara kerja vending
menampilkan uang yang telah user input. Apabila
machine. Blok ini memusatkan blok-blok FSM,
uang yang diinput tidak mencukupi untuk
comparator, dan subtractor.
melakukan pembelian, sistem akan melakukan
2) FSM : blok ini berisi state-state
looping input hingga uang cukup dengan ditandai
yang harus dilakukan oleh sistem ketika
pada LCD berupa kotak berwarna merah. Apabila
terdapat pembelian oleh user. State yang
uang yang diinput cukup, maka 7segment akan
dimaksud adalah state menerima input
menampilkan tulisan SoLd, pada layar LCD akan
produk, input uang, komparasi harga dan
menampilkan kotak berwarna hijau, dan produk
nominal input uang, hingga state produk
akan turun dari posisi awal.
terbeli.
3) Comparator : blok ini berisi Praktikan akan melakukan percobaan sebanyak
perbandingan antara input uang dan harga tiga kali, yaitu ketika produk yang dipilih, harga
produk. dan uang yang diinput adalahm sama sehingga
4) subtractor : blok ini berfungsi produk terjual. Harapannya, 7segment akan
melakukan pengurangan pada input nominal menampilkan tulisan sold, pada LCD kotak akan
uang dan harga produk berwarna hijau dan produk turun dari posisi
5) top_level_vhd : blok ini berfungsi semula.
sebagai pusat display dari sistem vending
Percobaan kedua adalah ketika uang yang
machine. Display yang digunakan adalah
dibayarkan lebih, maka proses akan sama seperti
display pada 7segments dan display pada
percobaan pertama yaitu 7segment akan
layar dengan VGA pada FPGA.
menampilkan tulisan sold, pada LCD kotak akan
6) display7S : blok ini berfungsi untuk
berwarna hijau dan produk turun dari posisi
mengatur display yang diimplementasikan
semula.
pada seven segments dari Hex0 hingga Hex3.
7) displayVGA : blok ini berfungsi untuk Percobaan ketiga adalah ketika uang yang diinput
mengatur display pada layar LCD dengan tidak mencukupi. Maka pada layar LCD akan
menggunakan VGA pada FPGA. muncul kotak berwarna merah dan sistem direset.
Sinyal yang digunakan antara lain adalah sinyal 4.4 Hasil simulasi fungsional
input a,b,c 1 bit yang menentukan pilihan produk
susu, kemudian sinyal input X 2 bit sebagai input Praktikan melakukan dua kali simulasi fungsional.
nominal uang yang dibayarkan, sinyal input reset Simulasi pertama adalah simulasi yang dilakukan
1 bit untuk melakukan reset setelah penjualan, sebelum blok display dan blok sistem
sinyal merah untuk menyalakan kotak merah atau digabungkan. Simulasi yang praktikan lakukan
hijau, sinyal sold untuk meyalakan kata sold pada adalah simulasi pada blok sistem yaitu
seven segment. top_level_entity. Berikut gambar hasil simulasi
dari sistem.
4.2 VHDL code

VHDL code yang praktikan gunakan, akan


ditampilkan pada bagian lampiran laporan ini.

4.3 Strategi pengujian yang digunakan

Pada sistem ini terdapat beberapa jenis input.


Pertama input dari produk yang dipilih dengan

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |4


Gambar 4.4.3 simulasi desain percobaan kedua

Pada gambar di atas, diperlihatkan ketika dibeli


produk 2 dan uang yang diinput user kurang dari
harga yang seharusnya dibayarkan. Maka, Hex0
Gambar 4.4.1 Simulasi Sistem akan tetap menampilkan harga produk dan Hex1
menampilkan uang yang diinput oleh user. Hex2
Pada hasil simulasi di atas, terdapat produk a, b, dan Hex3 mati. Display pada 7segment adalah
dan c. Praktikan memilih produk a yang akan Hex0 menampilkan angka 2 dan Hex 1
dibeli. Clock dibuat periode 2 ns. Kemudian menampilkan angka 1 atau 0.
praktikan memasukkan input uang yang
dibayarkan (X). Karena harga (M) produk adalah
1, maka praktikan membayar dengan harga lebih
dari 1, yaitu 3. i_money berfungsi untuk
menyimpan input uang yang dibayarkan. Karena
uang mencukupi, maka barang akan terjual,
sehingga kotak merah tidak menyala (‘0’) dan
variabel Sold akan bernilai on (‘1’).

Gambar 4.4.4 simulasi desain percobaan ketiga

Pada gambar di atas memerlihatkan ketika saat


membeli produk, user menginput uang lebih dari
yang diminta. Berdasarkan hasil simulasi pada
Modelsim, maka barang tetap akan terjual
sehingga Hex0 hingga Hex3 akan memiliki nilai
yang jika di implementasikan pada display akan
membentuk kata “SoLd”.

Gambar 4.4.2 simulasi desain percobaan 1 4.5 Analisis

Pada gambar di atas, merupakan hasil simulasi


dengan menggunakan modelsim. Hasil simulasi
yang ditampilkan adalah ketika produk pertama
dibeli, dan input uang yang dimasukkan user pas.
Maka barang akan terjual dan ditandai dengan
adanya nilai pada Hex0 hingga Hex3 dan
seharusnya display 7segment membentuk kata
“SoLd”.

Gambar 4.5.1 Display VGA


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |5
Pada percobaan kali ini, desain yang telah dibuat
berhasil di compile dan disimulasikan, namun
pada saat diimplementasikan, terjadi kegagalan.

Tampilan display pada LCD sudah sesuai harapan


dimana terdapat tiga buah produk, dan terdapat
sebuah kotak hijau yang menyatakan uang yang
diinput cukup atau tidak.

Tampilan pada 7segment juga muncul, hanya saja


untuk display pada saat barang terjual (Sold=’1’)
tidak terdapat proses pada VGA maupun pada 7 Gambar 4.5.5 Percobaan 1
segment.
Pada saat dipilih produk 1, muncul pada HEX0
angka 1, kemudian saat dibayar, kembali menjadi
0, artinya barang terjual. Sehingga seharusnya,
Sold = ‘1’ dan pada 7segment berubah menjadi
kata “SoLd” dan pada VGA kotak hijau, dan
produk turun dari posisi semula. Namun pada
kasus ini, semua harapan tidak terjadi.
Diperkirakan variabel Sold tidak mengirimkan
sinyal 1 ke blok lainnya.

Gambar 4.5.2 input produk 1

Gambar 4.5.3 input produk 2 Gambar 4.5.6 Percobaan 2

Pada saat percobaan kedua, dipilih produk 2 dan


uang yang diinput tidak mencukupi untuk
melakukan pembayaran. Pada 7segment, sistem
bekerja dengan baik, namun pada VGA, kotak
tidak berubah menjadi merah. Tetapi kotak
memberi respon dengan garis-garis merah.

Dari kedua percobaan di atas, respon yang tidak


sesuai harapan antara lain pada saat uang kurang,
kotak tidak berwarna merah, namun memberi
Gambar 4.5.4 input produk 3 respon garis-garis merah tipis. Saat uang cukup,
7segment tidak berubah menjadi “SoLd” dan
Pada saat praktikan mencoba menginput produk
produk tidak turun. Hal ini karena variabel sold
yang ingin dibeli, sistem masih menerima dengan
tidak mengirim sinyal 1 ke blok lain.
baik ditandai dengan munculnya harga masing-
masing produk pada HEX0. Harga yang muncul Menurut praktikan, adanya delay menyebabkan
antara lain 1, 2, dan 3 pada produk 1, 2, dan 3. sinyal yang seharusnya diterima 1 oleh blok lain
menjadi 0. Sehingga blok lain yang merupakan
display tidak mengubah statenya sehingga sistem
vending machine tidak terlihat berjalan. Padahal,

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |6


berdasarkan hasil simulasi pada waveform, [3] https://www.altera.com/content/
display seharusnya berjalan. dam/altera-www/global/en_US/
portal/dsn/42/doc-us-dsnbk-42-
Kemungkinan apabila praktikan membuat clock
4904342209-de1-usermanual.pdf,
menjadi lebih kecil, delay menjadi lebih kecil juga,
diakses pada tanggal 5 Oktober
sehingga seharusnya sinyal yang ditangkap oleh
2017, pukul 10.03 WIB
blok lain tepat. Tetapi masih terdpat kemungkinan [4] Anonim, Petunjuk Praktikum Sistem
hal ini tidak berhasil karena input awal yang Digital, Laboratorium Dasar Teknik
diterima blok tetap bernilai 0. Elektro, Bandung, 2017.
[5] http://www.elektro.undip.ac.id/
iwan/Perancangan%20Software%2
5. KESIMPULAN 0Embedded%20System%20Berbas
Dari hasil percobaan-percobaan pada modul is%20FSM.pdf , diakses pada 13
keenam ini, dapat ditarik beberapa November 2017, pukul 19.18 WIB
kesimpulan, yaitu:
1) Cara kerja sistem yaitu dengan menerima
input produk, memunculkan harga,
menerima input uang, kemudian
mengkomparasi, dan menentukan apakah
barang terjual atau tidak.
2) Barang terjual ditandai dengan tulisan
“SoLd” pada 7segment dan produk turun.
Sedangkan barang tidak terjual ditandai
dengan kotak berwarna merah.
3) Hasil simulasi fungsional pada
top_level_entity menyatakan bahwa
ketika uang cukup, maka barang akan
terjual dan Sold akan menjadi ‘1’.
4) Hasil simulasi fungsional pada
top_level_vhd memperlihatkan bahwa
pada display 7segment ketika terjual
seharusnya menunjukkan tulisan “SoLd”.
5) Pada saat mengimplementasi terjadi
kegagalan pada display saat barang
terjual. Kegagalan berupa tidak
memunculkan tulisan “SoLd” pada
7segment dan produk tidak turun
6) Kegagalan diperkirakan karena adanya
delay pada sistem ketika mengirimkan
nilai Sold sehingga tidak diterima blok
lain. Diperkirakan apabila clock diperkecil
periodenya dapat menghasilkan display
sesuai harapan.

DAFTAR PUSTAKA
[1] http://ndoware.com/sekilas-
tentang-fpga.html , diakses pada 5
Oktober 2017 pukul 09.42 WIB.
[2] https://www.altera.com/content/
dam/altera-www/global/en_US/
pdfs/literature/manual/intro_to_q
uartus2.pdf, diakses pada 5 Oktober
2017 pukul 09.57 WIB

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |7


LAMPIRAN
1. top_level_fsm

2. fsm

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |8


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB |9
3. Comparator

4. Subtractor

5. top_level_entity

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 10


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 11
6. display7S

7. display_vhd

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 12


Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 13
8. color_rom

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 14


9. VGA

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB | 15

Anda mungkin juga menyukai