UNTAI LOGIKA

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.
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.


ANALISA RANGKAIAN (CONTOH 1)
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.
 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.

ANALISA RANGKAIAN (CONTOH 2)
 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.
 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 A= 0.
 W bernilai LOW jika nilai masukan A01- A= 1.
 Jadi nilai DRIVE = 1 apabila A1= A2= A3= A4=A5=A6 = A7 = 1, A0= 0, 7 dan salah satu dari IN atau OUT atau dua-duanya bernilai 1.

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

CONTOH 3
Ekspresi dalam Bahasa Inggris berikut menjelaskan bagaimana suatu untailogika 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.




HDL
 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) danVHDL (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.

PLD (Programmable Logic Device)
 PLD adalah suatu piranti yang bagian-bagiannya terhubung sedemikian rupa 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.

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).
HDL : FORMAT & SYNTAX
 Elemen HDL :
1.  Definisi input dan output
2.  Definisi bagaimana output bereaksi terhadap input (operasi)
 Contoh :
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. 


DEKLARASI ARRAY PADA AHDL
 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 p 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] ;.

IF/THEN/ELSE dengan AHDL
 Perintah IF/THEN/ELSE digunakan untuk memilih salah satu dari 2 aksi
yang tersedia.
 Contoh penggunaan perintah IF/THEN/ELSE adalah sebagai berikut :
ELSIF pada ADHL
Contoh Kasus : Temperature Range Indicator Circuit
 ELSEIF digunakan pada unttuk 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
LATIHAN


Komentar

Postingan populer dari blog ini

Cara Mendownload Game Plastelina 1-14 Gratis

ENCODER DAN DECODER

FLIP FLOP