ping pong games

Download Ping Pong Games

Post on 03-Jul-2015

337 views

Category:

Documents

6 download

Embed Size (px)

DESCRIPTION

My project of designing a asynchronous circuit on Altera Quartus II.

TRANSCRIPT

LAPORAN PROJECTEL 3011 Perancangan Rangkaian SekuensialPing-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

ABSTRAKProject 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 PENDAHULUAN1.1. PendahuluanPada 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 MasalahTugas 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 masingmasing pemain. Pada sirkuit ping-pong akan terdapat input dan output pin sebagai berikut : y CLOCK Onboard 25 MHz Oscillator. y RESET Master synchronous reset input. yLPB3 LPB0 Left paddle push button input y RPB3 RPB0 Right paddle push button input. y 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. y A_7segment_A - A_7segment_G Keluaran untuk menghasilkan score pemain kiri pada tampilan 7-segmen.

yB_7segment_A - B_7segment_G Keluaran untuk menghasilkan score pemain kanan pada tampilan 7-segmen.

1.4. Metodologi PerancanganPerancangan 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 RANGKAIAN2.1. Perancangan SistemPermainan 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-pongPresent State A B C D E F G H I J K Next State (LPB, RPB, MAX_A, MIN_A, HIT) 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 A A A A A A A A G G G C C C C D D D D C C C B B B B B B B B B B B E G E G E G E G E G E F F F F F F F F F F F F F F F F F F F G G G H H I I H H I I H H I G G G G G G G G G G G 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 K K K K K

Present State A B C D E F G H I J K

Next State (LPB, RPB, MAX_A, MIN_A, HIT) 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 G G G G G B B B B B B C D D D D C C C C D D B B B B B B B B B B B G E G E G E G E G E G F F F F F F F F F F F G G G G G F F F F F F I H H I I H H I I H H G G G G G G G G G G G B J B J B J B J B J B 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) Present State 10110 10111 11000 11001 11010 11011 11100 11101 11110 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 B = Y2 C = Y1 D = Y0

E = LPB F = RPB G = MAX_A 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 = r s t ; Output Z = y 0 ;

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 SistemPada 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 A7A0 hingga D7-D0 yang mewakili keluaran LED seperti pada gambar berikut.

Gambar 2.2-1. Output 8x4 LED Karena banyaknya output yang ada, sep

Recommended

View more >