Materi FPGA

FPGA: Rangkaian digital yang berisi gerbang-gerbang logika yang memiliki interkoneksi sehingga dapat diprogram ulang.

  • PROM

Salah satu jenis ROM, merupakan alat penyimpanan berupa memory yang hanya bisa dibaca isinya. PROM tergolong memory non-volatile, artinya program yang tersimpan didalamnya tidak akan hilang walaupun komputer.

  • EPROM

Berbeda dengan PROM, merupakan jenis chip memory yang dapat ditulis program secara elektris. Program atau informasi yang tersimpan di dalam EPROM dapat dihapus bila terkena sinar UV dan dapat ditulis kembali.

  • EEPROM

Merupakan memory non-volatile ,informasi,daya atau program yang tersimpan didalamnya tidak akan hilang bila komputer dimatikan.

  • SRAM

Sejenis memory semikonduktor jika chip tersebut akan kehilangan yang disimpannya jika catudaya OFF.

  • FLASH

Memory sejenis EEPROM yang memberikan banyak lokasi memory untuk dihapus/ditulis dalam suatu operasi pemrograman.

  • RAM

Memory yang bersifat non-volatile, memiliki kecepatan dalam hal baca/tulis. Biasa digunakan pada komputer/PC.

Soft Core :Processor yang didesign menggunakan rangkaian logika(baik menggunakan schematic maupun VHDL) sehingga arsitektur softcore bersifat reconfigurable / bisa dikonfigurasi ulang sesuai kemauan designer.

Sifat/Kelebihan FPGA :

  • Dapat diprogram berulang-ulang
  • Dapat didownload berulang-ulang
  • Bersifat volatile (bergantung dengan catudaya)
  • Hampir semua rangkaian digital sudah terintegerasi
  • Murah (very low cost)
  • Pemrograman yang singkat untuk fungsi dan kemampuan setara ASIC

CLB: Memproses segala bentuk logika yang dibuat oleh user.

I/O Block: Interface antara external pin dan internal user logic

Programmable Interconnect: Wire segment / programmable switch

  • Antifuse

Adalah teknologi dimana masing-masing jalur dapat dikonfigurasi memiliki link diprogram berhubungan. Dalam keadaan unprogrammed, antifuse memiliki impedansi yang sangat tinggi. Perangkat ini disediakan dalam keadaan ini, dimana silikon menghubungkan dua jalur logam bertindak sebagai isolator. Menerapkan pulsa tegangan yang relatif tinggi dan arus akan mengubah silikon isolasi ke polysilicon. Perangkat ini akan ”tumbuh” link didalam interkoneksi.

  • Fine-grained

Setiap blok logika dapat digunakan untuk implementasi fungsi yang sangat simple. Sebagai contoh, kemungkinan untuk mengkonfigurasi blok untuk bertindak sebagai fungsi 3-masuka, seperti gerbang logika dasar atau elemen penyimpanan(FF D). Blok logika finegrained biasanya beroperasi pada tipe data bit-lebar dan menggunakan kumpulan LUT sebagai element komputasi.

  • Medium-grained

Blok logika yang biasanya beroperasi pada tiap data 2 bit dan 4 bit dan menggunakan sejumlah LUT atau ALU bit kecil sebagai elemen komputasi.

  • Coarse-grained

Setiap blok logika mengandung jumlah logika yang relatif besar jika dibandingkan dengan fine-grained. Sebagai contoh, blok logika meungkin berisi 4 LUT, 4-input, 4-mux, 4 D FF dan beberapa logika fast carry. Blok logika yang beroperasi pada ukuran byte dan word dan menggunakan ALU sebagai elemen komputasinya.

  • Mux (Multiplexer)

Alat / komponen elektronika yang bisa memilih input yang akan diteruskan ke bagian output. Pemilihan input yang dipilih akan ditentukan oleh signal yang ada di bagian kontrol select.

  • Fast Carry Chain

Jalur penghubung singkat diantara cell-cell yang salaing berdekatan untuk jalur interkoneksi antar cell. Jalur ini dalam pembuatan fungsi-fungsi logika agar dapat berjalan dengan efisien (minim penggunaan dan tingkat operasi tinggi).

  • Processor Cores

Core yang mengontrol kerja sirkuit pada FPGA dan melakukan beberapa perhitungan random dan bagian-bagian lain dari sirkuit bertanggung jawab untuk interfacing dan pengolahan paralel pada fpga terdapat 2 tipe CPU core yaitu Hard dan soft.

  • Hard IP

Merupakan bentuk block yang belum diterapkan seperti mikroprocessor core, gigabyte interface, multiplier, address, mac function dan sejenis block ini dirancang untuk seefisien mungkin dalam hal konsumsi daya dan kinerja.

  • Soft IP

Mengacu pada sources level library dari fungsi tingkat tinggi yang dapat dimasukan ke design pengguna. Fungsi ini biasanya direpresentasikan menggunakan HDL, seperti verilog atau VHDL RTL pada abstraksi setiap fungsi soft IP, perancang memutuskan untuk menggunakan dimasukan kadalam bagian utama dari design  yang juga ditentukan dalam RTL dan kemudian disintesis kedalam kelompok block programmable logic.

  • Firm IP

Merupakan bentuk fungsi library tingkat tinggi tidak seperti soft IP, fungsi pada firm IP telah dipetakan secara optimal, ditempatkan dan diteruskan kedalam block programmable logic. Satu atau lebih salinan dari setiap block firm IP yang telah ditentukan dapat diturunkan ke dalam design seperti yang diperlukan.

  • GPIO (Generals Purpose Input Output)

Adalah pi generic pada sebuah chip yang perilakunya dapat dikontrol atau diprogram memlalui perangkat lunak.

  • CLB (Configure Logic Block)

Merupakan sumber daya logika utama untuk mengimplementasikan synchoronous dan kombinasional. CLB dapat dikonfigurasi untuk RAM atau ROM  tergantung pada coding yang digunakannya.

  • LAB

Terdiri dari block bangunan dasar yang dikenal sebagai adaptive logic modules (ALM) yang dapat dikonfigurasi untuk mengimplementasikan fungsi logika, fungsi aritmatika dan fungsi register.

  • Slices

Merupakan bagian dari CLB, dimana tiap CLB memiliki 4 slice dan tiap slice terdiri 2 4-input LUT dan flip-flop/Latch.

  • Clocking

Clock pada FPGA biasanya dibuat secara serempak atau sinkron artinya bahwa tiap detik (clock) yang dihasilkan di dalam sebuah fpga terjadi serentak akan mempengaruhi semua kondisi yang ada.

Pengaplikasikan FPGA.

–          ASIC dan custom silicon                        : travo system

–          DSP                                         : menswitch jalur jaringan

–          Embedded mikrokomputer          : melakukan job khusus / pekerjaan tertentu

–          Physical layer communication (dalam DS 1 layer)

–          Reconfigurable computing

Flowchart alur pemrograman FPGA :

CAD : Computer Aided Design (perancang system dengan bantuan computer)

1. FPGA implementation

2. Design entry :

a. Schematic

b. Bahasa pemrograman

3. Logic opitimisatation : memodifikasi ekpresi Boolean yang mengoptimalkan penggunaan logic

4. Mapping : pemetaan fungsi Boolean CLB

6. Placement

6. Routing Software

7. Programming Unit