IMPLEMENTASI SISTEM DADU ELEKTRONIK IJENGAN MENGGUNAKAN VHDL Saptadi Nugroho
IMPLEMENTAS! SISTEM DADlT ELEKTRONIK DENGAN MENGGlJNAKAN VHDL.~···(''?/) rt1·,_
'<5\~:t,'
Saptadi Nugroho
'·:::;;1
;:::· · . · ....._,··.,: :" ,.
'"\' \
.:·
,;~·
~ . . . \·_. . :·, .. t_)
Fakultas Teknik Elektronika dan Komputer Universitai.:l
~·'
Jalan Diponegoro 52- 60, Salatiga 507·1}· · .·: 1 :.' }~' ~
-~
··''.' ·.
LJ('-.-~·
e-mail : [email protected]
INTISARI Dadu merupakan suatu alat yang sering digunakan di dalam permainan. Makalah ini membahas tentang perancangan dadu elektronik dengan menggunakan VHDL Di dalam system dadu elektronik, dadu akan bergulir dari angka 1 sampai dengan angka 6 yang ditunjukkan oleh kedipan LED (Light-emitting diode). Sistem dadu elektronik yang dirancang memiliki beberapa bagian yaitu pembangkit pulsa, counter, dekoder, Numerically Controlled Oscilator (NCO) dan pembangkit suara. Hasil perancangan dapat berhasil diimplementasikan ke dalam perangkat keras dengan menggunakan Complex Programmable Logic Device (CPLD).
Kata Kunci:
Da~u
Elektronik, FSM, NCO, VHDL
1. PENDAHULUAN Vet:v High Speed lllfegrated Circuit Hardware Description Language (VHDL) merupakan bahasa yang digunakan untuk mendeskripsikan dan mengoptimasi sistem perangkat keras. VHDL dibuat untuk mengatasi masalah yang sering terjadi dalam pengembangan perangkat keras digital. Pengembangan VHDL ini disponsori oleh Departemen Pertahanan United States dan kemudian menjadi standar IEEE 1076. VHDL sudah banyak digunakan dalam memodelkan dan membangun sistem perangkat keras digital. Di dalam makalah ini akan dibahas tentang perancangan dadu elektronik yang diimplementasikan dengan menggunakan VHDL Dadu merupakan suatu alat yang senng 75
Techne Jurnal Ilmiah Elektroteknika Vol. 10 No. 2 Okiober 2011 Hal 75- 82
digunakan dalam permainan. Di dalam sistem dadu elektronik, dadu akan bergulir dari 1 sampai dengan 6 yang ditunjukkan oleh kedipan LED (Light-emitting diode). Bunyi berdetik akan dihasilkan pada saat dadu bergulir dari satu angka ke angka yang lainnya. Sistem dadu elektronik
:
yang dirancang terdiri dari bagian pembangkit pulsa, bagian generator dadu dan bagian
fre
pembangkit suara. Pembangkit pulsa digunakan sebagai pemicu sistem dadu elektronik.
Gu
Generator dadu dipakai untuk memilih dan menampilkan jumlah titik yang merepresentasikan
con
angka. Pembangkit suara digunakan untuk menghasilkan suara pada saat proses pengacakan
m,e
angka dan penampilan angka dadu.
2. PEMBANGKIT PULSA DADU ELEKTRONIK Sebuah kristal osilator dengan frekuensi 32 KHz dipakai sebagai trigger untuk sistem dadu elektronik secara keseluruhan. Pembangkit pulsa ini menggunakan sebuah
CI)JStal
32 KHz. Di
dalam pembangkit pulsa ini terdapat sinyal tone dan pulsa. Sinyal tone dan pulsa memiliki frekuensi
lebih rendah dari
frekuensi
kristal osilator.
Sinyal tone digunakan untuk
membangkitkan frekuensi untuk melodi dan bunyi berdetik sedangkan pulsa digunakan sebagai
trigger register dan tlip flop. Gambar 1 berikut ini menunjukkan struktur pembangkit pulsa untuk dadu elektronik. reset llJ1_ 32KHz
Pulsa 2000Hz
Pulsa 1000Hz
~~Tone 6~00Hz
_LJ.;.H"'
rLfL~le5~~~Hz 32KHz
Pulsa 500Hz
Pulsa
~2Hz
Pulsa 8Hz
time out
Gambar 1. Struktur pembangkit pulsa untuk sistem dadu elektronik 76
ll~·IP/1:.'MEN1A..W .\'/STEM IJADU ELEKTRONIK I>ENGAN
MEN(i(il/NAKAN VHDI. Saetudi Nugrnho
sampai Petnb-llgi pulsa diperlukan untuk menghasilkan sub frekuensi dari sistem clock utama. Sub frekuensi ini akan digunakan sebagai frekuensi untuk sinyal tone dan freJ.mensi untuk pulsa. Gambar 2 berikut ini menunjukkanpemhagi puMa
11
x
111.
Kemudian Gambar 3 menunjukkan
contoh Finite State A1achines (FSM) untuk 2 bit pembagi pulsa. Sedangkan Gambar 4 menunjukkan hasil simulasi untuk 2 bit pembagi ptilsa dengan menggunakan VHDL.
q
1
carry
I I
I
·----------------------------------------1 Gambar 2. Pembagi pulsa n x m dadu elektronik reset=O enablecc::o() next- mode ""' state-- 0 enable= I next mode = state
enable=! next mode = state 0
enable=O next- mode
o.=
state_,.
Gam bar 3. Contoh FSM untuk 2 bit pembagi pulsa dadu elektronik
77
Tcclm~
Jurnalllmiah Elcktroteknika Vol. 10 No.2 Oktober 201 l Hal 75- 82
-
Gambar 4. Hasil simulasi 2 bit
. V'-'lUV·U!">•
Sebuah 4 bit pembagi pulsa dirancang dengan menggunakan dua buah 2 bit pembagi pulsa
mer
dengan susunan seperti pada Gambar 2 yaitu pembagi pulsa 2 x 2. Sebuah 8 bit pembagi pulsa
unn
dirancang dengan susunan pembagi pulsa 4 x 2 yang terdiri dari sebuah 2 bit pembagi pulsa dan
keo
4 bit pembagi pulsa.
Ma: COli
3. GENERA TOR DADU ELEKTRONIK Generator dadu terdiri dari counter, dekoder, dan Numericallv Controlled Osci/ator (NCO).
pen kel1
Dekoder harus menghasi lkan keluaran untuk menampilkan jumlah titik yang merepresentasikan
bit
angka dadu ke LED. Gambar 5 berikut ini adalah struktur LED A, B, C, D, E, F dan G. Tabel I
pro
adalah tabel kebenaran untuk dekoder dadu.
Ga
me Gambar 5. Struk.'tur LED dadu elektronik
78
me
IMPLEMENTA.\1 SISTEM f)ADU ELEKTRONIK f)ENGAN MENGGUNAKAN VHJ)L Sapradi Nugroho
Tabel1. Tabel kebenaran dekoder dadu elektronik A
B
c
D
E F G
1
0
0
0
0
0
0
1
2
0
0
1
1
0
0
0
3
0
0
1
1
0
0
I
4
1
0
1
1
0
1
0
5
1
0
1
1
0
1
1
6
1
1
1
1
1
1
0
Counter memiliki mode up down yang diatur dari masukan counter. Counter akan
menghasilkan keluaran yang memiliki resolusi 6 bit. Keluaran dari counter tersebut digunakan untuk mengontrol NCO. NCO digunakan untuk mengontrol akselerasi dan perlambatan dari kecepatan penggelindingan dadu elektronik. NCO terdiri dari penjumlah dan register 8 bit. Masukan NCO adalah keluaran dari cotmter yang memiliki resolusi 6 bit. Keluaran 6 bit dari counter dan keluaran dari register 8 bit digunakan sebagai masukan penjumlah. Keluaran dari
penjumlah digunakan sebagai masukan untuk register 8 bit sedangkan carry yang merupakan keluaran dari penjumlah dipakai sebagai keluaran dari NCO. Jika hasil penjumlahan bilangan 6 bit dengan bilangan 8 bit k'Urang dari bilangan 8 bit maka ,·any = 1. Berikut ini adalah penggalan program VHDL untuk penjumlah dalam NCO.
hasil_penjumlahan
= "00" & unsigned (bilangan_6_bit) +unsigned (bilangan_8_bit);
IF (ha.s'i/JJeJ?fumlahan · unsigned (bi/angan_ 8_bit)) THEN carry
= '1 '; ELSE cany
= '0 '; END IF;
Gambar 6 berikut ini adalah hasil simulasi generator dadu elektronik yang dibuat dengan menggunakan VHDL. Pada saat push_button
=
0, bunyi tick akan dimulai. Pada saat q
=
0,
melodi dimulai. 79
T\:..:hn..: Jurnalllmtab l.·.kkttot<..:knil-..:1 Vol IO
No.~
Oktob..:r 20 II Hal 75- X2
---------------------------------------------------------------------------
Sua
Benl
1
0
Gamhar 6 Hasil Simulasi Generator DaJu
4. P.EJVIBANGKIT St ARA OADtr ELEI\.TRONIK Di dalam perancangan pembangkit suara. tiga sinyal
folic
dengan
hekm~nsi
fl-"6-t.OOHz
C•c53JJHz dan 0 "-+OUOHz vang digunakan untuk menghasilkan melodi. Tabel 2 merupabn tabel kebenaran
UHtuk
untuk ;:mgka dadu :::
pembangkit suara Ciamhar 7 menunjukkan nmtoh FSf'vt suara mt:'lodi
.;:, Kemudian Gambar 8 menunjukkan hasi! si.mulasi untuk pembangkit
suara dengan meng::nnakan VffDL Tah;q) akhir penllH.iWgan d;Hiu dektrnnik adalah mt'!lguji sistem dalam perangkat keras mdalui enmlasi perangl, at k..:·ras
mengup
perancan,:~nn
Perangkat keras .\C2C 12~ Cool Runner- II CPLD dipakai untuk
dadu dektronik
Hasil perancangan sistem dadu elel\.tronik dengan
nH?nggunak:H1 VliDL herl1astl diimp!ementas1k;w dengan menggunakan :\(2( · 12X ( 'ou!Runnt'l··
II CPLI)
IMPLEMENTAS/ SISTEM DADU ELEKTRONIK DENGAN MENGGUNAKAN VHI>L S'aptadi Nugroho
Tabel2. Tabel kebenaran untuk pembangkit suara Suara
Suara
Dadu
Dadu
Dadu
Dadu
Dadu
Dadu
Berdetik
Melodi
Angka
Anglot
Angka
Angka
Angka
Angka
Satu
Dua
Tiga
EmtJat
Lima
Enam
1
2
3
4
5
6
7
f1
-
f2
- - fl - - - - - - - - - - - - - - - - - - - -
f2
f3
f1
l
0
X
X
X
X
X
X
fl
fl
0
l
l
0
0
0
0
0
f3
f2
0
l
0
l
0
0
0
0
fl
f2
0
l
0
0
l
0
0
0
fl
f2
0
1
0
0
0
1
0
0
f1
f2
0
1
0
0
0
0
1
0
fl
0
l
0
0
0
0
0
1
fl
f2
D
fl
pulse8=1 startO=l next_mode=st2
start_melody= 1 push_button=O
pulse8=1 startO=l ue~1_mode=end _all
startO = 0
Gambar 7. Contoh FSM untuk suara melodi untuk angka dadu 2 - 5
81
Techne Jumal Ilmiah Elektroteknika Vol. 10 No.2 Oktober 2011 Hal 75- 82
Gambar 8. Hasil Simulasi Pembangkit Suara
5. UCAPAN TERIMAKASIH Penulis mengucapkan terimakasih kepada Prof Dr. Dirk Jansen (Offeburg University of Applied Science, Jerman) dan Nidal Fawaz yang telah membimbing penulis dalam merancang sistem dadu elektronik serta memberikan perangkat keras XC2C 128 CoolRunner-II CPLD untuk menguji perangkat lunak basil perancangan dengan menggunakan VHDL.
DAFTAR PUSTAKA [1] Jansen, D., Fawaz N., Design ofDigital System in VHDL, ASIC Design Center University of Applied Science Offenburg, Version 3. 0, 2008. [2] Jansen, D., et all., The Electronic Design Automation Handbook, Kluwer Academic Publisher, Boston, 2003. [3] Glauert W. H., Very High Speed Integrated Circuit Hardware Description Language, http: I/www. vhdl-online. de/ . [4] Chu P. P., FPGA Prototyping by VHDL Examples Xilinx Spartann1-3 Version, A John Wiley & Sons Inc. Publication, 2008. [5] Xilinx XC2C 128 CoolRmmer-II CPLD Product Specification, http://www.xilinx.com/support/documentation/data_sheets/ds093.pdf, 2007.