Anda di halaman 1dari 45

1.

Programmable Logic Device (PLD)


1.1. Apa itu PLD ?
PLD adalah suatu device digital dimana fungsi-fungsi
logikanya dapat diprogram sesuai dengan kebutuhan dari pemakai.
Terdapat beberapa jenis PLD, yaitu :
1.

Simple PLD (SPLD)

2.

Complex PLD (CPLD)

3.

Field Programmable Gate Array (FPGA)

SPLD adalah PLD yang paling sederhana yang kira-kira ekivalen


dengan sekitar 100-1000 gate. Device yang temasuk SPLD adalah :
1.

Programmable Array Logic (PAL)

2.

Gate Array Logic (GAL)

Struktur utama dari SPLD terdiri atas :


1.

Product term array

2.

Macrocells

Sebuah CPLD ekivalen dengan sekitar beberapa ratus sampai ribuan


gate. Sebuah memiliki semua yang dimiliki oleh CPLD ditambah
dengan :
1.

Programmable interconnect

2.

Programmable I/O cells

Pada dasarnya, sebuah CPLD dapat dianggap sebagai gabungan dari


beberapa SPLD yang saling dihubungkan dengan programmable
interconnect.
FPGA adalah yang paling kompleks diantara semua PLD.
FPGA diutamakan untuk

desain

rangkain

sequensial

yang

memerlukan banyak flip-flop. Suatu FPGA ekivalen dengan


beberapa ribu sampai jutaan gate.
1

1.2. Mengapa Memakai PLD ?


Sebelum adanya PLD, IC-IC digital seri TTL mendominasi
semua desain rangkaian digital. Berbagai jenis IC TTL dibuat untuk
mengimplementasikan gerbang-gerbang (NOT, AND, OR dan
XOR), flip-flop, shit register, counter, dan sebagainya. Prosedur
desain menggunakan IC TTL dapat dilihat pada gambar dibawah ini

Spesifikasi
Desain

Truth
Table

Persamaan
Logika

Optimasi
&

Minimalisasi
Desain
Skematik

Implementasi

Gambar 1. Prosedur desain dengan IC TTL


2

Terdapat beberapa permasalah dalam desain menggunakan IC TTL,


yaitu :
1.

Kerumitan, semakin kompleks suatu desain maka


semakin banyak persamaan logika yang dihasilkan.

2.

Masalah fan-in dan fan-out, suatu gerbang TTL hanya


dapat di-load dengan gerbang lain dalam jumlah yang
terbatas sebelum terjadi perubahan level tegangan yang
merusak.

3.

Masalah delay propagation, dalam seuatu desain TTL


dimana beberapa IC dihubungkan, maka masalah delay
dapat membuat system tidak strabil.

Dengan adanya permasalahan diatas, maka suatu desainer system


digital dengan TTL harus sangat berhati-hati dalam mewujudkan
desainnya. Untuk suatu system yang sangat besar, bias jadi akan
diperlukan waktu yang sangat lama untuk implementasinya.
Dengan menggunakan PLD yang telah didesain sedemikian
rupa oleh produsennya untuk mengatasi berbagai masalah yang
mungkin timbul dalam desain system digital maka proses desain
suatu rangkaian digital akan menjadi lebih mudah dan cepat. Dengan
menggunakan

PLD,

seorang

desainer

tidak

lagi

harus

menghubungkan banyak IC-IC TTL sehingga desain akan menjadi


lebih kompak dan memiliki performansi yang tinggi.

1.3. PAL
PAL adalah yang paling sederhana diantara semua PLD.
PAL tersusun dari array dari gerbang AND dan OR dimana koneksi
pada gerbang AND adalah dapat diprogram dan koneksi pada
3

gerbang OR adalah tetap (fixed). Dibawah ini ditunjukkan symbol


standar untuk gerbang AND 3 masukan dengan diagram logik
ekivalen pada PAL :

Gambar 2. Diagram logic PAL untuk gerbang AND 3 masukan

