You are on page 1of 28

LAPORAN PROJECT

EL 3011 Perancangan Rangkaian Sekuensial

Ping-Pong Games on 8 x 4 LED

Dibuat untuk memenuhi tugas mata kuliah


EL 3011 Perancangan Rangkaian Sekuensial

Disusun oleh :
Nicholas Melky (NIM 13206010)
Rangga Guntur Wibawa (NIM 13206204)

PROGRAM STUDI TEKNIK ELEKTRO


SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
2010
ABSTRAK
Project yang dirancang adalah permainan ping-pong sederhana yaitu memukul bola yang
dipresentasikan dengan lampu LED dan pemukul/ paddle yang direpresentasikan dengan
push button. Implementasi perancangan dilakukan pada program Altera Quartus II Versi
6.0. Perancangan dimulai dengan metransformasi permainan menjadi FSM (Finite State
Machine) yang kemudian diimplentasikan menjadi rangkaian pada program. Dengan
simulasi pada program, dapat dilihat reponse dan hasil output rangkaian sudah sesuai
dengan aturan permainan yaitu pemain dapat memukul bola dan mendapatkan nilai apabila
pemain lawan miss dalam memukul bola.

Kata kunci: Ping-Pong, FSM, LED, Project, Paddle, Response, Miss.


BAB I
PENDAHULUAN

1.1.Pendahuluan
Pada mata kuliah Perancangan Rangkaian Sekuensial mahasiswa telah mempelajari
sejumlah materi mengenai rangkaian sekuensial baik berupa sychronous maupun
asynchronous. Synchronous Sequential Circuit adalah rangkaian yang perubahan statenya
diatur oleh adanya perubahan pada clock yaitu pada raising clock edge atau falling clock
edge. Sedangkan Asynchronous Sequqntial Circuit adalah rangkaian yang perubahan statenya
terjadi pada ketika adanya perubahan input rangkaian itu sendiri. Implementasi penggunaan
rangkaian sekuensial banyak terdapat pada sirkuit elektrik yang sederhana dan tidak
menggunakan prosesor. Implementasi dapat berupa bermacam-macam bentuk. Untuk itu,
project ini akan membahas salah satu bentuk implentasi sirkuit sequential sederhana, yaitu
permainan Ping-pong pada 32 buah LED dengan lebar 8 dan panjang 4 buah LED.

1.2.Deskripsi Masalah
Tugas project ini adalah merancang dan membangun sebuah sirkuit sekuensial
menggunakan state machine, shift register, dan counter. Sirkuit ini akan berfungsi sebagai
permainan ping-pong sederhana. Bentuk permainan, 8 x 4 led akan mewakili bola ping-pong
bergerak dan empat pushbutton pada masing-masing sisi akan digunakan sebagai paddle
(pemukul). Sebuah led menyala atau “bola” akan bergerak dari kiri ke kanan dan "memantul"
kembali dari kanan ke kiri jika pemain kanan menekan tombol pemukul – tidak terlalu cepat
dan tidak terlalu terlambat. Demikian juga, pemain kiri menggunakan tombol pemukul untuk
memukul bola ketika bola berada di paling kiri posisi.

1.3.Requirement perancangan

Score atau hasil pertandingan akan ditampilkan pada sebuah 7-segmen pada masing-
masing pemain. Pada sirkuit ping-pong akan terdapat input dan output pin sebagai berikut :
CLOCK  Onboard 25 MHz Oscillator.
RESET  Master synchronous reset input.
LPB3 – LPB0  Left paddle push button input
RPB3 – RPB0  Right paddle push button input.
A7-A0, B7-B0, C7-C0, and D7-D0  Keluaran 4 x 8 LED yang merepresentasikan
bola ping-pong. A7,B7,C7, dan D7 adalah
LED bagian paling kiri, dan A0,B0,C0, and
D0 adalah bagian paling kanan.
A_7segment_A - A_7segment_G  Keluaran untuk menghasilkan score pemain kiri pada
tampilan 7-segmen.
B_7segment_A - B_7segment_G  Keluaran untuk menghasilkan score pemain kanan
pada tampilan 7-segmen.

