Selasa, 11 Oktober 2011

all about FPGA

Sekilas Tentang FPGA

Field Programmable Gate Array (FPGA) merupakan sebuah IC digital yang sering digunakan untuk mengimplementasikan rangkaian digital. Bila dilihat dari segi namanya, Field Programmable dapat diartikan bahwa FPGA ini bersifat dapat dirancang sesuai dengan keinginan dan kebutuhan user/pemakai tanpa melalui tahap “burn” di laboratoruim atau di “hardwire” oleh pabrik piranti. Bayangkan, bila kita hendak memprogram chip yang isinya dapat kita tentukan sendiri dan tidak perlu susah payah memesan dari pabrik. Cukup mudah dan mengasyikan bukan??? Sedangkan Gate Array artinya bahwa FPGA ini terdiri atas gerbang-gerbang digital dimana interkoneksi masing-masing gerbang tersebut dapat dikonfigurasikan antara satu sama lainnya.
Salah satu FPGA buatan Altera
Salah satu FPGA buatan Altera
Salah satu FPGA buatan Xilinx
Salah satu FPGA buatan Xilinx
FPGA ini dikembangkan sejak tahun 1984 oleh perusahaan Xilinc yang berbasis di San Jose, CA. Perkembangan selanjutnya, FPGA ini mulai diproduksi oleh beberapa perusahaan misalnya, Altera, Lattice, dan Quicklogic. Diantara perusahaan-perusahaan tersebut, terdapat 2 perusahaan yang mendominasi produksi FPGA di seluruh dunia yaitu Xilinx dan Altera.
Perlu diingat bahwa FPGA merupakan sebuah IC digital yang bersifat programmable. User/pemakai dapat memakai IC digital ini secara berulang-ulang untuk menyesuaikan program apa yang akan didownload ke dalam FPGA ini. Program tersebut nantinya akan dibuat oleh user  menggunakan software yang ada untuk kemudian disimulasikan. Setelah simulasi berjalan lancar dan berhasil, program tersebut siap untuk didownload ke dalam FPGA, begitu mudah, efisien dan sederhana. Lalu bagaimana ketika program tersebut gagal untuk disimulasikan??? Mudah saja, user/pemakai hanya perlu menyusun ulang program dalam komputer sesuai yang dibutuhkan dan ketika siap, download lagi program tersebut ke FPGA, begitu untuk seterusnya.
Selain itu, perlu diingat juga bahwa FPGA ini bersifat volatile, yang artinya ketika sumber daya yang menyuplainya dicabut maka secara otomatis FPGA akan kehilangan fungsinya. Jadi FPGA ini tidak mampu menyimpan program ketika supply tenaganya dicabut. User/pemakai harus mendownload ulang program ke dalam FPGA lagi untuk mengimplementasikan program tersebut.



ISI FPGA

Seperti yang diketahui, Field Programmable Gate Array atau yang lebih dikenal dengan FPGA merupakan sebuah IC digital yang dapat diprogram sesuai dengan kehendak pemakainya. FPGA berkembang sejak sekitar tahun 1980-an. Awal mula dari adanya FPGA ini tidak lepas dari adanya alat elektronik, yaitu transistor. Transistor merupakan alat semikonduktor yang dipakai sebagai penguat, sebagai komponen pemutus dan penyambung(switching), dan stabilisasi tegangan. Pada umumnya, transistor ini berfungsi sebagai saklar arus listrik yang hendak masuk ke suatu rangkaian elektronik.
Perkembangan selanjutnya, adalah munculnya IC (Integrated Circuit) sekitar tahun 1950-an. Komponen elektronik ini lebih dikenal sebagai otak dari sebuah peralatan elektronika seperti televisi, handphone, computer, dsb. Kemudian berturut-turut muncul komponen lain, seperti DRAM, SRAM, microprocessor, ASIC hingga sampai pada FPGA.
fpga
Gambar FPGA
Bila dilihat dari segi bentuknya, FPGA tak berbeda jauh dengan bentuk IC-IC lainnya. Hanya saja, bila dilihat dari isinya FPGA memiliki bagian yang berbeda dengan komponen IC pada umumnya. Berikut isi dari FPGA pada umumnya:

1.  Configure Logic Blocks (CLB). Bisa dikatakan, bagian inilah yang akan memproses segala bentuk rangkaian logika yang dibuat oleh user/pemakai.
2.  I/O Blocks. Sebagai interface antara external pin dari device dan internal user logic
3.  Programmable Interconnect. Bagian ini berisi wire segments dan programmable switches, selain itu bagian ini juga akan menghubungkan antara CLB satu dengan CLB lainnya.
Sebagian besar FPGA memiliki arsitektur seperti di atas. Entah itu FPGA produksi Xilinx ataupun dari Altera. Bila berbeda pun tak akan sampai menimbulkan perbedaan yang terlalu signifikan.



Konfigurasi FPGA

