FPGA DAN VHDL TEORI, ANTARMUKA DAN - E

advertisement
FPGA DAN VHDL
TEORI, ANTARMUKA DAN APLIKASI
Chapter 1
Prinsip-Prinsip Sistem Digital
Ferry Wahyu Wibowo
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
Outlines
• Sistem digital
• Persamaan dan perbedaan elektronika analog dan
elektronika digital
• Sistem bilangan
• Gerbang logik
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
2
Sistem Digital
Cabang elektronika yang mengulas mengenai
kombinasi gerbang-gerbang dasar yang diwujudkan
sebagai suatu saklar tegangan yang berada dalam
ranah tingkat logik
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
3
I/O Rangkaian Digital
• Bentuk gelombang periodik
• Bentuk gelombang aperiodik
• Bentuk gelombang pulsa
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
4
Perbandingan Elektronika Analog
dan Digital
Elektronika
Analog
Klasik
Elektronika
Digital
Era
Komputer
PC
Chip
Mikrokomputer
Mobil
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
Vending
machine
5
Perbandingan Elektronika Analog
dan Digital
Suhu
Kuantitas Fisik
Kecepatan
Elektronika Analog
Tegangan/arus kontinu
yang proporsional
Tegangan/arus analog
berjangkah nilai
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
6
Perbandingan Elektronika Analog
dan Digital
Kuantitas Fisik
Deret bilangan
biner
Elektronika Digital
Penunjukan digital
bernilai diskret
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
7
Perbandingan Elektronika Analog
dan Digital
Definisi
Analog
Digital
Sinyal
Variabel kontinu
Langkah diskret
Sifat
Amplifikasi
Pensaklaran
Bentuk
Tegangan
Bilangan
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
9
Perbandingan Elektronika Analog
dan Digital
• Contoh sinyal analog adalah sinyal audio digital
Pemutar
Compact Disc
Suara kualitas
tinggi
Menyimpan
data suara
Magnetik
vibrasi
(analog)
Bebas derau
Representasi
bilangan
(digital)
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
10
Perbandingan Elektronika Analog
dan Digital
Proses analog
Proses Digital
•membandingkan
tahap suatu
besaran standar
dan berlangsung
secara kontinu
•perhitungan secara
diskret dan hanya
berlangsung dalam
interval-interval
tertentu
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
11
Perbandingan Elektronika Analog
dan Digital
Penghitungan sinyal analog dilakukan secara diskret
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
12
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
13
Level Logika Digital
• Sistem bilangan biner hanya mempunyai dua
digit, 0 dan 1. Masing-masing digit
didenotasikan oleh perbedaan tegangan yang
disebut level logika.
• Tegangan terendah (biasanya 0 volt) disebut
logika low atau logika 0 dan direpresentasikan
digit 0. Tegangan tertinggi (biasanya 5 V, namun
beberapa sistem mempunyai nilai tertentu seperti
1,8V, 2,5V, 3,3V, atau 3,7V) disebut logika high
atau logika 1 yang direpresentasikan digit 1.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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 sistem
pembobotan posisional, yaitu:
10102 = 1x23 + 0x22 + 1x21 + 0x20 = 1x8 + 0x4 + 1x2 + 0x1
= 1010
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
20
Level Logika Digital
• Bilangan Oktal
Contoh :
7348 konversi binernya menjadi 1110111002
hasil konversinya
1112 = 7
0112 = 3
1002 = 4
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
23
Level Logika Digital
• Bilangan Heksadesimal
• Konversi nilai heksadesimal ke dalam bentuk
biner lebih mudah karena hanya mengambil 4
digit saja dari bilangan biner kemudian
mengkonversinya menjadi desimal.
Contoh :
73416 konversi binernya menjadi 111001101002
hasil konversinya
01112 = 7
00112 = 3
01002 = 4
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
26
Level Logika Digital
• Konversi nilai heksadesimal menjadi nilai
desimal
•
1DC16
= 1x162 + Dx161 + Cx160
= 1x162 + 13x161 + 12x160
= 256 + 208 + 12
= 476
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
31
Level Logika Digital
• Komplemen-(R-1)
• Komplemen-(R-1) untuk N bilangan positif yang
bagian bulatnya terdiri dari n angka serta bagian
pecahannya m angka, didefinisikan sebagai : Rn-R-m N.
• Contoh :
1. K-9 untuk 4321010 adalah 105-100-43210 = 9999943210 = 56789
2. K-9 untuk 0,987610 adalah 100-10-4-0,9876 = 0,99990,9876 = 0,0123
3. K-1 untuk 0,01102 adalah 2100-210-4-0,01102 = 0,111120,01102 = 0,10012
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
33
Level Logika Digital
• Sandi Binary Coded Decimal (BCD)
• Sandi binary coded decimal (BCD) menggunakan
prinsip 4 bit biner untuk merepresentasikan satu
digit desimal.
• Kelebihan : konversinya lebih mudah dan sering
digunakan pada aplikasi antarmuka.
• Kekurangannya : penggunaan bit yang boros
karena hanya 4 bit saja yang digunakan untuk
menunjukkan 16 nilai yang berbeda, tapi hanya 10
nilai saja yang digunakan.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
35
Level Logika Digital
• Sandi Binary Coded Decimal (BCD)
• Konversi nilai desimal ke BCD untuk 171,625
1
7
1
,
0001 0111 0001 ,
6
2
5
0110 0010 0101
• Konversi BCD ke desimal untuk 00101001,01001000
0010 1001 ,
0100 1000
2
4
9
,
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
8
36
Level Logika Digital
• Sandi Excess 3 (XS-3)
• Sandi Excess 3 (XS-3) adalah kelebihan tiga diperoleh dari
nilai binernya ditambah tiga.
Nilai yang dicari excess-3 :
Nilai yang ditambahkan
Hasil dari excess-3
Nilai biner yang dibentuk
2
3
+3
+3
5
6
=0101 =0110
Nilai dari sandi excess-3 untuk nilai desimal 23 adalah
010101102.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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).
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
39
Level Logika Digital
• Tahapan konversi biner ke sandi Gray
1. Mulai dengan bit MSB biner. MSB sandi Gray sama dengan
MSB biner,
2. Bit kedua yang terdekat ke MSB pada sandi Gray diperoleh
dengan menambahkan MSB dan MSB kedua dari biner
dengan mengabaikan bawaannya,
3. Bit ketiga MSB pada sandi Gray dengan menambahkan MSB
kedua dan ketiga pada biner dengan mengabaikan
bawaannya,
4. Proses ini berlanjut hingga didapatkan LSB untuk sandi Gray.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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 didapat
dengan menambahkan MSB biner dan MSB kedua dari
sandi Gray dengan mengabaikan bawaannya,
3. Bit ketiga MSB pada biner dengan menambahkan MSB
kedua biner dan ketiga pada sandi Gray dengan
mengabaikan bawaannya.
4. Proses ini berlanjut sampai didapatkan LSB biner.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
41
Level Logika Digital
• Tahapan konversi
Desimal – Biner sandi Gray
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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).
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
44
Level Logika Digital
HEX
• Sandi ASCII
0
1
2
3
4
5
6
7
7
0
0
0
0
1
1
1
1
H
Posisi
6
0
0
1
1
0
0
1
1
E
Bit
5
0
1
0
1
0
1
0
1
X
4
3
2
1
0
0
0
0
0
NUL
DLE
SP
0
@
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
45
p
Level Logika Digital
• Sandi EBCDIC (Extended Binary Codec Decimal
Interchange Code) merupakan sandi 8 bit yang
diaplikasikan pada sistem komputer untuk saling
bertukar informasi.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
46
Level Logika Digital
• Sandi EBCDIC
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
47
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.
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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’)
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
52
Level Logika Digital
• Logika Gerbang
• F = A’ + B.C’ + A’.B’
C
F
A
B
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
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
TERIMA
KASIH
© Copyright 2014 oleh Ferry Wahyu Wibowo, Deepublish. All
Rights Reserved
Download