2. UNTAI LOGIKA DAN ALJABAR
Semua untai logika dapat dinyatakan
dalam gerbang-gerbang dasar AND, OR
dan NOT.
Berikut ini terdapat contoh 2 untai logika
yang masing-masing memiliki 3 masukan
A, B, C dan satu keluaran X.
Pada untai a (sebelah atas), gerbang
AND menghasilkan keluaran A.B.
Keluaran ini menjadi masukan pada
gerbang OR bersama-sama dengan
masukan C. Gerbang OR akan
melaksanakan operasi penjumlahan pada
masukan-masukannya dan menghasilkan
X= A.B +C atau X= C+ A.B.
12/15/20175:11PM
2
STTPLN
3. OPERATOR PRECEDENCE
Operasi manakah yang harus dilaksanakan terlebih dahulu dalam
suatu ekspresi atau persamaan logika ?
Misalnya : A.B+ C = ? ……
(1) A.B di-OR-kan dengan C atau
(2) B+C di-AND-kan dengan A ?
Jika terdapat AND dan OR dalam suatu ekspresi logika, maka
kerjakan operasi AND terlebih dahulu, kecuali apabila ditemui
adanya tanda kurung.
Apabila ditemui tanda kurung, maka bagian yang diberi kurung
harus dikerjakan terlebih dahulu.
Contoh :
A.B + C A di-AND-kan dengan B, lalu di-OR-kan dengan C.
A .(B+C) B di-OR-kan dengan C baru di-AND-kan dengan A.
12/15/20175:11PM
3
STTPLN
4. LATIHAN UNTAI DENGAN INVERTER (1)
Untai 1 Untai 2
Untai 3
12/15/20175:11PM
4
STTPLN
5. UNTAI DENGAN INVERTER (2)
Untai 4
Ubahlah semua gerbang OR pada untai di atas
menjadi gerbang AND, dan semua gerbang AND
menjadi OR. Tentukan ekspresi logika untuk
keluaran x.
12/15/20175:11PM
5
STTPLN
7. IMPLEMENTASI UNTAI LOGIKA (DARI PERSAMAAN)
Diagram untai logika dapat
dibuat berdasarkan suatu
ekspresi matematika yang
diketahui.
Dimisalkan, akan dibuat suatu
untai logika dengan keluaran
y= AC + BC + ABC.
- Terdiri dari 3 suku (AC, BC,
ABC)
- Ketiga suku tersebut dijumlah
atau di-OR-kan (menggunakan
gerbang OR dengan 3 input).
12/15/20175:11PM
7
STTPLN
9. STANDAR SIMBOL LOGIKA IEEE/ANSI
Tradisional
Standar
IEEE/ANS
I
12/15/20175:11PM
9
STTPLN
10. LATIHAN 1: ANALISA RANGKAIAN
Untai logika pada gambar berikut menghasilkan output , MEM, yang
berfungsi untuk mengaktifkan IC-IC memori pada suatu mikrokomputer.
Tentukan kondisi dari input-inputnya untuk mengaktifkan MEM.
Untuk menganalisa rangkaian
berikut, salah satu caranya dengan
menggunakan tabel kebenaran.
Semua kemungkinan kombinasi
keempat masukannya RD, ROM-
A, ROM-B, dan RAM diperiksa
terlalu panjang, ada 16
kemungkinan.
12/15/20175:11PM
10
STTPLN
11. HASILANALISA RANGKAIAN (1)
MEM adalah aktif rendah (active-LOW) dan
bernilai LOW (=0) pada saat input X dan Y =
HIGH (= 1).
X bernilai HIGH ketika RD= 0.
Y bernilai HIGH ketika W atau V atau dua-duanya
bernilai HIGH (1).
V bernilai HIGH jika RAM=0.
W bernilai HIGH jika ROM-A atau ROM-B atau
dua-duanya bernilai LOW (0).
Jadi, MEM akan aktif jika RD=0 dan paling tidak
salah satu dari ROM-A, ROM-B, atau RAM
bernilai LOW.
12/15/20175:11PM
11
STTPLN
12. LATIHAN2: ANALISA RANGKAIAN
Untai logika berikut digunakan untuk mengendalikan motor pada suatu
floppy disk drive pada saat menerima atau mengirim data dari/ke disk.
Untai akan menghidupkan motor jika DRIVE bernilai 1.
Tentukan kondisi-kondisi masukan yang diperlukan untuk mengaktifkan
motor.
12/15/20175:11PM
12
STTPLN
13. HASIL : ANALISA RANGKAIAN (2)
DRIVE adalah aktif HIGH. DRIVE = 1 jika
X= Y =0.
X bernilai LOW apabila salah satu masukan
IN atau OUT atau dua-duanya bernilai
HIGH (1).
Y bernilai LOW jika W=0 dan A0 = 0.
W bernilai LOW jika nilai masukan A1- A7 = 1.
Jadi nilai DRIVE = 1 apabila A1= A2= A3= A4=A5=A6 = A7 = 1,
A0= 0, dan salah satu dari IN atau OUT atau dua-duanya bernilai
1.
12/15/20175:11PM
13
STTPLN
14. METODE UNTUK MENJELASKAN
FUNGSI LOGIKA
Pernyataan logika dalam bahasa sehari-hari
Tabel kebenaran (truth table)
Simbol-symbol operasi logika dasar
Sombol logika dengan standar IEEE/ANSI
Ekspresi atau persamaan Aljabar Boolean
Diagram pewaktuan
12/15/20175:11PM
14
STTPLN
15. CONTOH 3
Ekspresi dalam Bahasa Inggris berikut menjelaskan bagaimana suatu
untai logika bekerja untuk mengaktifkan indikator peringatan sabuk
pengaman pada mobil :
If the driver is present AND the driver is NOT buckled up AND
the ignition switch is on, THEN turn on the warning light.
Gambarkan untai tersebut menggunakan
a) aljabar Boolean
b) gambar untainya menggunakan symbol-symbol logika
c) tabel kebenaran
d) diagram pewaktuannya.
12/15/20175:11PM
15
STTPLN
19. HDL ATAU HARDWARE DESCRIPTION LANGUAGE
adalah tool yang digunakan untuk menggambarkan untai-untai logika
dengan bahasa pemrograman berbasis teks.
Contoh HDL : AHDL (Altera Hardware Description Language) dan VHDL
(Very High Speed Integrated Circuit-VHSIC- Hardware Description
Language).
It is important to distinguish between hardware description languages intended to
describe the hardware configuration of a circuit and programming languages that
represent a sequence of instructions intended to be carried out by a computer to
accomplish some task. Komputer bekerja dengan melakukan sekumpulan perintah/
instruksi yang harus dilaksananakan secara sekuensial.
Kecepatannya bergantung pada seberapa cepat pelaksanaan satu
instruksi.
Kecepatan untai logika digital bergantung pada seberapa cepat
output berubah karena adanya perubahan pada inputnya.
12/15/20175:11PM
19
STTPLN
20. PLD (PROGRAMMABLE LOGIC DEVICE)
PLD adalah suatu piranti yang bagian-
bagiannya terhubung sedemikian rupa
secara elektronik dan membentuk
suatu untai logika.
Hubungan perkabelan (wiring) tersebut
dapat diprogram agar bernilai 1
(connected) atau 0 (not connected).
Gambar di sebelah kanan
menunjukkan sebagian koneksi yang
masing-masing titik perpotongannya
dapat diprogram.
Program dalam HDL diubah ke deretan
0 dan 1 (oleh compiler) sebelum
diproses oleh PLD.
12/15/20175:11PM
20
STTPLN
21. PEMROGRAMAN PLD
Berdasar gambar sebelumnya, PLD memiliki banyak input dan banyak
output yang terhubung membentuk suatu matriks ( switching matrix).
Pemrograman pada PLD berarti menentukan koneksi-koneksi mana saja
yang harus terhubung (1) dan mana saja yang harus terbuka (0).
Ada 2 cara pemrograman PLD :
1. Cara pertama dengan melepas IC
PLD dari papan untai dan melakukan
pemrograman di tempat terpisah.
2. In System Programming (ISP).
Pemrograman dilakukan tanpa
melepas IC PLD melalui pin-pin
antarmuka JTAG (Joint Test Action
Group).
12/15/20175:11PM
21
STTPLN
22. HDL : FORMAT & SYNTAX
Elemen HDL : 1. Definisi input dan output
2. Definisi bagaimana output bereaksi terhadap input
(operasi)
Contoh :
Operator dasar
Boolean pada
AHDL:
& AND
# OR
! NOT
$ XOR
Program gerbang
AND menggunakan
AHDL
12/15/20175:11PM
22
STTPLN
23. CONTOH 4 : AHDL
Pada AHDL, Sinyal lokal dinyatakan pada
bagian VARIABLE, yang terletak di antara
bagian SUBDESIGN dan bagian logika.
Sinyal antara (intermediate) m
didefinisikan pada baris ke-11 , setelah
kata kunci VARIABLE.
12/15/20175:11PM
23
STTPLN
25. DEKLARASI ARRAY PADAAHDL
Untuk menyatakan array atau bit vector pada AHDL adalah sebagai berikut :
nama array diikuti dengan indeks array dalam tanda kurung siku.
Contoh : p [ 7. . 0 ] : INPUT ; mendefinisikan port masukan berukuran 8
bit
keypad [ 3 . . 0] : INPUT ;
Dimisalkan suatu port p1 berukuran 8 bit dihubungkan dengan titik bernama
temp :
VARIABLE temp [7 . . 0] : node ;
BEGIN
temp [ ] = p [ ] ;
END ;
Bit-bit dapat terhubung secara individu dengan menyebutkan indeks bit yang
diinginkan di dalam kurung siku. Contohnya, untuk menunjukkan LSB (Least
Significant Bit) dari p pernyataannya adalah temp[0] = p[0] ;.
12/15/20175:11PM
25
STTPLN
26. Perintah IF/THEN/ELSE digunakan untuk memilih salah satu dari 2
aksi yang tersedia.
Contoh penggunaan perintah IF/THEN/ELSE adalah sebagai berikut :
IF/THEN/ELSE DENGAN AHDL
SUBDESIGN FIG4_54
(
digital_value[3..0] :INPUT; -- define inputs to
block
z :OUTPUT; -- define block output
)
BEGIN
IF digital_value[ ] > 6 THEN
z = VCC; -- output a 1
ELSE z = GND; -- output a 0
END IF;
END;
Input pada program AHDL
berikut adalah
digital_value dengan
ukuran 4 bit.
Jika nilai digital_value
dalam biner lebih dari 6
(desimal), maka nilai
output Z=1.
Jika nilai digital_value
(biner) <= 6
(decimal),maka z=0.
12/15/20175:11PM
26
STTPLN
27. ELSEIF digunakan pada untuk memilih di antara beberapa opsi (lebih dari 2).
Contohnya adalah program untuk untai indikator jangkauan suhu
(temperature range indicator) dengan proses pengambilan keputusan
sebagai berikut :
IF digital_value <= 8, THEN nyalakan indicator Too Cold.
ELSE IF digital_value >8 dan <11, THEN
Nyalakan indikator Just Right.
ELSE nyalakan indikator Too Hot.
ELSIF PADA ADHL
CONTOH KASUS : TEMPERATURE RANGE INDICATOR CIRCUIT
12/15/20175:11PM
27
STTPLN
28. ELSIF PADAADHL
CONTOH KASUS :
TEMPERATURE RANGE
INDICATOR CIRCUIT
SUBDESIGN fig4_58
(
digital_value[3..0] :INPUT; --define inputs to block
too_cold, just_right, too_hot :OUTPUT;--define outputs
)
VARIABLE
status[2..0] :NODE;--holds state of too_cold, just_right,
too_hot
BEGIN
IF digital_value[ ] <= 8 THEN status[ ] = b"100";
ELSIF digital_value[ ] > 8 AND digital_value[ ] < 11 THEN
status[ ] = b"010";
ELSE status[ ] = b"001";
END IF;
(too_cold, just_right, too_hot) = status[ ]; -- update output
bits
END;
12/15/20175:11PM
28
STTPLN