Sebuah FPGA (Field Programmable Gate Array) dapat terbagi atas dua kondisi yaitu kondisi awal (configuration mode) dan kondisi pemakai (user mode). Ketika pertama kali FPGA dihidupkan, maka otomatis keadaan FPGA ini berada dalam kondisi awal. Hal ini disebabkan karena FPGA masih dalam keadaan awal, fresh dan belum terdapat suatu program apa pun di dalamnya. Untuk menggunakan FPGA tersebut maka perlu adanya proses download program oleh pemakainya (user). Proses mendownload program ke dalam FPGA bertujuan untuk mengirimkan berkas-berkas bilangan biner (0 dan 1) melalui beberapa pin khusus. Setelah proses download dilakukan dan FPGA kemudian telah siap digunakan, maka inilah yang sering disebut kondisi pemakai. Pada kondisi ini FPGA telah aktif dan program yang didownload ke dalamnya dapat digunakan. Inilah yang dinamakan konfigurasi atau pengaturan pada FPGA.
Bila pada kondisi pemakai, maka otomatis di dalam FPGA telah terdapat program. Program tersebut dibuat, diuji dan disimulasikan dahulu menggunakan PC (komputer). Setelah itu baru proses download program dilakukan. Pada umumnya terdapat 3 cara yang biasa digunakan untuk mendownload program ke dalam FPGA yaitu :
  1. Pemakai dapat mendownload langsung program ke dalam FPGA menggunakan kabel yang disambungkan ke PC. Program tersebut dibuat dan diolah menggunakan PC (komputer) dan ketika siap digunakan, baru didownload ke FPGA melalui kabel.
  2. Pemakai dapat menggunakan microkontroller pada board yang ada, dengan firmware yang cukup guna mengirimkan data ke dalam FPGA.
  3. Pemakai dapat menggunakan “boot-PROM” pada board yang ada, yang dihubungkan ke FPGA, dan mengatur FPGA tersebut supaya secara otomatis bekerja tanpa proses download dulu ke dalamnya (Perusahaan-perusahaan FPGA pada umumnya memiliki spesifikasi khusus untuk tambahan boot-PROMS).
download-ke-fpga
Proses download ke FPGA
Dari ketiga cara di atas, cara pertama adalah yang paling sering dan banyak digunakan. Selain itu, cara pertama cukup mudah dan efisien untuk dilakukan. Jadi, ketika pemakai telah mendownload program ke dalam FPGA maka tidak lagi diperlukan PC (komputer). FPGA akan bekerja sesua dengan program yang telah didownload ke dalamnya tanpa perlu lagi terhubung dengan PC (komputer).
Proses konfigurasi FPGA untuk buatan Xilinx maupun Altera hampir sama. Perbedaanya, hanya masalah pemberian nama pada pin-pin FPGA tersebut (nama pin dan jenis operasinya berbeda) . Namun, sebagian besar fungsi dan kegunaannya sama.


Bagaimana cara kerja FPGA??

FPGA (Field Programmable Gate Array) merupakan sebuah IC digital sering digunakan untuk implementasi rangkaian digital. IC digital ini pada umumnya terdiri atas 3 bagian yaitu configure logic blocks (CLB), I/O Blocks, dan Programmable Interconnect. Baik FPGA buatan Xilinx maupun Altera memiliki 3 bagian seperti yang disebutkan di atas.
isi-fpga-xilinx
Gambar Isi FPGA buatan Xilinx
Sebuah FPGA tersusun dari sebuah bagian yang bernama “logic-cell” (Logic Blocks), yang kemudian pada perkembangannya saling terhubung satu sama lain. Kumpulan-kumpulan dari logic cell ini berjumlah ratusan bahkan ribuan dan membentuk sauatu fungsi yang kompleks. Sebuah logic cell pada dasarnya terdiri atas sebuah lookup table(LUT), D flip-flop, dan sebuah multiplekser 2 ke 1.
logic-cell
Gambar Isi Logic Cell
1.  Look Up Table (LUT) merupakan sejenis RAM (Random Acces Memory) yang berkapasitas kecil. Di dalam FPGA, LUT ini memegang peranan penting dalam proses implementasi fungsi-fungsi logika. Selain itu, LUT ini berciri khas memiliki input sejumlah 4 buah.
2.  D Flip Flop. Seperti yang diketahui, flip-flop (Bistable Multivibrator) dalah suatu rangkaian sel biner yang memiliki dua buah output yang saling berkebalikan keadaannya (0 atau 1). Di dalam FPGA, terdapat sebuah jenis flip-flop yaitu D flip-flop atau Data flip flop. Rangkaian D flip-flop ini berfungsi sebagai rangkaian logika sekuensial dimana di dalamnya terdapat peralatan memori dan pewaktu.
3.  Multiplekser 2 ke 1. Sebuah multipleser adalah piranti digital yang bekerja sebagai switch (saklar) yang menghubungkan data dari n masukkan ke sebuah keluaran. Multiplekser berfungsi untuk memilih beberapa input untuk hanya menjadi 1 output saja. Di dalam FPGA, terdapat rangkaian multiplekser 2 ke 1 yang artinya, multiplekser tersebut memiliki 2 buah input dan 1 buah output.
Setiap logic cell tersebut dapat dihubungkan dengan logic cell lainnya melalui jalur/koneksi yang ada. Setiap cell hanya mampu bekerja secara sederhana dan ringkas, Namun bila antara satu cell saling terhubung satu sama lain sebuah fungsi-fungsi logika yang kompleks pun dapat terbentuk.
logic-cell-terhubung
Gambar Logic Cell yang Terhubung satu sama lain
Proses
Suatu ketika ingin mengimplementasikan rangkaian sederhana, misalnya rangkaian Full Adder ke dalam FPGA. Seperti yang diketahui, rangkaian full adder biasanya terdiri atas gerbang logika AND, gerbang logika OR dan gerbang logika XOR. Lalu bagaimana proses implementasinya ke dalam FPGA? Bahwa telah disebutkan bahwa setiap FPGA terdiri atas ratusan bahkan ribuan logic cell. Rangkaian Full Adder tadi akan didownload ke dalam FPGA untuk menempatkan masing-masing bagian dari Full Adder ke dalam logic cell. Kemudian antara satu logic cell yang satu dengan yang lain saling terhubung melalui jalur interkoneksi membentuk fungsi logika layaknya seperti rangkaian full adder.
logic-cell-terhubung2
Gambar Logic Cell yang Terhubung satu sama lain
Hal yang sama juga terjadi pada rangkaian-rangkaian rumit lainnya seperti rangkaian jam digital, scan key, dsb. Sebagai tambahan untuk tujuan jalur interkoneksi antar cell, FPGA memiliki jalur penghubung singkat diantara cell-cell yang saling berdekatan. Tipe jalur interkoneksi ini sering disebut “carry chains”. Carry chains berfungsi dalam pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien (minim penggunaan dan tingkat operasi yang tinggi).
logic-cell-terhubung3
Gambar Logic Cell yang Terhubung satu sama lain denga cary chains
Dengan demikian, dalam menggunakan cary chains apabila rangkaian yang hendak diimplementasikan ke dalam FPGA adalah rangkaian digital yang sederhana, maka logic cell yang digunakan pun akan minimun dan memiliki lokasi yang saling berdekatan satu sama lain. Hal yang sebaliknya pun berlaku. Sehingga penggunaan logic cell di dalam FPGA akan efektif dan efisien.