1.4.Metodologi Perancangan
Perancangan dilakukan pada program Altera Quartus II 6.0sp1 Web Edition Full.
Program ini dapat merancang dan mensimulasikan rangkaian digital dengan berbagai jenis
gate baik primitive gate seperti AND, OR, XOR, NOT, dan sebagainya sampai simbol-simbol
IC seperti seri 74LS. Dengan merancang pada Altera Quartu II 6.0sp1 ini, kita dapat melihat
bagaimana respons dari rangkaian yang dipasang pada program tersebut. Reponse rangkaian
dapat dilihat pada Simulasi Timing dan Fungsional.
Perancangan dimulai dengan mengubah aturan permainan menjadi Finite State
Machine (FSM). Kemudian dari FSM tersebut dilakukan optimasi dengan berbagai metoda
optimasi pada rangkaian sekuensial, diantaranya adalah dengan implication chart, state
assignment, dan sebagainya. Dari hasil optimasi tersebut diimplentasikan menjadi rangkaian
sirkuit dengan cover minimal. Pada akhirnya, dapat dilihat hasil response yang diinginkan.
BAB II
PERANCANGAN RANGKAIAN

2.1.Perancangan Sistem
Permainan ping-pong dirancang dengan mengubah aturan permainan menjadi Finite
State Machine (FSM). FSM hasil rancangan permainan ping-pong adalah sebagai berikut :

Gambar 2.1-1. FSM yang merepresentasikan permainan ping-pong

Pertama permainan dimulai pada START yang menuju STATE WAIT. STATE
WAIT adalah state dimana permainan menunggu untuk dimulai. Permainan dapat dimulai
dari pemain kiri atau pemain kanan. Ketika salah satu pemain memulai permainan dengan
demikian sebuah tombol (push button) telah ditekan. Apabila LPB (Left Push Button) ditekan
maka permainan dimulai dari pemain kiri dan permainan akan masuk ke state START FROM
LEFT. Di sini LED akan dilihat apabila berada pada paling kiri atau belum berada pada
paling kanan (MAX_A=0) maka nyala LED akan berpindah ke kanan atau di-counting satu
per satu setiap berada pada STATE COUNTING. Setelah nyala LED berpindah ke kanan
oleh STATE COUNTING, maka akan kembali ke STATE START FROM LEFT dan dicek
apakah nyala LED sudah berada pada posisi paling kanan. Hal ini karena pada posisi paling
kanan adalah saat dimana pemain kiri harus memukul bola agar tidak kalah. Oleh sebab itu
pada state HIT? akan dilakukan pengecekan apakah bola terpukul atau tidak dan apabila
berpindah ke state MISS akan pemain kiri akan mendapat penambahan nilai score. Permainan
baru akan dimulai dengan pemukul kanan menekan push button dan permainan akan dimulai
dari kanan. Apabila tidak berpindah ke state MISS atau bola HIT, maka permainan akan
dimulai dari kanan dan dicounting ke kiri kembali.

Dari FSM diatas dapat dihasilkan State Table FSM Ping-pong


Next State (LPB, RPB, MAX_A, MIN_A, HIT)
Present
0000 0000 0001 0001 0010 0010 0011 0011 0100 0100 0101
State
0 1 0 1 0 1 0 1 0 1 0
A A A A A A A A A G G G
B C C C C D D D D C C C
C B B B B B B B B B B B
D E G E G E G E G E G E
E F F F F F F F F F F F
F F F F F F F F F G G G
G H H I I H H I I H H I
H G G G G G G G G G G G
I J B J B J B J B J B J
J K K K K K K K K K K K
K K K K K K K K K K K K

Next State (LPB, RPB, MAX_A, MIN_A, HIT)


Present
0101 0110 0110 0111 0111 1000 1000 1001 1001 1010 1010
State
1 0 1 0 1 0 1 0 1 0 1
A G G G G G B B B B B B
B C D D D D C C C C D D
C B B B B B B B B B B B
D G E G E G E G E G E G
E F F F F F F F F F F F
F G G G G G F F F F F F
G I H H I I H H I I H H
H G G G G G G G G G G G
I B J B J B J B J B J B
J K K K K K K K K K K K
K K K K K K B B B B B B
Next State (LPB, RPB, MAX_A, MIN_A, HIT)
Presen
1011 1100 1100 1101 1110 1111
t State
0 10111 0 1 11010 1 0 11101 0 11111
A B B A A A A A A A A
B D D C C C C D D D D
C B B B B B B B B B B
D E G E G E G E G E G
E F F F F F F F F F F
F F F G G G G G G G G
G I I H H I I H H I I
H G G G G G G G G G G
I J B J B J B J B J B
J K K K K K K K K K K
K B B B B B B B B B B