Pada gambar diatas, garis horizontal tunggal yang muncul dari


gerbang AND digunakan untuk merepresentasikan beberapa sinyal
masukan. Garis-garis vertical merepresentasikan masukan A, B dan
C. Tanda silang menunjukkan adanya hubungan antara masukan
sinyal A, B dan C dengan masukan dari gerbang AND. Untuk lebih
jelasnya, perhatikan contoh rangkaian dibawah ini beserta diagram
ekivalennya pada PAL :

Gambar 3. Sebuah rangkaian dan diagram ekivalennya pada PAL


4

Untuk memudahkan pembahasan, maka diambil contoh langsung


sebuah PAL yang umum dipakai, yaitu PALCE22V10. Konfigurasi
pena beserta diagram blok struktur internal dari PALCE22V10 dapat
dilihat pada gambar 4 sedangkan. Struktur internal mendetail untuk
PAL ini dapat dilihat pada gambar selanjutnya.

Gambar 4. PALCE22V10

Gambar 5. Struktur internal PALCE22V10

PALCE22V10 memiliki sebuah pena masukan untuk


clock, 11 buah pena masukan logika dan 10 buah pena keluaranmasukan (I/O). Struktur dari sebuah input buffer PALCE22V10
dapat dilihat pada gambar berikut ini :

Gambar 6. Input bufferPALCE22V10

Sedangkan struktur dari output buffer dari PALCE22V10 adalah :

Gambar 7. Output buffer PALCE22V10


7

Seperti yang telah ditulis sebelumnya, suatu SPLD memiliki


beberapa macrocell. Struktur dari sebuah macrocell PALCE22V10
adalah sebagai berikut :

Gambar 8. Macrocell PALCE22V10

Macrocell dari PALCE22V10 adalah sangat fleksibel karena dapat


diprogram menjadi dalam beberapa mode :
1.

Mode kombinasional aktif high

2.

Mode kombinasional aktif low

3.

Mode teregistrasi aktif high

4.

Mode teregistrasi aktif low

Dibawah ini dapat dilihat mode-mode konfigurasi untuk macrocell


PALCE22V10.

Gambar 9a. Macrocell PALCE22V10 dalam mode kombinasional

Gambar 9b. Macrocell PALCE22V10 dalam mode teregistrasi

Untuk dapat memahami karakteristik dari PALCE22V10


maka dibawah ini ditampilkan karakteristik

switching dari

PALCE22V10.

Gambar 10. Karakteristik switching PALCE22V10

Untuk mengakhiri diskusi menganai PAL maka dibawah ini dapat


dilihat karakteristik power-on pada PALCE22V10 :

Gambar 11. Karakteristik power-on PALCE22V10


10

1.4. CPLD
Untuk memulai pembahasan mengenai CPLD, diambil
contoh CPLD Xilinx XC9500XV yang memiliki struktur sebagai
berikut :

Gambar 12. Struktur CPLD XC9500XV

Kemudian dapat dilihat pula kapasitas dari berbagai keluarga CPLD


XC9500XV pada table dibawah ini :

11

Tabel 1. Keluarga CPLD XC9500XV

Untuk selanjutnya, struktur dari function block dapat dilihat pada


gambar dibawah ini :

Gambar 13. Function block CPLD XC9500XV

12

Sedangkan struktur macrocell dari CPLD tersebut adalah sebagi


berikut :

Gambar 14. Macrocell CPLD XC9500XV

Struktur programmable interconnect dari CPLD XC9500XV dapat


dilihat pada gambar dibawah ini :

13

Gambar 15. Programmable interconnect CPLD XC9500XV

Untuk mengakhiri pembahasan mengenai CPLD, berikut ini


ditampilkan struktur blok I/O dari CPLD XC9500XV :

14

Gambar 16. I/O block CPLD XC9500XV

15