FPGA Pins

Pada umumnya, bentuk sebuah FPGA tergantung pada vendor pembuatnya. Masing-masing vendor memiliki ciri khas untuk setiap FPGA ciptaannya. Misalkan saja vendor Xilinx dengan produknya yang terkenal yaitu Spartan dan Virtex. Atau vendor Altera dengan FPGA buatannya yakni Cyclone dan Stratix. Masing-masing dari jenis FPGA tersebut memiliki ciri khas dan keistimewaan tersendiri. Hal tersebut juga nampak pada jumlah pin/kaki yang pada masing-masing FPGA tersebut.


Secara umum, pin FPGA terbagi atas 2 jenis yaitu : pin asli (dedicated pins) dan pin untuk pengguna (user pins). Dari kedua jenis pin. Tersebut, hampir sekitar 20% s/d 30% pin pada FPGA termasuk jenis pin asli (dedicated pins). Jenis dedicated pins ini mengandung arti bahwa pin ini memang sengaja diciptakan vendor pembuat FPGA dengan tujuan tertentu. Selain itu, jenis pin ini dapat dikategorikan menjadi beberapa golongan :
  • Power pins, Pin untuk daya atau pin untuk ground
  • Configuration pins, Pin yang digunakan untuk download FPGA
  • Clock pinsPin ini digunakan untuk menghasilkan sinyal detak (clock) yang nantinya akan mengendalikan keseluruhan proses yang terjadi dalam FPGA.


User Pins
Sebagian besar pin yang ada dalam FPGA adalah jenis user pins. Jenis pin ini diciptakan vendor dengan tujuan menciptakan keleluasaan atau kebebasan bagi para pengguna FPGA untuk menentukan sendiri mana pin yang hendak dipakai. Nama yang lazim atau sering digunakan untuk pin jenis ini adalah pin I/O, yang artinya pin output-input. Jenis pin ini nantinya bisa diatur oleh pengguna sesuai keingginan dan kepentingannya. Selain itu, jenis pin juga bisa dijadikan input dan output untuk rangkaian yang dibuat oleh pengguna FPGA tersebut. Nantinya, jenis pin ini akan terhubung dengan IO cell di dalam FPGA. Perlu diketahui, IO cell ini diberi daya tegangan oleh pin VCCIO (termasuk jenis power pins). Seperti yang telah dijelaskan, isi FPGA terdiri atas 3 bagian yaitu Configure Logic Blocks (CLB), I/O Blocks, dan Programmable Interconnect. Jenis User pins ini akan terhubung pada I/O Blocks.