Setelah diperoleh State Table FSM Ping-pong dapat dilakukan assignment dengan
jumlah Flip-flop terdiri dari 4. Jumlah Flip-flop diperoleh dari 16 kemungkinan state
assignment. 16 kemungkinan ini diperoleh dari jumlah minimum yang dapat di isi dengan 11
state yang ada pada permainan Ping-pong. Kemudian kita akan mencari fungsi dari eksitasi
Y3Y2Y1Y0 yang mengisi keempat flip-flop yang ada. Karena kerumitan akibat banyaknya
state yang ada, seperti jumlah state ada 11 dan input ada 5 maka untuk mempermudah
optimasi dilakukan pengoptimalan dengan menggunakan sebuah program, yaitu Logic
Friday. Logic Friday adalah freeware untuk pelajar, hobbyists, dan engineer yang bekerja
pada sirkuit logika digital yang menggunakan paket IC standard. Dengan Logic Friday dapat
dilakukan pemasukan fungsi logika seperti truth table, persamaan, atau diagram gate.
Pemasukan fungsi dapat sampai 16 input dan 16 output. Juga, dengan Logic Friday dapat
juga dilakukan minimisasi fungsi.
Gambar 2.1-2. Penggunaan Program Logic Friday

Dari program Logic Friday tersebut dapat diperoleh fungsi eksitasi keempat Flip-flop pada
rancangan FSM ping-pong. Keempat fungsi eksitasi tersebut adalah :

Y3 = F I + A' F H + E' F H' + D G H I';


Y2 = D' G + G H' + H I + A' B F' H' I';
Y1 = A' F H + D' G H + G H I + G' H' I + A' B F' G' H' + E H I + B H' I;
Y0 = B' G H' + F H' I' + G H' I' + F' G' H I' + C F' G' H' I + D' F' H I' + A G' H I' + A B' H' I';

Dengan : A = Y3 E = LPB
B = Y2 F = RPB
C = Y1 G = MAX_A
D = Y0 G = MAX_A
I = HIT

Dengan demikian telah diperoleh sebuah FSM Controller untuk menghasilkan permainan
game ping-pong. Tahap selanjutnya adalah merancang bagaimana reset bekerja.
Gambar 2.1-3. FSM yang merepresentasikan guna tombol reset pada permainan

Dari gambar FSM diatas dapat dihasilkan eksitasi sebuah Flip-Flop, dimana hanya terdapat
dua buah state sehingga hanya dibutuhkan 1 flip-flop. Eksitasi flip-flop tombol reset ini
adalah :

Gambar 2.1-4. K-map dari eksitasi Y0 dan output Z pada FSM reset.

Y0 = reset’;
Output Z = y0’;

Hasil eksitasi dari reset nanti akan mempengaruhi perpindahan state pada FSM ping-pong
sebelumnya. Oleh karena itu, pada implementasinya hasil eksitasi reset akan di AND dengan
hasil eksitasi FSM ping-pong agar apabila reset ditekan maka hasil eksitasi FSM ping-pong
akan kembali ke state asal (STATE WAIT) dengan nilai eksitasi Y3Y2Y1Y0 = 0000.

2.2.Perancangan Output Sistem


Pada tahap ini perancangan akan dilihat dari segi output pada LED yang berfungsi sebagai
bola pada permainan ping-pong. Dengan melihat keluaran pin masing-masing output dari A7-
A0 hingga D7-D0 yang mewakili keluaran LED seperti pada gambar berikut.

Gambar 2.2-1. Output 8x4 LED


Karena banyaknya output yang ada, seperti pada gambar terdapat 8 x 4 = 32 buah pin output.
Maka untuk menyederhanakan pin tersebut dilakukan pemisahan sumbu horizontal dan
vertikal. Sehingga, apabila LED tersebut menyala maka sumbu nilai sumbu horizontalnya
bernilai ‘1’ dan sumbu vertikalnya juga bernilai ‘1’, seperti pada gambar berikut.