1.5. FPGA
Teknologi FPGA diciptakan untuk meningkatkan kapasitas
dan keandalan dari teknologi komponen digital terprogram
pendahulunya. Secara structural, FPGA dan CPLD sangatlah
berbeda. Apabila CPLD terdiri atas kumpulan array OR dan AND
serta macrocell, maka FPGA terdiri atas sekumpulan sel-sel logika
yang dikelilingi oleh sel-sel I/O yang saling dihubungkan oleh suatu
elemen terprogram.

Gambar 17. Strukur FPGA pada umumnya


1.5.1. FPGA XC4000XL
Arsitektur XC4000XL terdiri atas 3 komponen utama, yaitu
CLB (Configurable Logic Block), IOB (Input Output Block), PI
(Programmable Interconect).

16

Pengguna dapat menggunakan IOB untuk hubungan antar muka


dengan rangkaian eksternal, CLB untuk menyatakan fungsi logika
yang diinginkan dan interkoneksi untuk menyatakan jaringan fungsi
logika dalam skala besar.
Fungsi logika, interkoneksi dan penggunaan IOB ditentukan
oleh data yang tersimpan pada sel memori statik internal (keluarga
XC4000 menggunakan teknologi SRAM untuk menyimpan data
konfiurasi).
1.5.1.1 Configurable Logic Block (CLB)
Suatu array CLB merupakan elemen fungsional yang
menyusun fungsi logika dari pengguna. CLB disusun dalam bentuk
matriks ditengah-tengah divais. Setiap CLB mempunyai bagian
logika kombinasional yang ada pada function generator, elemen
penyimpan, bagian kontrol dan routing internal.

Gambar 18. CLB XC4000XL


17

Setiap CLB dapat merealisasikan fungi-fungsi sebagai berikut :


1.

Sembarang fungsi dengan 4 input dan fungsi kedua dengan


4 input berbeda ditambah fungsi ketiga dengan input yang
lain. (bila 3 fungsi berbeda dibuat, maka sebuah output
fungsi harus di capture ke flip-flop internal CLB. Hanya 2
output function generator yang dapat dibuat dari CLB).

2.

Sembarang satu fungsi hingga 5 variabel.

3.

Satu fungsi sembarang dengan 4 variabel ditambah


beberapa fungsi dengan 6 variabel.

4.

Beberapa fungsi hingga 9 variabel.

Untuk lebih jelasnya maka dapat dilihat dari penjelasan isi CLB
sebagai berikut :
Function Generator
1.

Function Generator F dan G

Masing-masing dapat menangani definisi


boolean hingga 4 input.

Masing-masing memiliki 4 input dan 1


output.

Label kedua buah outputnya F dan G.

Propogation

delay-nya

tidak

mempengaruhi yang lain.


2.

Function Generator H

Memiliki 3 input dan 1 output. Dengan


label outputnya H

18

2 inputnya dapat diambilkan dari F dan


G. Atau dari luar CLB (H0 dan H2).

1 input terakhir harus dari luar CLB (H1).

Flip-Flop
Selain dapat dihubungkan ke interconect network, output
CLB juga dapat dihubungkan ke salah satu atau kedua flip-flop. Flipflop ini sendiri dapat dihubungkan juga interconect network. Sebagai
elemen memory, konfigurasi flip-flops ini dapat dilihat dalam tabel
berikut.

Tabel 2. Fungsi elemen memory (storage element) CLB

19

Latch (Untuk tipe XC4000XL)


Ditunjukkan pada tabel diatas, bahwa latch yang digunakan
adalah common clock (CLK) dan clock enable (CE) input.

Clock Input
Dapat di-trigger secara rising atau falling edge. Clock ini
digunakan bersama dengan elemen memori dan dapat dibalik untuk
masing-masing elemen memori.
Clock Enable
Clock enable mempunyai nilai aktif high. CE digunakan
bersama dengan elemen memori dan di CLB tidak dapat balik.