IO Banks
Salah satu jenis dedicated pins pada FPGA adalah power pins. Pada umumnya, sebuah FPGA memiliki beberapa pin yang sering dinamakan VCCIO (termasuk jenis power pins) yang semuanya tersebut, terhubung ke sebuah sumber teganan yang sama. Namun, hal tersebut tidak berlaku untuk untuk FPGA generasi yang baru. FPGA jenis ini memiliki sebuah konsep yang dinamakan “user IO banks”. Dalam konsep “user IO banks” pengguna FPGA dapat membagi IO menjadi beberapa kelompok yang masing-masing kelompok memiliki tegangan VCCIO tersendiri. Hal ini menjadikan FPGA dapat berperan sebagai pengubah dan penyalur tegangan. Misalkan saja jika sebuah bagian pada FPGA membutuhkan tegangan 3,3V dan bagian yang lain membutuhkan 2,5V maka dengan konsep “user IO bank” ini, FPGA dapat melakukannya.

FPGA Power
Sebuah FPGA pada umumnya membutuhkan 2 tegangan untuk beroperasi yaitu : tegangan inti (core voltage) dan tegangan IO (IO voltage). Tiap tegangan ini masing-masing memiliki pin yang berbeda satu sama lain.
  • Tegangan inti internal (sering disebut internal core voltage atau VCCINT).
    Tegangan ini digunakan sebagai sumber daya pada gerbang-gerbang logika dan flip-flop di dalam FPGA. Besarnya tegangan antara 5V (untuk jenis FPGA lama) s/d 3,3V, 2,5V, 1,8V, 1,5V (untuk jenis FPGA baru). Bahkan tegangannya bisa semakin rendah untuk produk FPGA terbaru. Dengan kata lain, tegangan jenis ini berbeda-beda tergantung FPGA yang digunakan.
  • Tegangan IO (sering disebut IO voltage atau VCCIO)
    Tegangan ini digunakan sebagai sumber daya untuk blok-blok IO pada FPGA. Tegangan jenis ini haruslah cocok dan tepat dengan peralatan yang nantinya akan dihubungkan dengan FPGA. Misalkan FPGA akan dihubungkan dengan motor stepper. Dalam hal ini tegangan antara FPGA dengan motor stepper haruslah cocok dan tepat. Inilah yang sering disebut tegangan IO.

Sebenarnya, FPGA sendiri memperbolehkan tegangan yang sama untuk VCCINT dan VCCIO (misalkan, pin untuk VCCINT dan VCCIO dapat saling terhubung bersama). Namun, kemudian cenderung dipisahkan yaitu tegangan rendah untuk inti (core voltage) dan tegangan tinggi untuk IO (IO voltage).

Perlu diingat bahwa penamaan jenis tegangan untuk FPGA masing-masing vendor berbeda. Misalkan saja, tegangan internal sering dinamakan VCC untuk Xilinx dan VCCINT untuk Altera. Sedangkan tegangan IO sering dinamakan VCCO untuk Xilinx dan VCCIO untuk Altera.


Detak (clock) Pada FPGA

Sebuah detak (clock) FPGA biasanya dibuat secara serentak atau sinkron. Artinya bahwa tiap detak (clock) yang dihasilkan di dalam sebuah FPGA terjadi serentak akan mempengaruhi semua kondisi yang ada. Termasuk juga akan mempengaruhi D-flip flop yang merupakan salah satu bagian atau isi FPGA. Jika terjadi clock yang serentak maka akan membuat kondisi D-flip flop menjadi berubah ke kondisi yang lain.
skema-clock-fpga
Skema Clock FPGA
Dalam sebuah desain rangkaian yang detaknya terjadi secara serentak, maka sebuah detak saja akan mampu mengendalikan keseluruhan flip flop yang ada. Dan ini terjadi secara serentak pula. Namun hal ini akan mengakibatkan masalah pada waktu (timing) dan sinyal elektrik yang terjadi di dalam FPGA. Misalnya saja akan timbul waktu tunda (delay) atau terjadi glitch dalam rangkaian sinkron tersebut. Untuk menyelesaikan masalah ini, vendor pembuat FPGA menyediakan jalur internal khusus yang disebut “global routing” atau “global lines”. Tujuannya adalah untuk mendistribusikan sinyal-sinyal clock ke semua area FPGA dengan delay yang singkat dan glitch yang rendah sehingga sinyal clock akan terlihat sama dan serentak sampai pada semua flip flop yang ada.
Pada umumnya, sebuah pin untuk sebuah sinyal detak dalam FPGA merupakan jenis “dedicated input pin”. Artinya, pin untuk sinyal detak ini telah ditentukan oleh vendor pembuat FPGA. Biasanya untuk setiap FPGA hanya memiliki satu pin untuk sinyal detak. Sebuah sinyal detak ini yang nantinya akan mengendalikan semua proses detak yang terjadi di dalam FPGA. Untuk mengetahui pin mana dalam sebuah FPGA yang bertindak sebgai pin sinyal detak maka dapat dicek pada datasheet FPGA tersebut.
Domain Detak
Sebuah FPGA dapat menggunakan bermacam-macam detak. Caranya adalah dengan menggunakan bermacam-macam global lines dan dedicated input pins. Setiap bentuk detak yang terjadi di dalam FPGA disebut sebagai domain detak (clock domain). Untuk setiap flip flop di dalam FPGA, domain detak sangatlah mudah untuk ditentukan. Hal ini bisa dicermati dengan melihat input detak pada flip flop tersebut. Namun, bagaimana dengan jika ada logika kombinasional yang ada diantara flip flop? Seperti yang diketahui bahwa dalam logika kombinasional, sinyal detak yang masuk akan langsung dikeluarkan serta tidak terjadi penundaan. Berbeda dengan flip flop yang akan menunda luaran sinyal detaknya. Kedua hal yang sangat berbeda ini dapat diselesaikan dengan cara sebagai berikut :
· Jika ada beberapa logika kombinasional diantara flip flop yang memiliki domain detak sama maka logika kombinasional tersebut akan mengikuti domain clock yang sama juga.
· Jika ada beberapa kombinasional logika diantara flip flop yang memiliki clock domain berbeda, maka logika kombinasional tersebut tidak mengikuti domain detak manapun. Namun untuk ciri khas desain tiap FPGA yang ada maka hal ini tak pernah terjadi. Yang ada hanya jalur domain detak yang berbeda yang kemudian nanti akan disinkronkan.
Kecepatan Domain Detak
Setiap domain detak di dalam FPGA, software yang ada akan menganalisa semua jalur flip flop. Selain itu, software tersebut juga akan memberikan data tentang berapa frekuensi maksimum yang diperbolehkan. Biasanya software hanya akan menganalisa satu jalur dari setiap domain detak saja. Sedangka untuk sinkronisasi jalur biasanya tidak menjadi masalah dan tidak akan dianalisis.
Sebuah domain detak untuk sebuah FPGA besarnya mencapai 10 MHz, atau lebih besar yaitu 100 MHz. Sepanjang clock yang digunakan adalah global lines serta menggunakan kecepatan detak yang lebih rendah dari data yang ada, maka tidak perlu khawatir mengenai pewaktuan internal. Hal ini disebabkan karena telah terbukti akan efektif dan efisien nantinya.
Sinyal di antara Domain Detak
Jika sebuah data perlu dikirimkan melewati domain detak yang berbeda, pertimbangan khusus perlu diperhatikan. Secara sederhananya yaitu sebuah detak hanya akan cocok dan sinkron dengan domain detak yang sama. Jika detak dan domain detaknya berbeda maka hal ini sulit dilakukan dan bisa menyebabkan sistem pewaktuan kacau dan menyebabkan ketidakstabilan pada flip flop. Namun, ada tekhnik dan cara untuk mengatasinya misalnya menggunakan sinkronisasi atau dengan menggunakan FIFO.