Gambar 2.2-2. LED menyala oleh kedua sumbu

Setelah itu untuk menyederhanakan lagi, pada setiap posisi pada kedua sumbu dilakukan
assignment nilai. Nilai assignment tersebut bernilai minimal agar kita hanya menggunakan
dua buah digit untuk sumbu vertikal dan tiga buah digit untuk sumbu horizontal.

Gambar 4-3. Assignment nilai pada kedua sumbu

Dari assignment nilai tersebut dapat dimasukkan ke decoder agar menghasilkan output satu
buah nyala saja baik pada sumbu horizontal maupun vertikal.

Gambar 2.2-4. Pemberian label input untuk masukan ke decoder

2.3.Perancangan HIT (Hit Checker)


Perancangan selanjutnya adalah merancang bagaimana menghasilkan nilai HIT seperti pada
FSM ping-pong. Nilai HIT akan dicek pada saat berada di state “HIT?” apabila bernilai 1
maka perpindahan akan ke state “START FROM RIGHT” pada FSM ping-pong.
Perancangan HIT atau Hit Checker adalah komponen yang mengeluarkan nilai ‘1’ pada saat
tombol ditekan sesuai dengan posisi bola. Apabila bola berada pada posisi paling kanan,
maka nilai HIT akan keluar sesuai dengan penekanan tombol, contohnya seperti pada
gambar.

Gambar 2.3-1. Pelacak pukulan yang menghasilkan HIT = ‘1’

Dari gambar dapat disimpulkan bahwa rangkaian Hit Checker adalah rangkaian
Kombinasional yang menginput posisi bola dan penekanan Push Button.

2.4.Perancangan Push Button sebagai paddle / pemukul


Push button (PB) yang diinginkan akan menghasilkan pukulan diagonal ke kiri, diagonal ke
kanan, atau lurus secara RANDOM. Rangkaian random di implentasikan dengan berubahnya
secara terus-menerus pilihan diagonal kiri, kanan, atau lurus dan dapat terpilih pilihannya
apabila push button ditekan (bernilai ‘1’).

Gambar 2.4-1. Push button yang akan menghasilkan arah bola bergerak

Push button juga akan menghasilkan sebuah sinyal ‘1’ diakhir penekanan yang panjangnya
sebuah clock menandakan push button ditekan. Push button tidak bisa ditahan ditekan terus
menerus karena hanya akan menghasilkan output diakhir penekanan.

2.5.Perancangan Penghitung nilai score (count_score)


Penghitung nilai score adalah rangkaian yang menghitung atau menambahkan nilai setiap kali
pemain memenangkan sebuah ronde permainan. Penghitung score menerima input count
untuk meningkatkan nilai yang ada sebanyak satu nilai dan memberi keluaran output ke 7-
segmen sesuai dengan kaki-kakinya seperti pada gambar.
Gambar 2.5-1. Output pin kaki 7-segment

Dari penjelasan sebelumnya dapat disimpulkan bahwa rangkaian ini akan menggunakan
counter agar penghitungan score dapat dilakukan. Penambahan nilai setiap kali pemain
memenangkan sebuah ronde permainan akan dihitung oleh counter. Dari counter tersebut
akan dioutput sebuah nilai biner ke 7-segment akan tetapi perlu ditambah sebuah decoder ke
7-segment.
BAB III
IMPLENTASI SISTEM

3.1.Perancangan FSM Ping-pong


Implementasi dilakukan pada Altera Quartus II 6.0. Perancangan dari FSM Ping-pong yang
menggunakan 4 buah flip-flop diimplementasikan pada program ini. FSM mempunyai input
dan output seperti pada gambar symbol rangkaian sebagai berikut.

Gambar 3.1-1. Symbol Rangkaian FSM Ping-Pong

Output rangkaian terdiri dari B0, B1, A0, A1, A2, MAX_A, MIN_A, N_EN_B, N_EN_A,
UP_SCORE_A, UP_SCORE_B, LEFT_ON, RIGHT_ON, dan reset_led. Penjelasan dari
output tersebut adalah :
 B0 dan B1 adalah output LED sumbu vertikal yang akan diinput ke dalam decoder
untuk dikeluarkan pada 8 x 4 LED yang merepresentasikan nyala bola.
 A0, A1, dan A2 adalah output LED sumbu horizontal yang akan diinput ke dalam