Set/Reset
Masukan elemen sinkron memori (SR) dapat dioperasikan
sebagai set ataupun reset. Konfigurasi ini tergantung saat proses
konfigurasi. Dan terpengaruh juga dari operasi Global Set/Reset
selama proses operasi normal serta juga dipengaruhi dari pin SR
CLB.

Global Set/Reset (GSR)


Line Global Set/reset yang terpisah dapat men-set atau clear
elemen memory selama power up, konfigurasi ulang, atau jalur reset
tertentu diaktifkan. Setiap flip-flop dapat dikonfigurasi oleh GSR
atau local Set/reset. GSR ini dapat di-driver dari user programmable
pin sebagai global set/reset.

20

Gambar 19. Skematik untuk global Set/Reset

Masukan elemen memori adalah F, G dan H atau dengan Direct In


(DIN) block input. Sedangkan flip-flop menggerakkan blok XQ dan
YQ.

Fast Carry Logic


Sesungguhnya, CLB F dan G telah dibuat untuk
menghasilkan logika aritmatik dengan sinyal carry dan borrow yang
cepat. Fast Carry logic ini bisa mencapai kecepatan aritmatik dan
perhitungan hingga 70 MHz.
1.5.1.2 Input Output Block (IOB)
Setiap IOB berfungsi sebagai sarana untuk menghubungkan
antara rangkaian eksternal melalui pin kemasan divais dengan fungsi
logika internal. Setiap IOB dapat diprogram untuk difungsikan
sebagai input, output ataupun sebagai bidirectional (dua arah). Buffer
input IOB dilengkapi dengan pendeteksi tegangan ambang yang
dapat menterjemahkan sinyal eksternal pada pin kemasan menjadi
level logika.
Input pada XC4000XL kompatibel dengan TTL dan 3.3
volt CMOS serta mempunyai kemampuan toleransi untuk tegangan
21

input 5V meskipun dengan Vcc yang hanya 3.3V. Output


XC4000XL telah di pull-up pada tegangan positif 3.3V dan
mempunyai kemampuan arus hingga 12mA.
Karakteristik dari kemampuan tegangan input-output dari
XC4000XL dapat dilihat pada tabel berikut :

Tabel 3. XC4000XL input source untuk IOB

22

Gambar 20. Diagram Blok IOB XC4000XL


1.5.1.3 Programmable Interconnect
Programmable Interconnect merupakan jalur routing yng
menghubungkan input dan output dari IOB dan CLB untuk
membentuk jaringan fungsi yang diinginkan. Adanya fasilitas
interkoneksi yang dapat diprogram menjamin terselenggaranya
23

pengiriman sinyal dari 1 titik ke titik lain didalam FPGA sesuai


dengan yang dikehendaki. Fasilitas interkoneksi ini dibentuk dari
segmen logam (metal segment). Ada beberapa tipe interkoneksi yaitu
:
1.

CLB routing, yang menghubungkan baris dan kolom dalam


array CLB.

2.

IOB routing, yang membentuk suatu ring (disebut


VersaRing)

disekitar

array

CLB.

IOB

routing

menghubungkan IO dengan internal Logic Block.


3.

Global routing, yang berisi jaringan yang didesain terutama


untuk distribusi clock dengan delay dan skew minimal.

Gambar diagram CLB routing dapat dilihat pada gambar berikut ini :

Gambar 21. High level routing diagram dari XC4000 CLB

24

Ada 5 interconnect yang dibedakan berdasar panjang relatif dari


segmen, yaitu:
1.

Single-length lines yang memberikan interkoneksi dengan


fleksibilitas terbesar dan routing yang cepat antara CLB
yang berdekatan. Terdapat 8 vertikal single length line dan
8 horisontal single length line yang menghubungkan setiap
CLB dan dihubungkan dengan matriks switch yang dapat
diprogram.

Gambar 22. Programmable switch matrix

2.

Double-length lines yang menawarkan routing sinyal yang


lebih cepat untuk jarak menengah dengan routing yang
fleksibel.

25

3.

Quad

lines yang memiliki kemampuan tercepat untuk