Kristal dan Oscilator Pada FPGA

Pada umumnya, sebuah FPGA memerlukan sinyal detak (clock) yang stabil dan tidak berubah-ubah. Detak (clock) ini pada umumnya dihasilkan oleh kristal atau oleh oscillator. Kristal berisi sebuah resonator (sering disebut Quartz). Resonator ini bukanlah alat (device) elektronik dan biasanya tidak mampu melakukan osilasi sendiri. Sedangkan sebuah oscillator terdiri resonator dan amplifier. Kedua komponen tersebut diperlukan oscillator untuk mampu melakukan osilasi.

Sebuah kristal atau pun oscilator memiliki parameter tersendiri yakni frekuensi resonansi. Biasanya suatu FPGA memiliki ukuran frekuensi resonansi tersendiri yang telah ditetapkan oleh vendor pembuatnya. Jadi jika ingin membuat sebuah rangkaian elektronika dengan frekuensi resonansi tertentu maka otomatis akan menyesuaikan dengan FPGA yang hendak dipakai.
kristal dan oscilator
Keterangan :
  • Gambar Kristal (2 pin)
  • 1. Kristal jenis HC-49/SD
    2. Kristal jenis HC-49/US
    3. Kristal jenis HC-49/U
  • Gambar Oscilator (4 pin)
  • 4. Oscilator jenis DIL-14 berukuran penuh dan bungkus (bagian luarnya) terbuat dari logam. Biasa disebut “canned oscillator”
    5. Oscilator jenis DIL-8 berukuran setengah dan bungkus (bagian luarnya) terbuat dari logam.
    6. Oscilator jenis DIL-8 berukuran setengah dan bungkus (bagian luarnya) terbuat dari plastik
    7. Oscilator berukuran 5x7mm dan bungkus (bagian luarnya) terbuat dari logam.
Kristal
Kristal ini biasanya memiliki 2 buah kaki (pin). Kedua pin tersebut simetris dan letaknya dapat dipasang secara bolak balik. Kristal ini memerlukan rangkaian elektronik dari luar untuk melakukan osilasi. Selain itu, kristal lebih dikenal sebagai komponen ”analog” dibandingkan “digital”. Sebuah kristal memerlukan amplifier analog guna menghasilkan osilasi yang terus menerus. Seringkali, sebuah kristal memiliki 3 buah pin. Namun biasanya selain kedua pin yang telah ada, sisa pin tersebut hanyalah pin ground.
Oscilator
Saat ini, kebanyakan pengembang papan (development board) FPGA menggunakan oscillator guna menghasilkan detak (clock). Sebuah oscillator biasanya memiliki 4 kaki (pin) dan membutuhkan sinyal elektrik untuk melakukan osilasi. Jadi sebuah oscillator mampu menghasilkan sebuah detak (clock) sendiri ketika dihidupkan/diberikan tegangan. Pin yang dimiliki oleh oscillator terdiri sebagai berikut :
  1. Pin Enable
  2. Pin Groun (GND)
  3. Pin Output
  4. Pin VCC (biasanya berupa 3,3V atau 5V)