decoder untuk dikeluarkan pada 8 x 4 LED yang merepresentasikan nyala bola.
 MAX_A adalah output dimana apabila nilai A0, A1, dan A2 sudah maksimal yaitu
bernilai ‘111’, maka MAX_A bernilai ‘1’. Hal ini menunjukkan juga bahwa bola
berada pada posisi paling kanan dan siap dipukul oleh pemain kanan.
 MIN_A adalah output bernilai ‘1’ apabila nilai A0, A1, dan A2 minimal yaitu bernilai
‘000’. Hal ini juga menunjukan bahwa bla berada pada posisi paling kiri dan siap
dipukul oleh pemain kiri.
 N_EN_B adalah Enable nyala sumbu vertikal yang bersifat Low-Active. Hal ini
diperlukan karena pada permainan baru dimulai (STATE WAIT), maka lampu LED
tidak ada yang menyala satupun.
 N_EN_A adalah Enable nyala sumbu horizontal yang bersifat Low-Active. Hal ini
diperlukan karena pada permainan baru dimulai (STATE WAIT), maka lampu LED
tidak ada yang menyala satupun.
 UP_SCORE_A adalah output untuk meningkatkan nilai score pada pemain A.
Dengan memberikan rising edge output pada UP_SCORE_A maka score pemain A
akan bertambah 1 poin secara bit.
 UP_SCORE_B adalah output untuk meningkatkan nilai score pada pemain B. Dengan
memberikan rising edge output pada UP_SCORE_B maka score pemain B akan
bertambah 1 poin secara bit.
 LEFT_ON adalah menandakan bahwa ketika bola bergerak diagonal dan telah
mencapai posisi paling bawah, maka LEFT_ON akan bernilai ‘1’ yang memandakan
bahwa bola berpindah dari diagonal kanan ke diagonal kiri.
 RIGHT_ON adalah menandakan bahwa ketika bola bergerak diagonal dan telah
mencapai posisi paling atas, maka RIGHT_ON akan bernilai ‘1’ yang menandakan
 reset_led adalah output yang akan mereset nilai pada score kedua pemain. Reset_led
akan bernilai ‘1’ apabila tombol RESET ditekan atau salah satu pemain telah
mencapai nilai maksimum (nilai maksimum pemain adalah 9 pada 7-segement).

Input rangkaian terdiri dari LPB3, LPB2, LPB1, LPB0, RPB1, RPB2, RPB3, LAST_ON_L,
LAST_ON_R, HIT, score_max_A, score_max_B, RESET, dan CLK. Penjelasan dari input
tersebut adalah :
 LPB3, LPB2, LPB1, dan LPB0 adalah input push button dengan posisi LPB3 berada
pada posisi paling atas dan LPB0 berada paling bawah.
 RPB3, RPB2, RPB1, dan RPB0 adalah input push button dengan posisi RPB3 berada
pada posisi paling atas dan RPB0 berada paling bawah.
 LAST_ON_L adalah input yang menunjukan bahwa bola bergerak diagonal ke kanan.
 LAST_ON_R adalah input yang menunjukan bahwa bola bergerak diagonal ke kiri.
 HIT adalah input yang menunjukan bahwa bola terpukul.
 Score_max_A adalah input yang menunjukan bahwa score pemain A telah mencapai
maksimum (bernilai digit 9).
 Score_max_B adalah input yang menunjukan bahwa score pemain B telah mencapai
maksimum (bernilai digit 9).
 RESET adalah input yang mereset permainan ping-pong.
 CLK adalah input clock dari rangkaian synchronous.
Dengan demikian hasil rangkaian FSM Ping-Pong beserta Outputnya adalah sebagai berikut.

Gambar 3.1-2. Sirkuit Rangkaian FSM Ping-Pong

Gambar diatas menunjukkan bahwa terdapat 4 buah Flip-Flop untuk FSM Ping-Pong da
terdapat sebuah Flip-Flop untuk FSM reset. Dari output reset akan di AND dengan eksitasi
FSM Ping-Pong. Output FSM Ping-Pong juga cukup banyak seperti pada gambar diatas.
Setelah rangkaian dibentuk, maka rangkaian FSM Ping-Pong akan disimulasi seperti pada
gambar berikut.

Gambar 3.1-3. Contoh Response Rangkaian


