• Tidak ada hasil yang ditemukan

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL: STOPWATCH DIGITAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL: STOPWATCH DIGITAL"

Copied!
6
0
0

Teks penuh

(1)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 1

MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL:

STOPWATCH DIGITAL

Muhammad Wildan Gifari (13211061) Ferry Hermawan (13211062)

Asisten: Nirmala Twinta Tanggal Percobaan: 5/12/2012

EL2195-Sistem Digital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB

Abstrak

FPGA adalah suatu board versatile yang bisa digunakan

untuk beragam keperluan. Input dan output yang bisa

di-connect dengan berbagai macam device memungkinkan

beragam kegunaan. Pada percobaan kali ini, kami akan

menggunakan board FPGA untuk mengimplementasikan

suatu stopwatch digital menggunakan kode VHDL. Input

yang digunakan adalah toggle switch, dan output

memanfaatkan device layar LCD.

Kata kunci: stopwatch digital

1. P

ENDAHULUAN

Pada percobaan kali ini kami mencoba membuat suatu stopwatch digital untuk diimplementasikan di FPGA. Secar garis besar tujuan percobaan ini yaitu:

1) Dapat menspesifikasikan suatu sistem digital

2) Bisa mendesain suatu rangkaian digital 3) Mampu membuat jalur data dan kendali

untuk suatu sistem digital

4) Mampu membuat hierarki dan integrasi suatu sistem digital

5) Bisa melakukan testing dan debugging pada desain rangkaian digital

6) Mampu mengimplementasikan desain pada beragam devais

7) Menganalisa sistem yang telah dibangun

2. S

TUDI

P

USTAKA

Secara singkat akan dijelaskan tentang stopwatch digital.

2.1

S

TOPWATCH

D

IGITAL

Stopwatch adalah suatu alat untuk mengukur elapsed time dari saat tombol start ditekan sampai tombol pause ditekan. Stopwatch biasanya

digunakan pada perlombaan, untuk mengukur waktu, dan berbagai keperluan lainnya.

Suatu stopwatch digital bisa juga dilihat dari sudut pandang suatu rangkaian digital. Apabila dimodelkan dengan Finite State Machine(FSM) tipe Moore, maka stopwatch bisa dianggap terdiri dari tiga state. Yang pertama adalah initial, outputnya berupa angka 00:00. Yang kedua adalah state counting, yaitu ketika tombol start ditekan. Outputnya berupa angka perhitungan yang bertambah setiap detiknya. Yang ketiga adalah state pause, yaitu ketika tombol stop ditekan, outputnya adalah angka terakhir yang terhitung.

3. M

ETODOLOGI

Komponen dan alat yang digunakan pada praktikum kali ini adalah:

- Komputer yang telah terinstall program Quartus II dan Modelsim

- Altera development board DE1-70 beserta kelengkapannya termasuk modul VGA - Layar LCD

Sedangkan metodologi untuk percobaan kali ini akan dijelaskan pada bagan berikut:

3.1

M

ERANCANG

S

ISTEM

T

ERINTEGRASI

Gambar 3-1 Diagram percobaan 1 Membuat keseluruhan skema rangkaian Membagi modul program Membuat jalur data dan kendali Membagi pekerjaan dalam kelompok

(2)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 2

3.2

M

EMBUAT

B

LOK

P

ROGRAM

Gambar 3-2 Diagram percobaan 2

3.3

M

EMBUAT

H

IERARKI SISTEM

Gambar 3-3 Diagram percobaan 3

3.4

I

MPLEMENTASI

P

ADA

D

EVAIS

Gambar 3-3 Diagram percobaan 3

4. H

ASIL DAN

A

NALISIS

4.1

M

ERANCANG

S

ISTEM

T

ERINTEGRASI Di awal percobaan, hal yang harus dilakukan adalah melihat gambaran besar (grand design) dari sistem yang akan kita bangun. Kita spesifikasi dulu apa saja yang kita mau dari sistem kita berikut batasan-batasannya. Kemudian kita menstrategikan bagaimana kita akan merealisasikan desain tersebut.