Untuk menonkatifkan atau meniadakan output oscilator (berupa tingkat impedansi yang tinggi), biasanya pin enable akan dihubungkan pada GND. Sedangkan untuk menghasilkan output maka pin enable akan dihubungkan dengan VCC. Beberapa oscillator biasanya otomatis akan non aktif/mati ketika input untuk pin enable bernilai rendah. Tujuannya yakni untuk menghemat tenaga/power. Selain itu, pembungkus oscillator yang berupa logam nantinya bisa dihubungkan ke ground dan berfungsi sebagai pelindung.
Sebuah oscilator dibuat untuk bekerja pada tegangan tertentu. Biasanya antara 3,3V s/d 5V. Terkadang, bila sebuah oscilator yang memiliki spesifikasi tegangan 5V akan dipasang pada tegangan 3,3V tidak akan menjadi masalah. Kecepatan osilasi sebuah oscilator akan berbanding lurus terhadap arus listrik yang dibutuhkan. Misalkan, sebuah oscilator akan berosilasi 25 MHz hanya akan membutuhkan arus 10 mA . Sedangkan jika melakukan osilasi 50 MHz maka arus yang dibutuhkan adalah sekitar 20 mA.
Ketelitian Kristal dan Oscilator
Sebuah resonator (Quartz) biasanya menghasilkan frekuensi yang stabil serta tepat dan akurat. Ketepatan dan ketelitian sebuah kristal mampu mencapai 0,0001%. Hal tersebut akan berpengaruh juga pada ketelitian dan ketepatan kristal maupun oscilator. Nilai ketepatan dan ketelitian paling tinggi untuk keduanya mampu mencapai plus minus 0,0001 %. Sedangkan pada umumnya, nilai ketepatan dan keakuratan kristal maupun oscilator adalah plus minus 0.005% s/d plus minus 0.001%.
Clock synthesizer sebagai penghasil detak (clock)
Sebuah sinyal detak (clock) dapat dihasilkan dari komponen yang disebut clock synthesizer. Hal ini sangatlah bermanfaat karena komponen ini mampu diprogram untuk menghasilkan sejumlah frekuensi yang diharapkan. Alat clock synthesizer ini didasarkan atas program PLL. Selain itu, program PLL memiliki beberapa aplikasi seperti proses sinkroniasai, regenerasai detak (clock), dsb. Salah satu hal yang menarik ketika menggunakan komponen (synthesizer clock) adalah bahwa komponen ini akan cenderung menghasilkan sinyal dengan jitter yang besar dan kemudian akan menetapkan frekuensi osilator yang akan diinginkan. Jitter adalah ukuran sebuah detak tersebut dihasilkan/ditetapkan. Sebuah jitter yang berukuran kecil akan sangat menguntungkan. Hal tersebut disebabkan karena jitter memerlukan pengurangan dari selisih waktu yang ada. Jadi, untuk mendesain jitter ini tidak boleh sembarangan. Selain itu, jitter yang sedikit juga dibutuhkan dalam beberapa aplikasi komunikasi.

sumber: http://ndoware.com/


 


 


 


 

 

Selasa, 04 Oktober 2011

Ragam Bahasa Indonesia

Ragam Bahasa Indonesia
1. Sifat-Sifat Ragam Bahasa Ilmu
2. Kesalahan Umum Berbahasa Indonesia


Bab I. Ragam Bahasa Indonesia

Ragam bahasa indonesia terbagi atas lima bagian, yaitu :

Tempat : Dialek Jakarta, dialek Manado, dsb.
Penutur : Golongan Cedekiawan dan bukan golongan Cedekiawan.
Sarana : Ragam Lisan dan Ragam Tulisan.
Bidang Penggunaan : Ragam Ilmu, Ragam Surat Kabar, dsb.
Suasana Penggunaan : Ragam Resmi dan Ragam Santai.

Sifat Ragam Bahasa Ilmu :

Baku
Konotatif
Berkomunikasi dengan pikiran bukan dengan perasaan.
Kohesif
Koheren
Mengutamakan kalimat pasif
Konsisten
Logis
Efektif
Kuantitatif
1. Baku
Ragam bahasa ilmu harus mengnikuti kaidah-kaidah bahasa baku, yaitu dalam ragam tulisan menggunakan ejaan yang baku yakni EYD, dan dalam ragam lisan menggunakan ucapan yang baku, menggunakan kata-kata, struktur frasa, dan kalimat yang baku atau sudah di bakukan.
Contoh :
Dikarenakan kekurangan dana, modal, tenaga ahli, dan lain sebagainya, maka proyek pembangunan sarana telekomunikasi Indonesia bagian timur kita terpaksa serahkan kepada pengusaha asing.(tidak baku)
Perbaikan :
Karena kekurangan modal, tenaga, dan lain-lain, maka proyek pembangunan sarana telekomunikasi di Indonesia timur terpaksa kita serahkan kepada pengusaha asing. (baku)


