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 = 10011011 2
© 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