Spesifikasi dari stopwatch yang akan kami bangun yaitu memiliki dua tombol yaitu start/reset dan stop. Proses yang dilakukan harus mampu menghitung waktu satu detik. Outputnya berupa seven segment, namun seven segment ini terdapat di layar LCD.

Berarti sistem yang kami bangun harus memiliki blok: 1) stopwatch, 2) clock, 3) decoder integer to seven segment, 4) penampil seven segment di LCD. Jalur datanya yaitu: clock membuat suatu clock senilai satu detik di stopwatch. Stopwatch menerima input dari user berupa toggle switch. Output dari stopwatch berupa integer. Integer masuk ke decoder untuk dihasilkan sinyal segment mana saja yang menyala, penampil mengaktifkan sinyal tersebut di layar LCD.

Kemudian dilakukan pembagian kerja dalam kelompok kami. Modul stopwatch, clock, dan decoder dikerjakan oleh Muhammad Wildan Gifari. Sedangkan modul penampil dikerjakan oleh Ferry Hermawan. Untuk integrasi sistem dikerjakan oleh M Wildan Gifari. Tahap implementasi dilakukan oleh Ferry Hermawan.

4.2

M

EMBUAT

B

LOK

P

ROGRAM

Blok program yang akan dibuat ada 4, yaitu: 1) clockdiv ( clock), 2) stopwatch, 3) angka to seven (decoder), dan 4) display(penampil).

4.2.1 C

LOCKDIV

Clockdiv menerima input dari clock FPGA( frekuensi 50 MHz). Sedangkan outputnya adalah clock pada stopwatch ( periode 1 sekon). Proses di dalam adalah pembagian clocknya. Simulasi sukses hasilnya sesuai dengan yang diharapkan. Kode VHDL dilampirkan pada laporan. Berikut bloknya:

Menspesifikasi blok program Membuat state diagram, I/O, signal Membuat kode VHDL Compile dan SImulasi Testing dan debugging Membuat lapisan-lapisan hierarki Mengassign portmap yang sesuai Compile dan simulasi Testing dan debugging Mengassign pin yang sesuai Download program ke FPGA Amati hasil pada devais Analisis 4 5 C 1 Clockdiv Clock Divout

(3)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 3 Gambar 4-1 Blok Clockdiv

4.2.2 S

TOPWATCH

Stopwatch adalah blok program yang mengandung Finite State Machine. Inputnya adalah dua buah toggle switch. Yang satu berupa start/reset dan yang satunya adalah tombol stop. Stopwatch juga mempunyai input clock. Outputnya berupa suatu integer. Kode VHDL terlampir di attachment.

Berikut FSMnya:

Gambar 4-2 FSM untuk stopwatch Berikut blok diagramnya:

Gambar 4-3 Blok Stopwatch

4.2.3 A

NGKA

_

TO

_S

EVEN

Seven segment membutuhkan tujuh buah sinyal untuk memerintah segment mana saja yang menyala. Maka angka berupa integer harus di-decode menjadi sinyal tujuh bit. Dalam kasus stopwatch ini, batasannya yaitu hanya bisa menghitung sampai detik 99. Berarti dibutuhkan dua seven segment. Angka yang berupa integer dipecah dulu secara aritmatik menjadi satuan dan puluhan. Kemudian angka satuan dan puluhan inilah yang di-decode menjadi input tujuh bit. Kode VHDL terlampir di attachment.

Berikut alur pikirnya:

Gambar 4-4 Alur pikir blok angka_to_seven Berikut Blok diagramnya:

Gambar 4-5 Blok Angka_to_seven

4.2.4 S

EVEN

_

DISPLAY

Output dari angka_to_seven berupa sinyal 7 bit. Apabila dihubungkan dengan 7 segment maka akan langsung bisa diamati segment mana saja yang menyala. Namun spesifikasi desain membutuhkan tampilan ke layar LCD. Maka kita harus membuat suatu blok program untuk mengolah tampilan tersebut menjadi warna di blok-blok pada layar LCD. Blok seven_display inilah yang mengimplementasikan tampilan layar pada LCD tersebut. Kode VHDL terlampir di attachment.

