teori, antarmuka dan aplikasiaqwamrosadi.staff.gunadarma.ac.id/downloads/files/57696/fpga+dan... ·...
TRANSCRIPT
FPGA DAN VHDL
TEORI, ANTARMUKA DAN APLIKASI
Chapter 1
Prinsip-Prinsip Sistem Digital
Aqwam Rosadi Kardian
Outlines
• Sistem digital
• Persamaan dan perbedaan elektronika analog dan
elektronika digital
• Sistem bilangan
• Gerbang logik
2
Sistem Digital
Cabang elektronika yang mengulas mengenai
kombinasi gerbang-gerbang dasar yang diwujudkan
sebagai suatu saklar tegangan yang berada dalam
ranah tingkat logik
3
I/O Rangkaian Digital
• Bentuk gelombang periodik
• Bentuk gelombang aperiodik
• Bentuk gelombang pulsa
4
Perbandingan Elektronika Analog
dan Digital
Chip Mikrokomputer
PC
Vending machine
Mobil
ElektronikaAnalog
Klasik
ElektronikaDigital
Era Komputer
5
Perbandingan Elektronika Analog
dan Digital
Elektronika Analog
Suhu
Kecepatan
Tegangan/arus kontinuyang proporsional
Tegangan/arus analog berjangkah nilai
Kuantitas Fisik
6
Perbandingan Elektronika Analog
dan Digital
Elektronika Digital
Deret bilanganbiner
Penunjukan digital bernilai diskret
Kuantitas Fisik
7
Perbandingan Elektronika Analog
dan Digital
Definisi Analog Digital
Sinyal Variabel kontinu Langkah diskret
Sifat Amplifikasi Pensaklaran
Bentuk Tegangan Bilangan
8
Perbandingan Elektronika Analog
dan Digital
• Ilustrasi perbedaan antara perangkat analog dan
digital adalah cara kerja dimmer lampu dan
saklar lampu.
• Dimmer lampu merupakan perangkat analog
• Saklar lampu merupakan perangkat digital
9
Perbandingan Elektronika Analog
dan Digital
• Contoh sinyal analog adalah sinyal audio digital
PemutarCompact Disc
Menyimpandata suara
Bebas derau
Suara kualitastinggi
Magnetikvibrasi
(analog)
Representasibilangan(digital)
10
Perbandingan Elektronika Analog
dan Digital
Proses analog
•membandingkantahap suatubesaran standardan berlangsungsecara kontinu
Proses Digital
•perhitungan secaradiskret dan hanyaberlangsung dalaminterval-interval tertentu
11
Level Logika Digital
• Digital direpresentasikan secara biner, atau
bilangan basis-2.
• Deskripsi kuantitas digital secara elektronika
memerlukan sistem yang menggunakan tegangan
atau arus untuk menggambarkan bilangan biner.
13
Level Logika Digital
• Sistem bilangan biner hanya mempunyai duadigit, 0 dan 1. Masing-masing digit didenotasikan oleh perbedaan tegangan yang disebut level logika.
• Tegangan terendah (biasanya 0 volt) disebutlogika low atau logika 0 dan direpresentasikandigit 0. Tegangan tertinggi (biasanya 5 V, namunbeberapa sistem mempunyai nilai tertentu seperti1,8V, 2,5V, 3,3V, atau 3,7V) disebut logika highatau logika 1 yang direpresentasikan digit 1.
14
Level Logika Digital
• Bilangan Desimal
• Sistem bilangan desimal berbasis angka 10
• Posisi paling tidak berarti (paling kanan) memiliki
sebuah bobot faktor berbasis 10-n, dan posisi
paling berarti (paling kiri) memiliki bobot faktor
10n
• Penulisan notasinya : 10n, ..., 103, 102, 101, 100,
10-1, 10-2, 10-3, ..., 10-n
15
Level Logika Digital
• Bilangan Desimal direpresentasikan sebagai berikut:
581 = 5 x 100 + 8 x 10 + 1 x 1
atau dituliskan dalam ranah bilangan 10 sebagai,
581 = 5x102 + 8x101 + 1x100 = 500 + 80 +1
Bilangan desimal dan biner menggunakan sistempembobotan posisional, yaitu:
10102 = 1x23 + 0x22 + 1x21 + 0x20 = 1x8 + 0x4 + 1x2 + 0x1
= 1010
16
Level Logika Digital
• Nilai biner disusun dari most significant bit(MSB) menuju least significant bit (LSB)
Bilangan dibagi 2 sisa
155 77 1 Least Significant Bit
77 38 1 ^
38 19 0 |
19 9 1 |
9 4 1 |
4 2 0 |
2 1 0 |
1 0 1 Most Significant Bit ==> 15510 = 100110112
17
Level Logika Digital
• Bilangan Biner
• Sistem bilangan biner berbasis-2, menggunakan
digit biner (bit) yaitu 0 dan 1.
• Istilah bit dipakai dalam sistem bilangan biner
singkatan dari binary digit.
• Byte adalah string yang terdiri dari 8 bit.
• Bilangan biner 101 mempunyai persamaan
desimal: 22x1 + 21x0 + 20x1 = 4 + 0 + 1 = 5.
18
Level Logika Digital
• Bilangan Oktal
• Sistem bilangan oktal jarang digunakan dalam
representasi sinyal digital, namun beberapa
referensi ada yang menuliskannya.
• Bilangan oktal tidak begitu familiar, namun bisa
digunakan dalam bentuk konversinya.
19
Level Logika Digital
• Bilangan Oktal
• Sistem bilangan oktal berbasis-8.
• Penulisan notasi ini dituliskan misal sebagai 7348
atau 734oktal.
• Konversi nilai oktal ke dalam bentuk biner lebih
mudah karena hanya mengambil tiga digit saja
dari bilangan biner kemudian mengkonversinya
menjadi desimal.
20
Level Logika Digital
• Bilangan Oktal
Contoh :
7348 konversi binernya menjadi 1110111002
hasil konversinya 1112 = 7
0112 = 3
1002 = 4
21
Level Logika Digital
• Bilangan Oktal
Nilai konversi desimal ke oktal dilakukan
dengan cara membagi nilai desimal dengan 8
Bilangan dibagi 8 sisa
476 59 4 Least Significant Bit
59 7 3 |
7 0 7 Most Significant Bit ==> 476 = 7348
22
Level Logika Digital
• Bilangan Heksadesimal
• Bilangan yang sering digunakan dalam
representasi bilangan dalam aplikasi sistem digital
dan penulisan kode program.
• Sistem bilangan heksadesimal berbasis-16
• Notasinya 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E
dan F.
23
Level Logika Digital
• Bilangan Heksadesimal
• Konversi nilai heksadesimal ke dalam bentukbiner lebih mudah karena hanya mengambil 4 digit saja dari bilangan biner kemudianmengkonversinya menjadi desimal.
Contoh :
73416 konversi binernya menjadi 111001101002
hasil konversinya 01112 = 7
00112 = 3
01002 = 4
24
Level Logika Digital
• Bilangan Heksadesimal
• Nilai konversi desimal ke heksadesimal dilakukan
dengan cara membagi nilai desimal dengan angka
16
Bilangan dibagi 16 sisa
476 29 12 = C Least Significant Bit
29 1 13 = D |
1 0 1 Most Significant Bit ==> 476 = 1DC16
25
Level Logika Digital
• Nilai heksadesimal dikonversi menjadi nilai
biner untuk mendapatkan nilai desimal, contoh
100112 maka nilai heksadesimalnya adalah 1316,
nilai desimalnya :
1x24 + 0x23 + 0x22 + 1x21 + 1x20
1x16 + 0x8 + 0x4 + 1x2 + 1x1
16 + 0 + 0 + 2 + 1 = 19
26
Level Logika Digital
• Konversi nilai heksadesimal menjadi nilai
desimal
• 1DC16 = 1x162 + Dx161 + Cx160
= 1x162 + 13x161 + 12x160
= 256 + 208 + 12
= 476
27
Level Logika Digital
• Komplemen Bilangan
• Komplemen memudahkan operasi pengurangan
dan memanipulasi logika.
• Dua macam komplemen untuk setiap sistem
bilangan dengan radiks R, yaitu komplemen-R
dan komplemen-(R-1).
• Contoh komplemen 10 dan 9 untuk bilangan
desimal dan komplemen 1 dan 2 untuk bilangan
biner.
28
Level Logika Digital
• Komplemen-R
• Komplemen-R digunakan untuk suatu bilangan
nyata positif N dengan radiks R dan bagian
bulatnya terdiri dari n angka yang didefinisikan
sebagai: Rn – N untuk N≠0 dan 0 untuk N=0.
29
Level Logika Digital
• Komplemen-R
Contoh :
1. K-10 untuk 4321010 adalah 105 - 43210 = 56790
2. K-10 untuk 0,09810 adalah 100 - 0,098 = 0,902.
3. K-10 untuk 765,4310 adalah 103 - 765,43 = 234,43
4. K-2 untuk 11001102 adalah 2107 - 11001102 =
100000002-11001102 = 00110102
5. K-2 untuk 0,10102 adalah 20-0,10102 = 0,01102
30
Level Logika Digital
Komplemen-10 diperoleh dengan cara :
1. Membiarkan semua 0 pada kedudukan yang terendah tidak berubah.
2. Mengurangi semua angka pada kedudukan yang lebih tinggi dengan 9.
Komplemen-2 diperoleh dengan cara :
1. Membiarkan semua 0 pada LSB dan 1 yang pertama dari kanan tidak berubah.
2. Mengubah semua 1 yang lain menjadi 0 dan 0 menjadi 1.
31
Level Logika Digital
• Komplemen-(R-1)
• Komplemen-(R-1) untuk N bilangan positif yang bagian bulatnya terdiri dari n angka serta bagianpecahannya m angka, didefinisikan sebagai : Rn-R-m -N.
• Contoh :
1. K-9 untuk 4321010 adalah 105-100-43210 = 99999-43210 = 56789
2. K-9 untuk 0,987610 adalah 100-10-4-0,9876 = 0,9999-0,9876 = 0,0123
3. K-1 untuk 0,01102 adalah 2100-210
-4-0,01102 = 0,11112-0,01102 = 0,10012
32
Level Logika Digital
• Sandi biner
• Sandi biner dibentuk dari n bit dengan 2n
kemungkinan cara menyusun bit yang berlainan
(2n kombinasi)
• Sandi binary code decimal (BCD)
• Sandi Excess (XS-3)
• Sandi 8, 4, -2, -1
• Sandi Gray
• Sandi alfanumerik.
33
Level Logika Digital
• Sandi Binary Coded Decimal (BCD)
• Sandi binary coded decimal (BCD) menggunakanprinsip 4 bit biner untuk merepresentasikan satudigit desimal.
• Kelebihan : konversinya lebih mudah dan seringdigunakan pada aplikasi antarmuka.
• Kekurangannya : penggunaan bit yang boroskarena hanya 4 bit saja yang digunakan untukmenunjukkan 16 nilai yang berbeda, tapi hanya 10 nilai saja yang digunakan.
34
Level Logika Digital
• Sandi Binary Coded Decimal (BCD)
• Jenis-jenis sandi BCD
• 8421 BCD
• 4221 BCD
• 5421 BCD
• Misalkan menggunakan 4221 BCD jika ingin
menampilkan angka 7 maka nilai binernya adalah
11012 atau 10112, namun jika menggunakan 8421
BCD maka nilai binernya 01112.
35
Level Logika Digital
• Sandi Binary Coded Decimal (BCD)
• Konversi nilai desimal ke BCD untuk 171,625
1 7 1 , 6 2 5
0001 0111 0001 , 0110 0010 0101
• Konversi BCD ke desimal untuk 00101001,01001000
0010 1001 , 0100 1000
2 9 , 4 8
36
Level Logika Digital
• Sandi Excess 3 (XS-3)
• Sandi Excess 3 (XS-3) adalah kelebihan tiga diperoleh darinilai binernya ditambah tiga.
Nilai yang dicari excess-3 : 2 3
Nilai yang ditambahkan +3 +3
Hasil dari excess-3 5 6
Nilai biner yang dibentuk =0101 =0110
Nilai dari sandi excess-3 untuk nilai desimal 23 adalah010101102.
37
Level Logika Digital
• Sandi 8, 4, -2, -1
Sandi 8, 4, -2, -1 mirip dengan sandi BCD, hanya
nilai yang digunakan terdapat bobot negatifnya.
Nilai 01102 untuk sandi 8, 4, -2, -1
01102 = 0x8 + 1x4 + 1x (-2) + 0x(-1)
= 4 – 2 = 2
38
Level Logika Digital
• Sandi Gray
• Sandi Gray hanya 1 bit saja yang berubah dalam
dua kode yang berurutan, setengah bagian atas
(kode desimal 5 - 9) merupakan bayangan cermin
dari setengah bagian bawah (kode desimal 0 - 4)
kecuali untuk bit ke-4 dari kanan (bersifat reflektif).
• Sandi ini sering diaplikasikan dalam industri kendali
dan implementasi urutan pada finite state machine
(FSM).
39
Level Logika Digital
• Tahapan konversi biner ke sandi Gray
1. Mulai dengan bit MSB biner. MSB sandi Gray sama denganMSB biner,
2. Bit kedua yang terdekat ke MSB pada sandi Gray diperolehdengan menambahkan MSB dan MSB kedua dari binerdengan mengabaikan bawaannya,
3. Bit ketiga MSB pada sandi Gray dengan menambahkan MSB kedua dan ketiga pada biner dengan mengabaikanbawaannya,
4. Proses ini berlanjut hingga didapatkan LSB untuk sandi Gray.
40
Level Logika Digital
• Tahapan konversi sandi Gray ke biner
1. Mulai dengan bit MSB. MSB biner sama dengan MSB untuk sandi Gray,
2. Bit kedua yang dekat ke MSB pada biner didapatdengan menambahkan MSB biner dan MSB kedua darisandi Gray dengan mengabaikan bawaannya,
3. Bit ketiga MSB pada biner dengan menambahkan MSB kedua biner dan ketiga pada sandi Gray denganmengabaikan bawaannya.
4. Proses ini berlanjut sampai didapatkan LSB biner.
41
Level Logika Digital
• Tahapan konversi
Desimal – Biner -
sandi Gray
Desimal Biner Sandi Gray
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
dan seterusnya dan seterusnya dan seterusnya
42
Level Logika Digital
• Sandi Alfanumerik
• Sandi alfanumerik digunakan untuk mengolah data
yang berupa huruf, tanda baca, dan karakter lain.
• American Standard Code for Informat Interchange
(ASCII)
• Extended Binary Codec Decimal Interchange Code
(EBCDIC).
43
Level Logika Digital
• Sandi ASCII (American Standard Code for
Informat Interchange) merupakan sandi 7 bit
• Jumlah sandi ASCII sebanyak 27 = 128 sandi
• Sandi ini sering diaplikasikan dalam dekoder
untuk membuat tampilan pada liquid crystal
display (LCD) atau tampilan yang lainnya.
44
Level Logika Digital
• Sandi ASCII
H E X 0 1 2 3 4 5 6 7
H
E
X
Posisi
Bit
7 0 0 0 0 1 1 1 1
6 0 0 1 1 0 0 1 1
5 0 1 0 1 0 1 0 1
4 3 2 1
0 0 0 0 0 NUL DLE SP 0 @ P p
1 0 0 0 1 SOH DC1 ! 1 A Q a q
2 0 0 1 0 STX DC2 “ 2 B R b r
3 0 0 1 1 ETX DC3 # 3 C S c s
4 0 1 0 0 EOT DC4 $ 4 D T d t
5 0 1 0 1 ENQ NAK % 5 E U e u
6 0 1 1 0 SVK SYN & 6 F V f v
7 0 1 1 1 BEL ETB ‘ 7 G W g w
8 1 0 0 0 BS CAN ( 8 H X h x
9 1 0 0 1 HT EM ) 9 I Y i y
A 1 0 1 0 LF SUB * : J Z j z
B 1 0 1 1 VT ESC + ; K [ k {
C 1 1 0 0 FF FS , < L l |
D 1 1 0 1 CR GS - = M ] m }
E 1 1 1 0 SO RS . > N . n ~
F 1 1 1 1 SI US / ? O _ o DEL
45
Level Logika Digital
• Sandi EBCDIC (Extended Binary Codec Decimal
Interchange Code) merupakan sandi 8 bit yang
diaplikasikan pada sistem komputer untuk saling
bertukar informasi.
46
Level Logika Digital
• Bit Paritas
• Word merupakan sekelompok bit yang diperlukan,
disimpan dan dipindahkan sebagai suatu unit.
• Kemunculan bit paritas :
• Terjadi error / ralat
• Penyidikan ralat yang terjadi melalui bit paritas pada
Word.
• Bit paritas adalah bit tambahan yang dicantumkan
pada suatu word sehinggga banyaknya angka 1 dalam
word menjadi genap / ganjil.
48
Level Logika Digital
• Logika Gerbang
• Tiga operasi logika dasar yaitu AND, OR dan NOT.
• Variabel logika/biner direpresentasikan A, B, C, ..., X, Y, Z.
F(var) = ekspresi
Var merupakan himpunan dari variabel biner
Ekspresi terdiri dari operator (+, -, *), variabel, konstanta (0,1).
F(a,b) = a’+ b * b
G(x,y,z) = x * (y+z’)
49
Level Logika Digital
• Logika Gerbang
Logika AND 1 bit mirip perkalian biner
0 . 0 = 0
0 . 1 = 0
1 . 0 = 0
1 . 1 = 1
A B X=A . B
0 0 0
0 1 0
1 0 0
1 1 1
50
Level Logika Digital
• Logika Gerbang
Logika OR 1 bit mirip penjumlahan biner
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1 (carry 1 (MSB), seharusnya 102)
A B X=A + B
0 0 0
0 1 1
1 0 1
1 1 1
51
Level Logika Digital
• Logika Gerbang
Logika NOT 1 bit merupakan negasi
NOT 1 = 0
NOT 0 = 1
A B X=A . B
0 0 0
0 1 0
1 0 0
1 1 1
52
Level Logika Digital
• Logika Gerbang
• F = A’ + B.C’ + A’.B’
F
A
C
B
A B C F G
0 0 0 1 1
0 0 1 1 1
0 1 0 1 1
0 1 1 1 1
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 0 0
53