Pengantar Pemrograman Gal
Pengantar Pemrograman Gal
Dari gambar diatas terlihat bahwa suatu system persamaan Boolean dapat
diimplementasikan dengan cara menghubungkan pin input ( 48, 49,..51,8,9) dengan
masukan gate yang membentuk hubungan AND – OR dan terhubung pada Ouput no 13.
Untuk menghubungkan pin Input pada kombinasi AND-OR – Output digunakan sebuah
fuse yang dapat diprogram untuk terhubung atau tidak terhubung (digambarkan dengan
tanda x ). Sebagai contoh untuk membuat system persamaan:
B = /A dan E = C*D dapat digunakan pola fuse sebagai berikut:
Dari gambar diatas terlihat bahwa B terhubung dengan A yang di NOT kan sedangkan E
terhubung dengan C dan D yang ditandai dengan dua buah x pada sebuah saluran
tunggal. Harus diingat bahwa 2 atau lebih tanda x pada satu garis saluran menyatakan
hubungan AND)
Untuk menyatakn komponen Flip-Flop atau komponen register (penyimpan)
dapat digunakan tipe PLD yang lebih kompleks seperti GAL. Perhatikan gambar GAL
berikut ini:
Dari gambar diatas terlihat bahwa konfigurasi PLD dasar telah diperluas dengan
tambahan komponen OLMC (Output Logic Macrocell) yang dapat digunakan untuk
mengimplementasikan komponen register / flip-flop. Umumnya komponen register
dibentuk dari D Flip-Flop.
PEMROGRAMAN PLD/GAL
Untuk membentuk system-sistem digital berbasis PLD atau GAL dapat digunakan
software WCUPL. Dengan software ini seorang designer tidak perlu bersusah payah
mengamati dan menghubungkan peta gate AND-OR secara manual. Designer cukup
meng-compile persamaan Boolen sehingga dihasilkan file JEDEC. File JEDEC (peta gate
AND-OR) ini kemudian dapat diprogramkan menuju chip target menggunakan
Programmer PLD-GAL.
WINCUPL File IC
Persamaan JEDEC Target
BAHASA PEMROGRAMAN
A. DEFINISI PIN YANG DIGUNAKAN
Untuk mendefinisikan pin yang digunakan dapat dipakai sintak:
PIN nomor_pin = [!]Variabel
Contoh:
PIN 1 = A;
PIN 2 = !B;
Nomor_pin dan Variabel dapat pula dalam bentuk list yang ditandai dengan
kurung [ … ] seperti berikut ini:
PIN [3, 4, 5] =[ IN, Stop, Enable];
PIN [3..7] = [D0..4];
B. DEFINISI FIELD
Digunakan untuk memberi nama pada sekelompok variable yang berfungsi sama
seperti contoh berikut:
FIELD Data = [D7..D0];
FIELD Mode = [Up, Down, Enable];
C. PENGGUNAAN BILANGAN
Bilangan Base Nilai
‘b’1 Biner 1
‘B’1011 Biner 11
‘O’2 Oktal 2
‘D’12 Desimal 12
‘H’10 Heksa 16
‘H’10XX Heksa (range)
‘O’[2..5] Oktal (range)
D. PENGGUNAAN OPERATOR
OPERATOR CONTOH ARTI
! !A NOT
& A&B AND
# C#D OR
$ A$D XOR
E. PERINTAH EKSTENSI
Perintah Ekstensi banyak digunakan dalam pemrograman PLD yang dikeluarkan
oleh ATMEL. Berikut ini ringkasan dari perintah Ekstensi tersebut
Berikut ini gambaran dari penggunaan perintah-perintah ekstensi tersebut:
Penjelasan detil dari perintah Ekstensi ini akan dibahas ketika kita membahas
desain system Sekuensial
1. Tujuan
Mengimplementasikan fungsi gerbang AND, NAND, OR, NOT, XOR pada GAL
16V8
2. Peralatan
GAL 16V8
Programmer
3. Teori Dasar
Perhatikan chip GAL 16V8 berikut ini:
Gunakan pin 1 dan pin 2 (Io dan I1) sebagai Input dan Oo sampai O4 sebagai
Output kemudian lakukan pemrograman sebagaimana table berikut ini:
Operasi Program
AND = A * B AND = A & B
OR = A + B OR = A # B
NOT = /A NOT = !A
XOR = A + B XOR = A$B
NAND = /(A * B) NAND = !(A&B)
NOT = !A;
AND = A & B;
OR = A # B;
XOR = A $ B;
NAND = !(A & B);
U1
1
CLK/I0
2 19
I1 IO0
3 18
I2 IO1
4 17
I3 IO2
5 16
I4 IO3
6 15 R4
I5 IO4
7 14
I6 IO5
8 13 100
I7 IO6
9 12 100
I8 IO7
11 R1 100 R3
OE/I9
AM16V8
NOT AND XOR
LED-RED LED-RED LED-RED
j. Double clik pada Komponen AM16V8 kemudian isikan file JEDEC dari lokasi
penyimpanan file ketika membuat file PLD menggunakan WINCUPL sebelumnya.