Berikut blok diagramnya:

Gambar 4-6 Blok Display

4.3

M

EMBUAT

H

IERARKI SISTEM

Blok-blok program tadi harus dibuat suatu hierarki agar dapat berinteraksi satu sama lain. Hierarki dibuat dengan menggabungkan beberapa modul, menghubungkan pin-pinnya, dan bisa juga dengan menggabungkan modul yang sudah digabung dengan modul lain. Pada desain kami , kami memanfaatkan framework yang sudah tersedia di labdas yaitu set display DE1.

0 1 3 8 P 1 Stopwatch Start/Reset

Stop Angka : integer

Clockin 0 Satuan Puluhan D 1 Angka_to_Hex Angka : integer

Hexkiri: sinyal 7 bit

Hexkanan:sinyal 7 bit 0 Satuan Puluhan 7 E 1 Display

Hex kiri di layar

Hexkiri: sinyal 7 bit

(4)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 4 Dalam hierarki desain kami, ada 3 lapisan.

Lapisan pertama kami menggabungkan modul clockdiv, stopwatch, dan angka_to_seven menjadi satu modul yang bernama stopwatch_to_hex. Kemudian di sebagai modul seven_display kami memanfaatkan modul color_rom_vhd dengan menambahkan input sinyal segment 7-bit. Di lapisan paling atas yaitu display_vhd barulah digabungkan stopwatch_to_hex, seven_display, dan modul VGA.

Apabila dibuat skemanya:

Gambar 4-7 Blok desain stopwatch_to_hex

Gambar 4-8 Hierarki puncak desain rangkaian stopwatch digital

Pada saat penggabungan, perlu ditambah port yang sesuai pada modul tertentu untuk menyesuaikan port dari modul lain yang berhubungan. Contohnya pada jalur data: modul stopwatch_to_hex mengeluarkan output hex 7 bit, maka modul seven_display harus ditambah port input hex 7 bit untuk “menampung” output tersebut. Pada kasus output berupa buffer, untuk dimasukkan ke input modul lain, harus ada sinyal perantara, karena port input tidak mau menerima harga yang berubah-ubah. Contohnya pada stopwatch_to_hex: output dari clockdiv ditampung dulu di suatu sinyal sebelum dimasukkan ke clockin dari modul stopwatch. Kemudian port-port lain juga dihubungkan

melalui command portmap. Lengkapnya portmap dapat dilihat di lampiran kode VHDL pada attachment.

Compile dan simulasi untuk modul-modul gabungan belum dilakukan pada saat percobaan.

4.4

I

MPLEMENTASI

P

ADA

D

EVAIS

Modul clockdiv menggunakan modul yang tersedia dari labdasar yang sudah digunakan di percobaan modul sebelumnya. Clockdiv berfungsi dengan baik membagi clock FPGA menjadi satu sekon.

Simulasi modul stopwatch pada Modelsim memberikan hasil sesuai dengan yang diharapkan. Transis state maupun output sesuai dengan spesifikasi desain. Berikut hasil simulasinya:

Gambar 4-9 Hasil simulasi modul stopwatch di Modelsim Hasil simulasi modul decoder angka_to_seven sudah memberikan hasil yang memuaskan. Modul aritmatik untuk men-generate satuan dan puluhan, juga modul decoder dalam angka_to_seven berhasil mengeluarkan output 7-bit yang sesuai. Berikut hasil simulasinya dengan modelsim:

Gambar 4-9 Hasil simulasi modul angka_to_seven Implementasi modul display pada layar sudah memberikan hasil yang diharapkan, berikut adalah contoh hasilnya :

Angka Gambar pada seven segmen

0 0 1 3 8 P1 Stopwatch Start/Reset 4 5 C1 Clockdiv Clock Divout

Stop Angka : integer

Clockin Satuan Puluhan 7 D1 Angka_to_seven

Hexkiri: sinyal 7 bit

Hexkanan:sinyal 7 bit

Angka : integer

Top1

(5)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 5 1 2 3 4 5 6 7 8 9 Double digit

