2006_sdq_aep

11

Click here to load reader

Upload: api-3808344

Post on 13-Jun-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 2006_sdq_aep

1

PROTOTIPE KUNCI DIGITAL BERBASIS FPGA MENGGUNAKAN VHDL DAN VERILOG

Siddiq Wahyu Hidayat1 dan Agfianto Eko Putra2

ABSTRAK

Dewasa ini sistem keamanan rumah menjadi hal yang penting untuk diperhatikan. Saat ini kunci konvensional yang masih dipakai secara luas dinilai kurang praktis dan aman. Berdasarkan hal ini telah dirancang sebuah kunci digital. Dengan kunci digital ini, masing-masing pengguna tidak perlu membawa kunci satusatu, cukup mengingat nomor PIN saja. Kunci digital ini juga lebih mudah diganti PIN-nya sewaktu-waktu.

Kunci digital dirancang berbasis FPGA. Rancangan dibuat dalam modulmodul dengan deskripsi VHDL dan Verilog, kemudian digabungkan secara skematik dengan perangkat lunak MAX+PlusII. Rancangan telah berjalan dengan baik pada piranti Altera FLEX-10K.

Kunci digital yang berhasil dibuat cukup aman karena dapat diset hingga satu juta kombinasi angka masukan. Rancangan yang dibuat hanya menggunakan sumber daya blok logika pada FPGA, sedangkan blok embeded-nya tidak digunakan. Rancangan dengan VHDL membutuhkan 243 sel logika sedangkan rancangan dengan Verilog membutuhkan 270 sel logika.

Kata Kunci Kunci Digital, FPGA, VHDL, Verilog

ABSTRACT

Nowadays, home security system has became one of major attention.Meanwhile, the using of convention key, which still widely used is considered as impractical an insecure. Based on this background, digital key has been design. With the digital key, it is expected that each users doesn't need to bring each single key anymore. Each user only need to bring a personal identification number, which also easily changed and customized.

The whole system was implemented using VHDL and Verilog. The system was broken down to a number of modules, each to carry out certain task. In the end, the modules was integrated using a schematic of MAX+plusII software. It was implemented in FPGA device, Altera FLEX-10K family device.

The digital key is secure because it can be set up to one million combinations. The design only need Logic Array Block, it doesn't needs any Embedded Array Block. VHDL design needs 243 Logic Elements and Verilog design needs 270 Logic Elements. Keywords Digital Key, FPGA, VHDL, Verilog

1 Prodi Elektronika Instrumentasi, FMIPA, Universitas Gadjah Mada, Yogyakarta (email : [email protected])