routing jarak jauh karena terhubung dengan interkoneksi


switch matrik yang sangat cepat.
4.

Octal lines dan Longlines yang merupakan segmen-segmen


metal yang melintas sejauh panjang dan lebar chip. Oleh
karena itu sangat cocok digunakan untuk routing sinyal
yang harus melewati jarak jauh, sinyal dengan time critical
atau sinyal dengan fan-out tinggi.

Selain

itu

XC4000XL

dilengkapi

dengan

Direct

Interconnect yang sangat cepat dan efisien untuk CLB yang


berdekatan ataupun CLB dan IOB yang berdekatan. Untuk Global
Routing, terdapat 2 macam yang terdapat pada keluarga XC4000XL,
yaitu :
a.

Global Low-Skew Buffer (BUFGLS).

Merupakan

clock buffer standar yang digunakan untuk internal clocking


pada umumnya.
b.

Global Early Buffer (BUFGE). Menyediakan akses clock


dan interface input/output yang lebih cepat, tetapi akses CLB
dibatasi hingga kalinya.

c.

Global Low-Skew Buffer . Setiap sudut dari XC4000X


mempunyai 2 Global Low Skew buffer.

Masing masing

dapat mencatu CLB manapun yang terdapat dalam divais.

26

Gambar 23. BUFGLS


d.

Global Early Buffer. Tugas utama dari Global Early Buffer


ini ialah menyediakan clock access yang lebih awal daripada
Global Low- Skew Buffer. Dengan sumber clock yang sama
yang dicatukan ke kedua buffer tersebut akan diperoleh clock
dari Global Early Buffer sekian nano detik lebih awal
daripada Global Low-Skew Buffer, dengan beban yang lebih
ringan.

Gambar 24. BUFGE bagian atas dan bawah


27

Gambar 25. BUFGE sisi kanan sisi kiri

Global Early Buffer bagian atas dan bawah device hanya


bisa mencatu 1 kuadran dari jumlah IOB. Global Early
Buffer sisi atas dan sisi bawah, berselisih 1 ns lebih lambat
dibandingkan Global Early Buffer sisi kanan dan kiri.
1.5..1.4 Distribusi Daya
Distribusi daya dan saluran ground pada FPGA tersusun
dalam bentuk grid. Ini digunakan karena dapat mengurangi noise dan
dapat berfungsi sebagai isolator antara sinyal-sinyal pada CLB dan
IOB. Bentuk ini juga memungkinkan penyaluran daya ke semua
komponen yang ada dalam FPGA.

28

1.5.1.5 Mode Konfigurasi IC FPGA XC4000XL


XC4000XL mempunyai 6 mode konfigurasi yang dipilih
dengan memberikan nilai pada 3 bit input yaitu M2,M1 dan M0.
Mode yang tersedia adalah Master dan Slave Serial, Master Paralel
Up

dan

Down,

Peripheral

Synchronous,

dan

Peripheral

Asynchronous.
Kode untuk pemilihan mode dapat dilihat pada tabel berikut ini:
Tabel 4. Mode konfigurasi

Berikut ini akan dijelaskan tentang mode Slave Serial dan


mode Master Paralel dan mode Slave Serial.
1.5.1.5.1 Mode Slave Serial
Pada mode ini, sebuah sinyal eksternal menggerakkan input
CCLK FPGA. Bitstream konfigurasi serial harus ada pada input DIN
29

FPGA dalam waktu setup yang singkat sebelum setiap kenaikan


tingkatan

CCLK (rising edge). Ini merupakan data awal yang

muncul pada pin DOUT-nya. Terdapat delay internal sebesar 0.5


periode CCLK yang berarti DOUT berubah pada sisi turun CCLK
(falling CCLK edge), mode Slave Serial dipilih dengan data <111>
pada pin-pin mode-nya (M2, M1, M0). Slave Serial ini adalah mode
dasarnya apabila pin-pin mode tidak digunakan.

