teori, antarmuka dan aplikasiaqwamrosadi.staff.gunadarma.ac.id/downloads/files/57696/fpga+dan... ·...

54
FPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI Chapter 1 Prinsip-Prinsip Sistem Digital Aqwam Rosadi Kardian

Upload: vuongdien

Post on 02-Mar-2019

263 views

Category:

Documents


0 download

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

Perbandingan Elektronika Analog

dan Digital

Penghitungan sinyal analog dilakukan secara diskret

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.

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

• Sandi EBCDIC

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.

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

TERIMA KASIH