2. Denotatif
Kata-kata dan istilah yang digunakan haruslah bermakna lugas, bukan konotatif dan tidak bermakna ganda.
Contoh :
Sampe saat ini masyarakat desa Bojong Soang belum memperoleh yang memadai. (tidak lugas)
Maksud kalimat diatas tidak jelas karena kata penerangan mengandung makna ganda, yaitu informasi atau listrik.
Perbailkan :
Sampai saat ini masyarakat desa Bojong soang belum memperoleh informasi yang memadai
Atau
Sampe saat ini masyarakat desa Bojong soang belum memperoleh listrik yang memadai.


3. Berkomunikasi dengan pikiran daripada perasaanRagam bahasa ilmu lebih bersifa ttenang, jelas, tidak berlebih-lebihan ata uhemat, dan tidak emosional.
Contoh:
Sebaiknya letak kampus tidak dekat dengan pasar, stasiun, terminal, atau tempat-tempat ramai lain-lainnya, sebab jika dekat dengan tempat-tempat ramai seperti itu kegiatan belajar akan mengalami gangguan. (tidakefisien).
Perbaikan:
Sebaiknyaletakkampustidakberdekatandengantempat-tempatyang ramaisupayakegiatanbelajartidakterganggu. (efisien)

4.Kohesif
Agar tercipta hubungan gramatik antara unsur-unsur, baik dalam kalimat maupun dalam alinea, dan juga hubungan antar alinea yang satu dengan alinea yang lainnya bersifat padu maka digunakan alat-alat penghubun. seperti kata-kata penunjuk, dan kata-kata penghubung.
5.Koheren
Semua unsur pembentuk kalimat atau alinea mendukung satu makna atau ide pokok.
6.Mengutamakan Kalimat Pasif
Contoh:
Penulis melakukan penelitian ini di laboratorium.
Perbaikan:
Penelitian ini dilakukan di laboratorium.

7.Konsisten
Konsisten dalam segala hal, misalnya dalam penggunaan istilah, singkatan, tanda-tanda, dan juga penggunaan kata ganti diri.

8.Logis
Ide atau pesan yang disampaikan melalui bahasa Indonesia ragam ilmiah dapat diterima akal.
Contoh:
Alat itu basah kena bensin, tetapi sebentar lagi juga akan menguap. (tidaklogis)
Perbaikan:
Alat itu basah kena bensin, tetapi sebentar lagi bensn itu akan menguap.

9.Efektif
Ide yang diungkapkan sesuai dengan ide yang dimaksudkan baik oleh penutur atau oleh penulis, maupun oleh penyimak atau pembaca.

10.Kuantitatif
Keterangan yang dikemukakan pada kalimat dapat diukur secara pasti.
Contoh:
Untuk menanam pohon itu, diperlukan lubang yang cukup dalam.
Perbaikan:
Untuk menanam pohon itu, diperlukan lubang dengan kedalaman satu meter.



Bab II. Kesalahan Umum Berbahasa Indonesia
Dalam pemakaian bahasa Indonesia, termasuk bahasa Indonesia ragam ilmiah, sering dijumpai penyimpangan dari kaidah yang berlaku sehingga mempengaruhi kejelasan pesan yang disampaikan.
Penyimpangan / kesalahan umum dalam berbahasa Indonesia dapat diklasifikasikan sebagai berikut.
1.Hiperkorek
Hiperkorek adalah kesalahan berbahasa karena “membetulkan” bentuk yang sudah benar sehingga menjadi salah.
Contoh:

utang (betul) menjadi hutang (hiperkorek)

insaf (betul) menjadi insyaf (hiperkorek)

pihak (betul) menjadi fihak (hiperkorek)

jadwal (betul) menjadi jadual (hiperkorek)

asas (betul) menjadi azas (hiperkorek)

2.Pleonasme
Pleonasme adalah kesalahan berbahasa karena kelebihan dalam pemakaian kata yang sebenarnya tidak diperlukan.
Pleonasme ada tiga macam :
a. Penggunaan dua kata yang bersinonim dalam satu kelompok kata

zaman dahulu (benar)

dahulu kala (benar)

zaman dahulu kala (pleonasme)

b. Bentuk jamak dinyatakan dua kali

ibu-ibu (benar)
para ibu (benar)
parai bu-ibu (pleonasme)
tolong-menolong (benar)
saling menolong (benar)
saling tolong-menolong (pleonasme)

c. Penggunaan kata tugas (keterangan) yang tidak diperlukan karena pernyataannya sudah cukup jelas
Contoh:

maju ke depan
kambuh kembali


