Anda di halaman 1dari 12

PENGANTAR PEMROGRAMAN GAL

Untuk mengimplementasikan system digital dapat digunakan 2 metode, yaitu:


a. Menggunakan komponen diskrit (AND, OR, NOT, JK-FF secara terpisah)
b. Menggunakan komponen terprogram (PLD, GAL)
Secara umum suatu PLD dapat digambarkan sebagai berikut:

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

F. PENGGUNAAN EQUALITY OPERATOR


Equality Operator digunakan untuk melakukan operasi tunggal untuk beberapa
variable. Sebagai contoh:
[A3, A2, A1] : &; yang setara dengan A3&A2&A1
[A3, A2] : #; yang setara dengan A3#A2

G. PENGGUNAAN RANGE dan EQUALITY


Penggunaan Range dan Equality dapat pula dipakai secara bersamaan seperti
perintah berikut ini:
FIELD Alamat = [A0, A1, A2];
Select = Alamat:[C..E];
Perintah diatas setara dengan perintah berikut ini:
Select = Alamat:C # Alamat:D # Alamat:E;
GERBANG DASAR

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)

Eksekusi WinCUPL dan lakukan hal sebagai berikut:


a. FILE -> NEW -> PROJECT
b. Jika muncul tampilan sebagai berikut:

Isikanlah sebagai berikut:


Name : GERBANG
Device : G16V8
c. Jika muncul Isian berikut:

Maka isikan 2 yang menyatakan banyaknya Input


d. Jika muncul Isian Output sebagaimana gambar berikut:

Isikan 5 untuk menyatakan NOT, AND, OR, XOR dan NAND


e. Jika muncul Isian PINNODE maka langsung tekan OK saja (berarti jumlah PinNode
= 0)
f. Pada layar yang tersedia lakukan pengetikan (lengkapi pengetikan ) sebagai
berikut:
Name Gerbang ;
PartNo 00 ;
Date 8/27/2014 ;
Revision 01 ;
Designer Engineer ;
Company Djava ;
Assembly None ;
Location ;
Device g16V8 ;

/* *************** INPUT PINS *********************/


PIN 2 = A; /* */
PIN 3 = B; /* */

/* *************** OUTPUT PINS *********************/


PIN 12 = NOT; /* */
PIN 13 = AND; /* */
PIN 14 = OR; /* */
PIN 15 = XOR;
PIN 16 = NAND;

NOT = !A;
AND = A & B;
OR = A # B;
XOR = A $ B;
NAND = !(A & B);

g. Simpan dengan menekan FILE -> SAVE


h. Compile dengan RUN -> Device Dependent Compile atau F9. Sebelumnya atur dulu
konfigurasi Compiler dengan memilih OPTION -> Compiler dan set sebagai berikut:
i. Buka PROTEUS dan buat rangkaian sebagai berikut:
R5 R2
470R 470R

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.

k. Lakukan Simulasi dengan menekan Play. Lakukan proses pengubahan kondisi


Switch dan cek dengan table kebenaran gerbang yang telah anda pelajari.
PROJECT
a. Kunci kombinasi 4 input (Switch) dan 2 output (LED dan Selenoid) menggunakan
NIM akhir anda
b. DECODER BCD to 7segment
c. ADDER

Anda mungkin juga menyukai