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