Gambar 26. Sistem master/slave lengkap


1.5.1.5.2 Mode Master Paralel
Pada dua mode Master Paralel (Up dan Down), FPGA
secara langsung mengalamati EPROM standar, dan dapat menerima

30

data dengan lebar delapan bit tepat sebelum menaikkan atau


menurunkan alamat PROM. Data paralel tersebut kemudian
diserialkan di dalam FPGA, dimana kemudian diteruskan ke pin
DOUT-nya. Mode Master Parallel Up dipilih dengan memberikan
data <100> pada pin-pin mode (M2, M1, M0).

Gambar 27a. Sistem Master Paralel dan koneksinya dengan paralel


EEPROM

31

Gambar 27b. Karakteristik switching pemrograman mode master


paralel

32

1.52 FPGA Spartan-II


Keluarga FPGA Spartan-II dibuat oleh Xilinx Inc. untuk
memperbaiki seri sebelumnya, yaitu keluarga FPGA Spartan-I.
Secara umum, arsitektur keluarga ini adalah sebagai berikut :

Gambar 28. Arsitektur dasar FPGA Spartan-II


Berdasarkan gambar diatas maka arsitektur Spartan-II
terdiri atas 5 komponen utama, yaitu :
1.

CLB (Configurable Logic Block)

2.

IOB (Input / Output Block)

3.

DLL (Delay-Locked Loop)

4.

BR (Block RAM)

5.

PRM (Programmable Routing Matrix)

33

1.5.2.1 CLB (Configurable Logic Block)


Setiap CLB tersusun atas 2 buah slice. Setiap slice tersusun
atas 2 buah LC (Logic Cell). Selain itu, di setiap CLB juga terdapat 1
multiplexer tambahan F6 dan 2 buah 3-state drivers. Struktur slice
pada Spartan-II adalah sebagai berikut :

Gambar 29. Slice pada CLB FPGA Spartan-II

34

Penjelasan untuk setiap bagian-bagian CLB diatas adalah sebagai


berikut :
1.

LUT (Look-Up Tables). Setiap LUT memiliki 4 input


dan dapat dikonfigurasi sebagai function generator atau
sebagai 16x1 bit SRAM. Kedua LUT dalam slice dapat
digabung untuk membentuk 16x2 bit SRAM, 32x1 bit
SRAM, ataupun 16x1 bit dual-port SRAM. LUT juga
dapat dikonfigurasi menjadi 16-bit shift register yang
dapat dioperasikan dengan clock kecepatan tinggi.

2.

Multiplexer. Setiap multiplexer F5 digunakan untuk


memilih output dari 2 function generator pada setiap
slice, sedangkan multiplexer F6

digunakan untuk

memilih output dari multiplexer F5.


3.

Storage Elements. Elemen ini dapat dikonfigurasikan


sebagai edge-triggered D-Flip-Flop atau sebagai levelsensitive latch. Setiap elemen dapan dikemudikan
melalui output dari function generator ataupun
langsung dari input slice dengan mem-bypass function
generator.

4.

Arithmetic Logic. Tersusun atas dedicated carry logic,


XOR gate dan

AND gate. Dedicated carry logic

memungkinkan fast arithmetic carry untuk perhitungan


aritmatika

kecepatan

tinggi.

Kedua

gerbang

memungkinkan untuk dibuatnya 1-bit full adder dalam


satu LC dan juga meningkatkan efisiensi dari proses
perkalian. Dedicated carry path juga dapat digunakan

35

untuk

mengkaskada

function

generator

untuk

mengimplementasikan fungsi logika yang besar.


5.

Three State Buffer (BUFT). Setiap BUFT memiliki


kontrol

dan

input

tersendiri,

digunakan

untuk

mengemudikan bus internal.

Jadi CLB dapat dikonfigurasikan sebagai :


1.

SRAM 16x1, 16x2 dan 32x1

2.

Dual port SRAM 16x1

3.

16-bit Shift Register

4.

Multiplexer 4:1 dan 8:1