Setelah keseluruhan modul digabungkan menjadi satu, dan dicoba untuk decompile, memberikan hasil yang benar (tidak terdapat error). Tetapi, saat didownload ke dalam FPGA dan program dijalankan, terdapat kesalahan yaitu hasil yang keluar tidak sesuai dengan yang diharapkan. Sebenarnya proses counting sudah bisa berjalan di background, tetapi tidak bisa ditampilkan di layar. Saat program dijalankan, tamilan di layar hanya terdapat dua seven segment berwarna abu saja, berarti tidak ada yang aktif dari tiap segment seven segment tersebut. Tetapi saat tombol stop diaktifkan, tampilan layar menunjukan digit sebelah kanan menghasilkan sebuah angka, tetapi digit sebelah kiri tetap berwarna abu. Saat dicoba kembali dengan menghitung waktu dari tombol start dijalankan sampai tombol stop ditekan menunjukkan angka yang ditampilkan di layar adalah waktu antara start dimulai sampai stop ditekan, namun hanya digit kanan saja yang ditampilkan. Ini menunjukkan bahwa proses counter kami sudah berjalan dengan benar, hanya saja ada masalah pada bagian display. Kami sudah mencoba untuk menanyakan hal ini kepada asisten, namun setelah dilakukan berbagai modifikasi tetap saja menunjukkan hasil yang sama. Kami juga mencoba menggunakan clock yang lebih kecil. Hasilnya menunjukkan bahwa tampilan pada digit sebelah kanan ada proses pewarnaan (warnanya tidak abu -abu lagi, tetapi merah muda). Tetapi saat tombol start ditekan,

(6)

Laporan Praktikum - Laboratorium Dasar Teknik Elektro – STEI ITB 6 layar kembali menunjukkan angka 00 (sama

seperti saat tombol start tidak aktif). Saat clock dikembalikan ke nilai semula (50 MHz) tampilan masih saja tetap sama, tetapi untuk proses counting tetap tidak ditampilkan di layar.

5. K

ESIMPULAN

Kelompok kami mencoba mendesain suatu stopwatch digital yang hasil perhitungannya ditampilkan pada seven segment di layar. Cara pembuatannya adalah seperti pada bagian 4 di atas, dimulai dari 1) merancang sistem terintegrasi, 2) membuat blok program yang terdiri dari clockdiv, stopwatch, angka_to_seven, dan seven_display, 3) membuat hierarki system, dan 4) implementasi pada device. Untuk keterangan lebih jelasnya dapat dilihat langsung pada subbab yang terdapat pada bab 4 tersebut..

Berdasarkan percobaan ini, didapatkan hasil yaitu :

-Grand design sistem sudah berhasil dibuat -Dari hasil simulasi, modul stopwatch dan decoder sudah berfungsi dengan baik

-Modul seven_display berhasil diimplementasikan di layar LCD

-Implementasi pada device sudah bisa dilakukan, hanya saja masih terdapat kesalahan pada bagian display

-Fungsi counter sudah berjalan dengan baik

Berdasarkan hasil yang didapat tersebut, program yang kami buat belum memenuhi target yang diinginkan. Sebenarnya fungsi dari program yang kami buat sudah berjalan dengan baik, namun pada bagian display saja yang masih terdapat kesalahan.

D

AFTAR

P

USTAKA

[1]

Hutabarat,dkk. Praktikum Sistem Digital. Lab

Dasar Teknik Elektro ITB.2012

[2]

Stephen Brown and Zvonko Vranesic,

Fundamentals of Digital Logic with VHDL Design

3rd Edition, McGraw-Hill, San Francisco, 2009

[3]

Dongpu Jin and Sean Hicks, Stopwatch(ELEC

307 project 2), University of Nebraska-Lincoln,

Gambar

Gambar 3-1 Diagram percobaan 1 Membuat keseluruhan skema rangkaian  Membagi modul program Membuat jalur data dan kendali Membagi pekerjaan dalam kelompok
Gambar 3-2 Diagram percobaan 2
Gambar 4-2 FSM untuk stopwatch  Berikut  blok diagramnya:
Gambar 4-7 Blok desain stopwatch_to_hex

Referensi

Dokumen terkait