Pada contoh response rangkaian ini, permainan di mulai dengan input LPB1 pada clock
waktu kedua. Pada saat itu output rangkaian akan counting terus menerus sampai
MAX_A=’1’. Atau untuk lebih jelasnya dapat dilihat pada gambar berikut.

3.2.Perancangan Output Sistem

Setelah diperoleh nilai kedua sumbu yaitu sumbu vertikal (B0 dan B1) dan sumbu horizontal
(A2, A1, dan A0), maka akan di output pada led dengan sebuah decoder dan gate AND antara
kedua sumbu. Gambar symbol rangkaiannya adalah sebagai berikut.

Gambar 3.2-1. Contoh Response Rangkaian


Isi decoder adalah sebagai berikut.

Gambar 3.2-2. Sirkuit Decoder LED dan Response Rangkaiannya

Dari gambar dapat disimpulkan bahwa decoder bekerja dengan mengoutput dari 3 digit pada
sumbu horizontal menjadi 7 digit dengan contoh : A2A1A0 = ‘101’ dihasilkan output
76543210 = ‘00000100’, atau A2A1A0 = ‘011’ dihasilkan output 76543210 = ‘00010000’.
Begitu pula pada sumbu vertikal, decoder bekerja mengoutput dari 2 digit menjadi 4 digit,
dengan contoh : B1B0 = ‘10’ dihasilkan output ABCD = ‘0100’. Dan terakhir pada,
N_EN_A=’1’ dapat dilihat bahwa enable bekerja low active dan semua output menghasilkan
‘0’ atau ground.
Isi gate AND yang menghubungkan sumbu horizontal dan vertikal adalah sebagai berikut.

Gambar 3.2-3. Sirkuit gate AND yang menghubungkan sumbu vertikal dan horizontal

Barulah setelah sumbu vertikal dan horizontal di AND akan menghasilkan ke-32 output yang
merepresentasikan bola pada permainan Ping-Pong.

Gambar 3.2-4. Response sirkuit gate AND

Dari gambar dapat dilihat bahwa output bekerja sesuai dengan Gambar 2.2-2 sebelumnya,
yaitu LED menyala oleh kedua sumbu. Contoh reponse menunjukan bahwa pada saat A=’1’
dan 4=’1’ maka A4 = ‘1’.

3.3.Perancangan HIT (Hit Checker)


Perancangan selanjutnya adalah mengecek apakah HIT dengan rangkaian ini. Dari penjelasan
sebelumnya dapat diketahui bahwa rangkaian ini adalah kombinasional. Gambar symbol
rangkaiannya adalah sebagai berikut.
Gambar 3.3-1. Symbol Rangkaian Hit Checker

Dari gambar dapat dilihat input rangkaian adalah tombol push button dan posisi bola. Dari
input tersebut diinginkan output seperti tabel berikut.

B B MIN MAX LPB LPB LPB LPB RPB RP RPB RP HI


1 0 _A _A 3 2 1 0 3 B2 1 B0 T
0 0 1 0 1 x x x x x x x 1
0 1 1 0 x 1 x x x x x x 1
1 0 1 0 x x 1 x x x x x 1
1 1 1 0 x x x 1 x x x x 1
0 0 0 1 x x x x 1 x x x 1
0 1 0 1 x x x x x 1 x x 1
1 0 0 1 x x x x x x 1 x 1
1 1 0 1 x x x x x x x 1 1
Maka dihasilkan sirkuit rangkaian sebagai berikut.

Gambar 3.3-2. Sirkuit Rangkaian Hit Checker

Gambar 3.3-3. Reponse Rangkaian Hit Checker

Dapat dilihat bahwa response rangkaian akan mengecek posisi bola dan penekanan tombol,
seperti pada gambar bahwa posisi bola pada B1B0 = ‘01’ dan MIN_A = ‘1’ yaitu bola berada
pada posisi paling kiri dan berada pada kedua dari atas, dan dihasilkan HIT = ‘1’. Begitu pula
pada saat bole berada pada paling kanan yaitu MAX_A = ‘1’ dan posisi bola di ketiga dari
atas, pada saat RPB = ‘1’ ditekan (bernilai ‘1’) dapat dilihat HIT = ‘1’.

3.4.Perancangan Push Button sebagai paddle / pemukul