5.

Generator fungsi 5 input, 6 input, 9 input dan 19 input

6.

Suatu full adder 1-bit dengan menggunakan arithmetic


logic

1.5.2.2 IOB (Input / Output Block)


Setiap IOB dapat dikonfigurasikan untuk mendukung
berbagai standar I/O, seperti standar 3.3V, 2.5V dan 1.5V. Untuk
level tegangan compatible TTL, CMOS, PCI dan AGP digunakan
level tegangan 3.3V, untuk low voltage CMOS digunakan level
tegangan 2.5V. Setiap IOB dapat dikonfigurasikan sebagai input,
output atau bi-directional. Struktur setiap IOB terlihat sebagai
berikut :

36

Gambar 30. Slice pada CLB FPGA Spartan-II

Register pada IOB dapat dikonfigurasikan sebagai edgetriggered D-Flip-Flop atau sebagai level sensitive latch. Setiap IOB
memiliki sinyal clock (CLK) bersama dan sinyal clock enable (CE)
independen untuk setiap register. Selain itu ketiga register tersebut
juga

memiliki

snyal

set/preset

(SR)

bersama

yang

dapat

dikonfigurasikan sebagai synchronous set, synchronous reset,


asynchronous preset atau asynchronous clear.

37

Setiap pad pada IOB dapat dikonfigurasikan untuk


memiliki suatu pull-up atau pull-down resistors, atau suatu weakkeeper circuit.

1.5.2.3 DLL (Delay-Locked Loop)


Struktur dari suatu DLL secara sederhana terdiri atas
variable line delay

dan control logic. Jaringan distribusi (clock

distribution network) mendistribusikan clock keluaran ke seluruh


register dan juga ke pin feedback dari DLL. Control logic membaca
clock masukan dan clock feedback untuk melakukan pengaturan
terhadap delay line agar menghasilkan sinyal clock yang tertunda
(delayed) dari clock masukan. Dengan mengatur besarnya delay
yang dihasilkan maka rising edge dari clock masukan dan feedback
dapat dibuat agar menjadi berhimpit. Clock keluaran DLL menjadi
terkompensasi sehingga bebas dari delay. Struktur sederhana dari
sebuah DLL dapat dilihat pada gambar dibawah ini :

Gambar 31. Struktur sederhana dari DLL

38

Setiap DLL pada Spartan-II dapat dihubungkan dengan satu


dari 4 pin clock melalui global clock buffer (BUFG), dan dapat
mengemudikan 2 global clock network.

DLL dapat difungsikan

untuk :
1.

Menghilangkan skew pada clock input

2.

Menghasilkan pergeseran fase clock 90, 180 dan 270 derajat

3.

Menghasilkan clock dengan frekuensi 2 kali dari clock input

4.

Menghasilkan clock dengan frekuensi clock inputdibagi 1.5,


2, 2.5, 3, 4, 5, 8, atau 16.

1.5.2.4 BR (Block RAM)


Spartan-II memiliki block RAM kapasitas besar yang
memungkan untuk diperolehnya struktur memori yang lebih dalam
dari yang disediakan oleh LUT pada CLB. Kapasitas total block
RAM pada berbagai device Spartan-II adalah sebagai berikut :

Tabel 5. Kapasitas total Block RAM pada FPGA Spartan-II


Device

# of Blocks

Total Bits

XC2S15

16k

XC2S30

24k

XC2S50

32k

XC2S100

10

40k

XC2S150

12

48k

XC2S200

14

56k

39

Block RAM dapat dikonfigurasikan menjadi RAM dengan kapasitas


sebagai berikut :

Tabel 6. Konfigurasi Block RAM pada FPGA Spartan-II


Width

Depth

ADDR Bus

DATA Bus

1
2
3
8
16

4096
2048
1024
512
256

11:0
10:0
9:0
8:0
7:0

0:0
1:0
3:0
7:0
15:0

1.5.2.5 PRM (Progammable Routing Matrix)