3.Kontaminasi
Istilah kontaminasi dipungut dari bahasa Inggris contamination (pencemaran). Dalam ilmu bahasa, kata itu diterjemahkan dengan ‘kerancuan’. Rancu artinya ‘kacau’ dan kerancuan artinya ‘kekacauan’.
Yang dimaksud kacau ialah susunan unsur bahasa yang tidak tepat, seperti morfem dan kata.
Morfem-morfem yang salah disusun menimbulkan kata yang salah bentuk.
Kata yang salah disusun menimbulkan frase yang kacau atau kalimat yang kacau.
Kontaminasi terjadi karena salah nalar, penggabungan dua hal yang berbeda sehingga menjadi suatu hal yang tumpang tindih.
Contoh kontaminasi imbuhan:
(meng+kesamping+kan) → mengesampingkan (benar)
(men+samping+kan) → menyampingkan (benar)

mengenyampingkan
(kontaminasi)

Contoh kontaminasi frase:

Kadang-kadang (benar)
Ada kala(nya) (benar)
Kadang kala (kontaminasi)
Berulang-ulang (benar)
Berkali-kali (benar)
Berulang kali (kontaminasi)

Contoh kontaminasi kalimat:

Rapat itu dihadiri oleh para pejabat setempat. (benar)
Dalam rapat itu, hadir para pejabat setempat. (benar)
Dalam rapat itu dihadiri oleh para pejabat setempat. (kontaminasi)
Anak-anak dilarang merokok. (benar)
Anak-anak tidak boleh merokok. (benar)
Anak-anak dilarang tidak boleh merokok. (kontaminasi)

4.Perombakan Bentuk Pasif
Perombakan bentuk pasif ada tiga :
a. Pemakaian awalan di-untuk bentuk pasif yang seharusnya tidak berawalan di-
Contoh:

Buku itu dibaca oleh saya. (tidakbaku)
Buku itu saya baca. (baku)
Buku itu dibaca oleh kamu. (tidakbaku)
Buku itu kamu baca. (baku)

b. Penghilangan awalan di-untuk bentuk pasif yang seharusnya menggunakan awalan di-
Contoh:

Buku itu dibaca oleh mereka. (baku)
Buku itu mereka baca. (tidakbaku)
Buku itu dibaca oleh Amin.(baku)
Buku itu Amin baca. (tidakbaku)

c. Penyisipan kata diantara dua kata dari sebuah frase terikat
Contoh:

Buku itu saya akan baca. (tidakbaku)
Buku itu akan saya baca. (baku)
Masalah itu kami sudah bahas kemarin. (tidakbaku)
Masalah itu sudah kami bahas kemarin. (baku)

5.Kesalahan berbaha sayang berhubungan dengan pemakaian / penghilangan kata tugas Kesalahan pemakaian kata tugas dalam berbahasa Indonesia ada tiga macam :
a. Ketidak tepatan kata tugas yang digunakan
Contoh : Hasil dari pada penelitian itu sangat memuaskan.(tidaktepat) Hasil penelitian itu sangat memuaskan. (baku).
b. Pemakaian kata tugas yang tidak diperlukan.
Contoh :

Kepada mahasiswa yang terlambat tidak diizinkan mengikuti kuliah. (tidakbaku)
Mahasiswa yang terlambat tidak diizinkan mengikuti kuliah. (baku)

c.Penghilangan kata tugas yang diperlukan
Contoh :

Dia bekerja sesuai peraturan yang berlaku. (tidakbaku)
Dia bekerja sesuai dengan peraturan yang berlaku. (baku)


6.Pengaruh bahasa daerah
Pengaruh bahasa daerah yang menimbulkan kesalahan dalam berbahasa Indonesia ada dua macam.
a. Pengaruh dalam pembentukan kata, yaitu pemakaian awalan ke- (yang seharusnya awalan ter-) dan penghilangan imbuhan.
Contoh pemakaian awalan ke- :

ketabrak, kepukul (tidakbaku)
tertabrak, terpukul (baku)

Contoh penghilangan imbuhan:

Hasil penelitiannya beda dengan hasil penelitian saya. (tidakbaku)
Hasil penelitiannya berbeda dengan hasil penelitian saya. (baku)
Pegawai itu dipindah keluar kota. (tidakbaku)
Pegawai itu dipindahkan keluar kota. (baku)

b. Pengaruh dalam susunan kalimat, penggunaan akhiran –nya
Contoh :

Rumahnya Pak Ahmad sangat besar. (tidakbaku)
Rumah Pak Ahmad sangat besar. (baku)

7.Pengaruh bahasa asing
Pengaruh bahasa asing yang menimbulkan kesalahan dalam berbahasa Indonesia ialah pemakaian kata tugas (kata ganti penghubung) seperti: yang mana, dimana, kepada siapa.

Contoh :

Baju yang mana baru saya beli, telah sobek. (tidakbaku)
Baju yang baru saya beli, telah sobek. (baku)
Bandung dimana saya dilahirkan sekarang sangat panas. (tidakbaku)
Bandung tempat saya dilahirkan sekarang sangat panas. (baku)
Orang kepada siapa ia berlindung, kemarin meninggal dunia.(tidakbaku)
Orang tempat ia berlindung, kemarin meninggal dunia.(baku)

KELOMPOK 1 :
1. Oktavianus Mulyadi (21109095)
2. Beni Romdani (22109868)
3. Hendy Willianto
4. M.Ramadhona
5. Derry Fajar Maulana (24109905)

By Animart