Push button dirancang untuk menghasilkan output ‘1’ tanpa bisa ditahan berlama-lama. Dan
juga, pemilihan diagonal ke kiri, ke kanan, ataupun lurus dipilih secara random. Implentasi
rangkaian adalah sebagai berikut.

Gambar 3.4-1. Symbol Rangkaian Push Button

Gambar 3.4-2. Sirkuit Rangkaian Push Button

Sirkuit terdapat output LAST_ON_L dan LAST_ON_R yang berfungsi menunjukan output
bergerak diagonal ke kiri atau ke kanan. Pada gambar terdapat symbol randomizer yang
isinya adalah sebagai berikut.
Gambar 3.4-3. Sirkuit Rangkaian Randomizer

Gambar 3.4-4. Sirkuit Rangkaian Randomizer

Rangkaian randomizer adalah rangkaian yang menyimpan pemilihan diagonal ke kiri, ke


kanan, dan lurus dengan secara berganti-ganti tiap clock. Namun, pada saat push button
ditekan, maka pemilihan tidak akan berganti agar tidak terjadi kesalahan.

Pada gambar juga terdapat sequencer. Fungsi sequencer adalah agar tombol tidak dapat
ditekan secara terus menerus. Dan akan menghasilkan output ‘1’ selama ‘1’ clock pada saat
nilai seq = ‘1’. FSM dari rangkaian ini adalah sebagai berikut.

Gambar 3.4-4. FSM Sequencer


Gambar 3.4-5. Rangkaian Sequencer

Gambar 3.4-6. Response Rangkaian Sequencer

Dapat dilhat bahwa output hanya akan keluar selama 1 clock apabila nilai seq= ‘1’ dengan
panjang berapapun.

3.5.Perancangan Penghitung nilai score (count_score)


Rangkaian penghitung score dirancang dengan menggunakan Counter dan BCD to 7-
Segment seperti pada gambar berikut.

Gambar 3.5-1. Rangkaian Penghitung Score


Gambar 3.5-2. Response Rangkaian Penghitung Score

Terlihat bahwa counter menghitung nilai score dan bertambah setiap kali nilai COUNT_UP =
‘1’. Output dari response rangkaian diatas dapat dilihat pada gambar berikut.

Gambar 3.5-3. Output 7-segment


3.6.Integrasi Sistem
Penggabungan semua komponen rangkaian Ping-Pong dapat dilihat sebagai berikut.

Gambar 3.6-1. Integrasi Seluruh Komponen Rangkaian Ping-Pong.


Gambar 3.6-2. Response Rangkaian Ping-Pong.

Dari gambar dapat dilihat bahwa bola dimulai dari pemain kiri dan dipukul oleh LPB1 dan
bola bergerak ke diagonal ke kiri dan memantul-mantul sampai ke posisi paling kanan.
Apabila pemain B tidak memukul maka pemain A mendapatkan nilai seperti pada gambar
tersebut yang menunjukan A_7segment bernilai digit 1 (0110000). Untuk lebih jelas melihat
perpindahan bola, dapat diperhatikan gambar berikut.

Gambar 3.6-3. Output Rangkaian Ping-Pong.


BAB IV
KESIMPULAN DAN SARAN

4.1.Kesimpulan
Rangkaian Ping-pong dapat didesain pada program Altera Quartus II versi 6.0 dengan
perancangan berbagai komponen. Komponen tersebut adalah FSM controller, Push Button,
Hit Checker, Decoder, dan Count Score. Masing-masing komponen mempunyai response
yang sesuai dengan fungsi komponen. Dengan simulasi yang ada dapat disimpulkan bahwa
Permainan Ping-Pong dapat berjalan sesuai dengan aturan permainan, seperti pemain dapat
memukul bola dan apabila miss memukul maka pemain lawan akan mendapatkan poin.

4.2.Saran
Karena keterbatasan alat, sehingga perancangan rangkaian permainan Ping-pong hanya
sebatas simulasi saja. Program Altera Quartu II versi 6.0 tidak hanya dapat mensimulasikan
sebuah sirkuit namun dapat juga menjalankannya pada FPGA. Apabila terdapat FPGA
dengan output 32 buah, rangkaian permainan Ping-pong ini dapat saja langsung diujicobakan.

You might also like