2 Staff Program Studi Elektronika dan Instrumentasi, FMIPA Universitas Gadjah Mada, Yogyakarta (website: http://agfi.staff.ugm.ac.id dan email : [email protected])

Page 2: 2006_sdq_aep

2

PROTOTIPE KUNCI DIGITAL BERBASIS FPGA MENGGUNAKAN VHDL DAN VERILOG

Siddiq Wahyu Hidayat3 dan Agfianto Eko Putra4

1. PENDAHULUAN Sampai saat ini secara umum pintu atau brankas dilindungi oleh oleh kunci konvensional.

Agar pintu ini bisa dibuka oleh lebih dari satu orang, maka masing-masing orang harus membawa

kunci. Hal ini menjadi tidak praktis lagi, karena keamanan kunci menjadi kurang terjamin lagi.

Semakin besar kemungkinan kunci dapat digandakan karena banyaknya orang yang memegang

kunci. Terlebih lagi, apabila kunci ini ingin diubah secara berkala untuk mengantisipasi pada

orang-orang yang sudah tidak berhak, akan membutuhkan biaya yang cukup besar, selain juga

waktu yang juga cukup lama. Dengan demikian kunci konvensional menjadi tidak praktis lagi.

2. FIELD PROGRAMMABLE GATE ARRAY (FPGA) Sebuah Field Programable Gate Array (FPGA) merupakan PLD yang dapat mendukung

implementasi rangkaian logika yang lebih besar. FPGA ini dapat mengimplementasikan sampai

beberapa ribu gerbang ekuivalen. FPGA memiliki perbedaan yang mendasar dibandingkan SPLD

dan CPLD karena tidak adanya AND-plane dan OR-plane. Sebagai gantinya FPGA menyediakan

blok logika untuk mengimplementasikan fungsi yang dibutuhkan. Struktur umum FPGA

ditunjukkan di gambar 1.

FPGA ini memiliki 3 bagian sumber daya: blok logika, blok I/O, dan blok koneksi. Blok

logika dirangkai dalam larikan dua dimensi. Blok-blok koneksi maupun hubungan antar blok dapat

diprogram, sehingga FPGA dapat diprogram dengan banyak jalan.

3 Prodi Elektronika Instrumentasi, FMIPA, Universitas Gadjah Mada, Yogyakarta (email : [email protected])

4 Staff Program Studi Elektronika dan Instrumentasi, FMIPA Universitas Gadjah Mada, Yogyakarta (website: http://agfi.staff.ugm.ac.id dan email : [email protected])

Page 3: 2006_sdq_aep

3

Gambar 1. Struktur Umum FPGA

Masing-masing bok logika dalam FPGA memiliki ciri mempunyai beberapa masukan dan

keluaran dalam jumlah kecil, mengenai berapa jumlahnya ini berbeda-beda tergantung dari

pembuat produk FPGA. Secara umum yang digunakan sebagai blok logika adalah lookup table

(LUT), yang terdiri dari sel-sel penyimpanan untuk mengimplementasikan fungsi logika

sederhana. Masing-masing sel menyimpan sebuah nilai logika 0 atau 1.

2.1. FPGA ALTERA FLEX-10K Altera FLEX-10K merupakan bagian keluarga programable logic device (PLD) yang

mendukung System-on-a-Programmable-Chip (SOPC). Produk ini dapat mengimplementasikan

10.000 – 250.000 gerbang.

Masing-masing piranti FLEX-10K berisi embedded array dan logic array. Embedded array

berfungsi untuk mengimplementasikan berbagai macam fungsi memori dan fungsi logika

kompleks, seperti pemrosesan sinyal digital (DSP), mikrokontroler, manipulasi wide-data-path,

dan transformasi data. Sedangkan logic array melakukan fungsi yang sama dengan fungsi

gerbang pada umumnya: ini digunakan untuk mengimplementasikan logika umum, seperti

pencacah, penjumlah, mesin kondisi (state machine) dan multiplekser. Embedded array dapat

digunakan secara sendiri atau dikombinasikan dengan logic array. Diagram blok piranti FLEX

10K dapat dilihat pada Gambar 2.

Page 4: 2006_sdq_aep

4

Gambar 2. Diagram Blok FLEX 10K

3. HARDWARE DESRIPTION LANGUAGE (HDL) Hardware Description Language atau HDL adalah suatu bahasa yang digunakan untuk

mendeskripsikan sebuah sistem digital, sebagai contoh, suatu komputer atau komponen dari

suatu komputer. Ada dua HDL utama yang sering digunakan oleh perancang perangkat keras di

dunia industri dan pendidikan, yakni VHDL dan Verilog HDL (Perry, 2002).

3.1. VHSIC HARDWARE DESRIPTION LANGUAGE (VHDL) VHDL adalah Hardware Description Language untuk memodelkan rangkaian digital dari

hubungan gerbang sederhana sampai pada sistem yang kompleks. VHDL merupakan akronim

dari VHSIC Hardware Description Language, dan VHSIC sendiri merupakan akronim dari Very

High Speed Integrated Circuit. VHDL distandarisasi IEEE tahun 1987 (IEEE Std 1076) kemudian

di diperbarui tahun 1993 (IEEE Std 1076).

Rancangan VHDL terdiri atas unit rancangan primer dan unit rancangan sekunder.

Rancangan primer terdiri dari entitas dan paket. Unit rancangan sekunder terdiri atas atas

arsitektur dan badan paket. Unit rancangan sekunder selalu berhubungan dengan unit rancangan

primer. Unit rancangan umumnya memiliki satu atau lebih pustaka yang merupakan koleksi dari

unit rancangan primer dan sekunder. Untuk mengoleksi tipe data dan subprogram yang

digunakan secara umum dalam rancangan digunakan paket.

Page 5: 2006_sdq_aep

5

Dalam rancangan VHDL, dasar pembangun bloknya adalah entitas. Entitas-entitas ini

digabungkan oleh sebuah entitas tingkat tertinggi. Entitas mendeskripsikan antarmuka dari model

VHDL. Masing-masing entitas memiliki satu atau lebih arsitektur. Arsitektur mendeskripsikan

fungsi dari entitas dan pernyataan yang memodelkan watak dari entitas. Arsitektur dapat

dideskripsikan secara pewatakan atau secara struktural. Unit dasar eksekusi dalam arsitektur

dilakukan oleh suatu proses (Smith, 1996).

3.2. VERILOG HARDWARE DESRIPTION LANGUAGE (VERILOG HDL) Verilog diperkenalkan tahun 1985 oleh Gateway Design System Corporation yang

sekarang menjadi bagian dari Cadence Design Systems, Inc.'s Systems Division. Verilog menjadi

milik Cadence sampai saat pembentukan Open Verilog International (OVI) Mei 1990. Cadence

termotivasi untuk menjadikan Verilog menjadi Publik Domain dengan harapan pangsa pasar

Verilog – yang terkait produk perangkat lunak dapat meningkat pesat akibat penerimaan yang

lebih luas terhadap bahasa ini. Verilog distandarisasi IEEE tahun 1995 (IEEE Std 1364) dan

diperbarui tahun 2001.

Verilog HDL mengijinkan perancang perangkat keras untuk mendeskripsikan

rancangannya dalam abstraksi tingkat tinggi seperti tingkat arsitektur atau watak sebaik tingkat

implementasi yang lebih rendah (seperti tingkat gerbang dan saklar). Meskipun tingkat watak

dalam Verilog adalah deskripsi tingkat tinggi, Verilog harus ditulis dalam notasi tertentu.

Perangkat computer aided design, seperti halnya program, akan mengkompilasi program dalam

notasi Verilog ke tingkatan rangkaian yang terdiri dari gerbang logika dan flip-flop. Perangkat lain

dapat mengkompilasi program dalam notasi Verilog menjadi deskripsi integrated circuit (IC) pada

very large scale integration (VLSI). Verilog juga mengijinkan perancang untuk mengkhususkan

rancangan murni tingkat gerbang menggunakan konstrusi gerbang dan tingkat transistor

menggunakan konstruksi saklar (Smith, 1996).

3.3. VHDL VS. VERILOG HDL Sebagai sebuah bahasa, Verilog asli kuat di abstraksi tingkat struktural (saklar dan

gerbang) terutama kemampuan dalam memodelkan waktu tunda. Verilog sangat kuat dalam

abstraksi tingkat fungsional (persamaan Boolean dan RTL) dan juga mendukung konsruksi watak

(algoritmik). Sedangkan VHDL sangat kuat di abtraksi tingkat fungsional (persamaan boolean)

dan watak (algoritmik), dan ini juga mendukung sebagian konstruksi tingkat sistem. Meskipun

demikian VHDL sedikit lemah ketika berada di abstraksi tingkat struktural (saklar dan gerbang),

khususnya mengenai kemampuan memodelkan waktu tunda. Jelas terlihat bahwa VHDL memiliki

keakuratan waktu yang kurang. Oleh karena itu VITAL (VHDL Initiative toward ASIC Libraries)

diluncurkan oleh Design Automation Conference tahun 1992 untuk menutup kelemahan pada

Page 6: 2006_sdq_aep

6

VHDL ini (Smith, 1996). Perbandingan kemampuan Verilog versus VHDL ditunjukkan pada

Gambar 3, sedangkan tabel perbandingannya ditunjukkan pada Tabel 3.

Gambar 3. Verilog HDL vs. VHDL

Tabel 1. Perbandingan Verilog HDL dan VHDL

No. Verilog HDL VHDL

1 Mirip Bahasa C Mirip bahasa ADA

2 Relatif mudah dipelajari Relatif sulit dipelajari

3 Tipe data tetap, sederhana dan mudah digunakan, sudah ditentukan oleh Verilog Tipe data abstrak, dapat ditentukan sendiri

4 Pewaktuan tingkat gerbang bagus Pewaktuan tingkat gerbang kurang bagus

5 Penggunaan kembali rancangan terbatas Penggunaan kembali rancangan tak-terbatas (bagus)

6 Pengelolaan rancangan besar terbatas Sangat mendukung pengelolaan rancangan besar

7 Tanpa duplikasi strutktur Mendukung duplikasi struktur

8 Tidak ada konsep pustaka Pustaka tersimpan dalam kesatuan terkompilasi, arsitektur, paket dan konfigurasi

9 Tidak mendukung pemanggilan task secara paralel Mendukung pemanggilan task secara paralel

10 Rancangan didekomposisi atas modul-modul

Rancangan didekomposisi atas entitas-entitas yang dapat memiliki beberapa arsitektur

Page 7: 2006_sdq_aep

7

4. SISTEM KUNCI DIGITAL 4.1. BAGIAN PENGGUNA

Bagian luar sistem, sebagaimana ditunjukkan pada Gambar 4, yang ditujukan untuk

dipakai pengguna umum adalah keypad untuk memasukkan pin. Keypad ini berupa angka 1–9

serta karakter * dan # seperti pada keypad telepon standard. Tombol angka digunakan untuk

memasukkan pin satu demi satu. Karena tombol * dan # tidak memiliki nilai angka, maka dua

tombol ini dialih fungsikan. Tombol # sebagai tombol 'OK' yang berfungsi mengaktifkan rangkaian

tombol angka yang telah ditekan, sedangkan tombol * berfungsi sebagai tombol 'BATAL' yaitu

untuk menghapus semua angka dari nilai tombol-tombol angka yang telah ditekan.

Sebagai tampilan tambahan dipakai pula 6 digit 7-segment untuk menampilkan tombol-

tombol yang telah ditekan sehingga tidak terjadi kesalahan penekanan tombol. Namun apabila

diinginkan agar tombol yang ditekan tidak bisa dilihat orang lain yang tidak berhak, tampilan ini

dapat dikodekan menjadi tanda '-' semua. Ilsutrasi sistem tampilan pengguna ditunjukkan pada

gambar 2.

Apabila kunci digital digunakan untuk pintu, dan kunci digital hanya diperlukan untuk satu

sisi luar saja (saat akan masuk), maka di dalam pintu juga diperlukan adanya tombol tambahan,

yaitu tombol buka dan tutup pintu. Kalau tidak, buka dan tutup pintu dari dalam harus diseting

otomatis dengan sensor tertentu.

Gambar 4. Tampilan Pengguna

4.2. BAGIAN ADMINISTRATOR Selain adanya tombol-tombol yang digunakan untuk pengguna umum, juga perlu ada

tombol-tombol khusus untuk Administrator kunci digital. Karena bersifat rahasia, tombol ini tidak

boleh diakses oleh pengguna umum, peletakannya harus disendirikan dan diberi pengamanan

tambahan seperti gembok dan lain sebagainya. Digunakan tiga buah saklar geser untuk

digunakan administrator sebagaimana ditunjukkan pada Gambar 5.

Page 8: 2006_sdq_aep

8

Gambar 5. Tombol-tombol tambahan

4.3. BLOK DIAGRAM SISTEM KUNCI DIGITAL Gambaran umum perancangan sistem digambarkan dalam blok diagram sebagaimana

ditunjukkan pada gambar 6 (rangkaian lengkap ditunjukkan pada LAMPIRAN). Dari blok

perancangan ini dapat diketahui bahwa masukan sistem adalah dari keypad matriks (pengguna

umum) dan saklar geser (khusus administrator) sedangkan keluarannya adalah sistem

mekanisme pintu, brankas atau barang lain yang dikontrol oleh kunci digital.

Gambar 6. Blok Diagram Sistem Kunci Digital

Pada penggunaan mode normal masukan dari keypad akan disimpan register sementara

dan hasilnya ditampilkan ke 7-segmmet dengan melewati dekoder 7-segment terlebih dahulu.

Nilai register masukan juga akan dibandingkan dengan memori yang berisi nomor pin. Apabila

nilainya sama, akan mengaktifkan sistem mekanisme pintu jika ditekan tombol “OK”.

Pada penggunaan mode administrator untuk pengubahan pin, nilai register masukan tidak

dibandingkan dengan memori, akan tetapi akan dimasukkan ke memori setelah ditekan tombol

“OK” sehingga nilai memori berubah menjadi nilai baru seperti yang baru dimasukkan.

Page 9: 2006_sdq_aep

9

5. HASIL PERCOBAAN Dari hasil perancangan pada FPGA Altera FLEX-10K diperoleh hasil rangkaian

memerlukan 9 pin masukan dan 22 pin keluaran. Tidak ada EAB yang digunakan, karena

perancangan rangkaian sepenuhnya menggunakan flip-flop sel logika untuk menyimpan semua

memorinya dengan total membutuhkan 102 flip-flop. Penggunaan sumber daya FPGA

ditunjukkan pada tabel 2.

Hasil pengujian menunjukkan bahwa alat dapat bekerja dengan baik. Rangkaian kunci

digital dapat diset hingga 999.999 kombinasi pin. Administrator memiliki kewenangan untuk

melihat pin, mengganti pin, dan mengkodekan pin.

Alat ini memiliki kekurangan, yakni saat sumber tegangan mati, maka seluruh konfigurasi

rangkaian maupun pin sandi yang tersimpan akan hilang (Maxfield, 2002). Untuk mengatasi hal

ini diusulkan agar sumber daya yang digunakan berupa UPS atau baterai yang dapat diisi ulang,

sehingga sumber daya dapat terus dijaga. EEPROM dapat juga digunakan untuk menyimpan

konfigurasi pada FPGA.

Tabel 2 Penggunaan Logic Element dan Flip-Flop

VHDL Verilog No Modul LE/Flip-flop LE/Flip-flop

1 divclk 27/21 27/21

2 count 03/03 03/03

3 scankey 63/17 53/17

4 shiftn 27/27 28/27

5 memory 24/24 24/24

6 compare 24/00 24/00

7 mux_view 24/00 24/00

8 mux_bcd 31/00 28/00

9 demux 06/00 06/00

10 seg7 18/00 18/00

11 door_open 04/04 04/04

12 door_close 04/04 04/04

13 door 02/02 03/02

JUMLAH 257/102 246/102

RATA-RATA 19,8/7,8 18,9/7,8

Page 10: 2006_sdq_aep

10

VHDL Verilog

Rangkaian Lengkap 243/102 270/102

6. KESIMPULAN Dengan FPGA dapat dibuat rangkaian logika yang kompleks hanya dalam satu emping

saja. Kunci digital ini memiliki kombinasi masukan pada keypad matriks sebanyak satu juta

kombinasi dan pinnya dapat diganti-ganti hingga 999.999 kombinasi sehingga cukup aman.

Rancangan kunci digital pada FLEX-10K yang telah dibuat dengan deskripsi VHDL

membutuhkan 243 sel logika dan dengan deskripsi Verilog membutuhkan 270 sel logika.

Rancangan kunci digital dengan deskripsi VHDL dan Verilog yang telah dibuat tidak

membutuhkan EAB pada FLEX-10K.

Alat yang dibuat masih memiliki kekurangan, yakni konfigurasi rangkaian dan isi memori

PIN akan hilang saat tegangan mati, sehingga alat dapat dikembangkan dengan menambahkan

PROM untuk menyimpan konfigurasi dan isi memori PIN.

7. DAFTAR PUSTAKA Maxfield, C., 2002, “The Design Warrior’s Guide to FPGAs”, USA : Mentor Graphics Corporation

and Xilinx, Inc

Perry, D. L, 2002, “VHDL: Programming by Example (Fourth Edition)”, New York : McGraw-Hill.

Smith, D. J, 1996, “VHDL & Verilog Compared & Contrasted - Plus Modeled Example Written in

VHDL, Verilog and C”, Las Vegas : ACM, Inc.

Siddiq Wahyu Hidayat, memperoleh gelar S.Si dari Prodi Elektronika dan Instrumentasi, Fisika, FMIPA Universitas Gadjah Mada, Indonesia pada tahun 2006. Agfianto Eko Putra, memperoleh gelar Drs. dari Program Studi ELINS, FMIPA, Universitas Gadjah Mada – Yogyakarta pada tahun 1992 (dalam bidang pemrosesan sinyal dan citra digital) dan M.Si dari Program Studi Ilmu Fisika, Sekolah Pascasarjana, Universitas Gadjah Mada – Yogyakarta pada tahun 1998 (dalam bidang implementasi DSP menggunakan VHDL dan FPGA). Saat ini sebagai Staf Pengajar Program Studi ELINS, FMIPA, Universitas Gadjah Mada – Yogyakarta serta sebagai penulis buku mikrokontroler dan elektronika lainnya.

Page 11: 2006_sdq_aep

11

LAMPIRAN