Document 9651068

Download Report

Transcript Document 9651068

Subject
Year
: Digital System
: 2009
Programmable Logic and Software
Chapter 26
Overview
• CPLD
• FPGA
The CPLD
• Complex programmable logic device (CPLD)
terdiri dari array dari SPLD dengan
programmable interconnection, pada umumnya
SPLD pada CPLD disebut dengan sebuah logic
array block (LAB). Terkadang juga disebut
dengan istilah function block, logic blok, atau
generic block.
• Interconnection antar SPLD disebut dengan
programmable interconnect array (PIA)
• CPLD beredar dalam banyak macam mulai dari
jumlah macrocell sampai kepada bermacammacam konsumsi daya yang digunakan.
The CPLD
• Block diagram dari CPLD generic
Altera CPLD
• Architecture dari sebuah CPLD adalah cara dari
element yang terdapat pada CPLD diatur.
• Aristektur dari MAX7000 Altera mempunyai
arsitektur yang sama dengan GAL/PAL, yang
memakai fungsi standar SOP.
• MAX7000 memakai teknologi EEPROM dalam
fuse nya dan mengimplementasikan JTAG
dalam In-system programmablenya (ISP).
Altera CPLD
• Basic block diagram dari Altera MAX7000 CLPD
Xilinx CPLD
• Xilinx, sama seperti Altera dalam pembuatan CPLD nya,
membuat CPLD dalam berbagai ukuran dan densitas
logic
• Xilinx dalam arsitektur CoolRunner II nya membuat
struktur programmable logic array (PLA) bukan PAL.
• Berbeda dengan PAL yang hanya mempunyai matrix
gerbang AND yang diprogram PLA memakai sistem
gerbang AND dan OR yang dikonfigurasi secara matrix.
• Perbedaan lainnya dengan Altera adalah xilinx
menggunakan Function Block (FB) dalam CPLDnya
bukan LAB seperti yang digunakan oleh Altera.
Xilinx CPLD
• Perbedaan antara PAL dan PLA
Programmable Logic: FPGA
• Arsitektur klasik CPLD masih menggunakan logic block
dari GAL/PAL dengan menggunakan programmable
interconnection.
• Secara arsitektur field-programmable logic array (FPGA)
memakai konsep yang sama sekali berbeda yaitu
configurable logic block (CLB) dan programmable
interconnectionnya diatur menurut baris dan kolom.
Programmable Logic: FPGA
• 3 elemen utama dari sebuah FPGA adalah CLB, matrix
interkoneksi, dan I/O block.
• CLB dalam suatu FPGA tidak sekompleks LAB atau FB
dalam CPLD, akan tetapi jumlahnya lebih banyak dari
CPLD.
• Jika arsitektur CLB dalam suatu FPGA sederhana maka
FPGA tersebut disebut dengan fine grained, sedangkan
yang lebih kompleks disebut dengan coarse grained.
• I/O block dari sebuah FPGA dapat dikonfigurasi secara
bit untuk interface input, output, atau keduanya.
• Interkoneksi matrix nya menyediakan hubungan koneksi
antar CLB atau bahkan dengan I/O secara individual.
• Suatu FPGA dapat mempunyai minimal 180K gerbang.
FPGA CLB
• Fungsi CLB pada FPGA sama seperti fungsi
macrocell dalam CPLD.
• Setiap CLB terbuat dari fungsi logic yang lebih
kecil dan matrik interkoneksi lokal yang
digunakan untuk menghubungkan modul logic
tersebut didalam CLB.
• Selain CLB FPGA juga mempunyai logic module
yang dikonfigurasikan untuk rangkaian
kombinasional, register atau gabungan
keduanya. Logic module pada FPGA disebut
dengan LUT (look-up table) yang digunakan
untuk mengenerate fungsi SOP. LUT melakukan
fungsi yang sama dengan PAL atau PLA.
FPGA CLB
• Struktur dasar dari sebuah FPGA
Struktur dasar dari CLB
FPGA CLB
• Struktur dasar dari sebuah Logic block
Hasil LUT yang telah diprogram
untuk persamaan SOP tertentu
FPGA
• FPGA bersifat volatile, karena dibuat dari teknologi
antifuse dan berdasarkan teknologi SRAM, karena itu
pada umumnya FPGA memakai ROM untuk menyimpan
konfigurasi file yang digunakan untuk rangkaian
digitalnya.
• Pada umumnya ROM yang dipakai bergantung kepada
user ataupun disediakan dalam bentuk board yang
sudah jadi.
FPGA
• FPGA mempunyai 2 bagian utama yaitu:
– Soft-core : bagian yang disebut “blank state” dimana user dapat
memprogram logic apapun kedalam FPGA.
– Hard-core : bagian yang telah diprogram dari manufacturer yang
dipakai untuk membantu programmer, bagian ini tidak dapat
diubah oleh user. Pada umumnya hard-core ini mempunyai
fungsi dasar sebuah microcontroller atau microprosessor.
• Keuntungan dari hard-core adalah sebuah fungsi dapat
diimplementasikan dengan jumlah resource yang lebih
sedikit. Sehingga pemakaian gerbang dapat dihemat.
Dan fungsi-fungsi dari hard-core telah di tes oleh
perusahaan pembuat FPGA.
• Kerugian utama dari hard-core adalah fungsi ini tidak
dapat diubah oleh user dan user harus memakai modul
sebagaimana adanya.
ALTERA FPGA
• Arsitektur dari FPGA altera mirip dengan arsitektur klasik
FPGA.
• Struktur LUT dari altera dinamakan adaptive logic
module (ALM) yang menghasilkan fungsi sum-ofproduct.
• Mode operasi dari ALM altera :
–
–
–
–
Normal mode
Extended LUT
Arithmetic mode
Shared aritmetic mode
XILINX FPGA
• Xilinx mempunyai 2 keluarga FPGA yaitu
spartan dan Virtex, keduanya mempunyai
arsitektur yang berbeda .
• Virtex mempunyai modul hard-core yaitu
memory, processor, tranceiver
• Kebanyakan keluarga FPGA xilinx memiliki
arsitektur klasik FPGA, kecuali virtex II pro X,
yang memiliki Application Spesific Modular Block
(ASMBL) yang mempunyai konfigurasi 1 miliar
transistor dalam 1 device
The difference
• Arsitektur FPGA tradisional mempunyai arsitektur seperti
array yang terhubung dengan I/O, jumlah dari CLB
dalam FPGA bergantung kepada jumlah I/O yang
ditempatkan secara fisik pada FPGA.
• Ketika suatu IP core yang kompleks diimplementasikan
maka jumlah I/O akan makin besar yang mengakibatkan
jumlah I/O meningkat dan biaya bertambah
• Pada arsitektur ASMBL arsitektur nya lebih didasarkan
kepada kolom, dan I/O diletakkan secara
bersinggungan, bukan pada sekitar CLB sehingga ketika
kompleksitas perancangan bertambah besar dan jumlah
I/O tidak bertambah.
• Setiap bagian dari ASMBL dapat diletakkan pada bagian
manapun tanpa mengubah layout dasar I/O chip
sehingga biaya dapat dikurangi secara signifikan.
Programmable Logic software
• Suatu proses pemrograman dari FPGA sering disebut
dengan design flow. Dan target dari pemrograman
disebut dengan target device
Programmable Logic software
• Tahap-tahap pembuatan logic dalam rangkaian FPGA:
–
–
–
–
–
–
Design Entry
Simulasi functional
Synthesis
Implementation
Timing simulation
Device programming