Berguna untuk melakukan interkoneksi antara keempat
komponen lainnya pada FPGA Spartan-II. Terdapat 5 jenis
interkoneksi, yaitu :
1.

Local Routing. Memungkinkan interkoneksi antara :

LUT, flip-flop dan General Routing Matrix


(GRM)

Feedback internal CLB untuk menghasilkan


koneksi kecepatan tinggi antar LUT dalam 1
CLB

Direct path yang memungkinkan koneksi


kecepatan tinggi antar CLB tetangga yang
berada pada posisi horizontal.

40

Gambar 32. Local routing pada FPGA Spartan-II

General Purpose Routing. Memungkinkan interkoneksi


antar semua CLB pada device, terdiri dari :
i.

General Routing Matrix (GRM), menghubungkan


sembarang CLB tetangga

baik pada posisi

horisontal ataupun vertical


ii.

24 single-length lines route, menghubungkan


GRM tetangga baik pada posisi horizontal ataupun
vertical

iii.

96 buffered HEX lines route, menghubungkan


GRM dengan jarak 6 blok dengan ketentuan
koneksi hanya bisa dilakukan pada posisi awal,
akhir dan tengah line.

iv.

12 buffered long lines, menghubungkan posisi


mana saja pada device baik horizontal ataupun
vertical.
41

I/O Routing. Memungkinkan hubungan antara


CLB dengan IOB. Tersusun dalam suatu struktur
yang mengelilingi CLB yang disebut dengan versa
ring. Memungkinkan hubungan dari CLB ke
sembarang IOB.

Dedicated

Routing.

Digunakan

untuk

menghubungkan secara langsung beberapa sinyal


agar dapat diperoleh peformansi maksimal, terdiri
atas :
i.

Horizontal routing resources, dihubungkan dengan


3-state

buffers

memingkinkan

terbentuknya

multiple buses pada setiap baris (posisi horisontal).


ii.

Dedicated carry net, memungkinkan pengiriman


sinyal carry secara langsung ke CLB tetangga pada
posisi vertikal.

Global Routing. Memungkinkan distribusi clock


dan sinyal dengan fan-out sangat tinggi pada
keseluruhan device, terdiri atas :

i.

Primary

Global

Routing,

berguna

untuk

menghubungkan 4 sinyal clock dengan semua


CLB, IOB dan block RAM.
ii.

Secondari Global Routing, tersusun atas 12 jalur


pada sisi atas dan 12 jalur pada sisi bawah yang
berguna untuk mendistribusikan sembarang sinyal.

42

Gambar 33. Global clock routing pada FPGA Spartan II

1.6. Rangkaian dengan PALCE22V10


Pada gambar 34 dibalik ditunjukan rangkaian yang
memanfaatkan PALCE22V10 untuk membuat sebuah trainer board
PAL. Pada rangkaian tersebut diperlihatkan bahwa masukan ataupun
keluaran ke atau dari PAL di-buffer dengan IC 74HCT373. Hal ini
dimaksudkan untuk melakukan proteksi terhadap PAL karena PAL
sangat rentan terhadap arus atau dan tegangan berlebih.

43

Gambar 34. Rangkaian trainer board dengan PALCE22V10


44

VII. Daftar Pustaka

---, Januari 2000, XAPP174 : Using the Spartan2 Delay-Locked


Loop.pdf, http://direct.xilinx.com/bvdocs/appnotes/xapp174.pdf.

---, Maret 5, 2001, Spartan-II 2.5V FPGA Family : Introduction and


Ordering Information, http://www.xilinx.com/partinfo/ds001_1.pdf.

---, Maret 5, 2001, Spartan-II 2.5V FPGA Family : Functional


Description, http://www.xilinx.com/partinfo/ds001_2.pdf.

Skahill, Kevin & March, 1996, VHDL for Programmble Logic,


Cypress Semiconductor, Sunnyvale, California

Addison-Wesley

Publishing, Inc.

45