0% menganggap dokumen ini bermanfaat (0 suara)
352 tayangan176 halaman

Modul Praktikum Sistem Digital

Dokumen tersebut merupakan modul praktikum sistem digital yang berisi tujuan dan langkah-langkah praktikum untuk mempelajari gerbang logika dasar, FPGA, perangkat lunak Quartus 12.1, rangkaian kombinasional dan flip-flop beserta penjelasan mengenai peralatan dan perancangan rangkaian yang digunakan.

Diunggah oleh

M Reza Arrafi Nm
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
352 tayangan176 halaman

Modul Praktikum Sistem Digital

Dokumen tersebut merupakan modul praktikum sistem digital yang berisi tujuan dan langkah-langkah praktikum untuk mempelajari gerbang logika dasar, FPGA, perangkat lunak Quartus 12.1, rangkaian kombinasional dan flip-flop beserta penjelasan mengenai peralatan dan perancangan rangkaian yang digunakan.

Diunggah oleh

M Reza Arrafi Nm
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

2020

Modul Praktikum Sistem Digital

LABORATORIUM TEKNIK DIGITAL


RENEWABLE ENERGY AND
ADVANCED ELECTRICAL
ENGINEERING (REAEE)

KK CONTROL ELECTRONICS
AND INTELLIGENT SYSTEM
(CEIS)
Hanya dipergunakan di lingkungan Fakultas Teknik Elektro

FAKULTAS TEKNIK ELEKTRO

UNIVERSITAS TELKOM
DAFTAR PENYUSUN
• Dr. Achamad Rizal, S.T., M.T.
• Nadya Syahrita Maghfirah
• Intan Rahmatika
• Resi Yulia Putri
• Naufal Varian Perdana
• Bellatrix S. Rompon
• Rivaldo Subaja Gultom
• I Putu Yowan Nugraha Saputra
• Hafidh Al Asad

Diperbaiki Oleh

• Husneni Mukhtar, S.Si., M.T., Ph.D.


• Dien Rahmawati, S.Si., M.T.
LEMBAR REVISI
Yang bertanda tangan dibawah ini:
Nama : Muh. Zakiyullah R., S.T., M.T., Ph.D
NIP : 13860037
Jabatan : Ketua Kelompok Keahlian Control Electronics And Intelligent Systems (CEIS)
Dengan ini menyatakan pelaksanaan Revisi Modul Sistem Digital untuk Prodi Teknik
Elektro, telah dilaksanakan dengan penjelasan sebagai berikut:

No Keterangan Revisi Tanggal Revisi Terakhir

1. Penambahan Materi Sistem 3 Juli 2020


Bilangan
2. Revisi Langkah Praktikum 21 Juli 2020

3
VISI & MISI
FAKULTAS TEKNIK ELEKTRO
VISI:

Menjadi fakultas berstandar internasional yang berperan aktif dalam pengembangan


pendidikan, riset, dan entrepreneurship di bidang teknik elektro dan teknik fisika, berbasis
teknologi informasi.

MISI:

1. Menyelenggarakan sistem pendidikan yang berstandar internasional di bidang teknik


elektro dan teknik fisika berbasis teknologi informasi.

2. Menyelenggarakan, menyebarluaskan, dan memanfaatkan hasil-hasil riset berstandar


internasional di bidang teknik elektro dan fisika.

3. Menyelenggarakan program entrepreneurship berbasis teknologi bidang teknik elektro dan


teknik fisika di kalangan sivitas akademika untuk mendukung pembangunan ekonomi
nasional.

4. Mengembangkan jejaring dengan perguruan tinggi dan industri terkemuka dalam dan luar
negeri dalam rangka kerjasama pendidikan, riset, dan entrepreneurship.

5. Mengembangkan sumberdaya untuk mencapai keunggulan dalam pendidikan, riset, dan


entrepreneurship.

5
VISI & MISI
PRODI TEKNIK TELEKOMUNIKASI

VISI:

Menjadi Program Studi S1 Teknik Telekomunikasi berstandar internasional yang berperan aktif
dalam pengembangan ilmu dan teknologi telekomunikasi khususnya wireless communication.

MISI:
1. Menyelenggarakan pendidikan unggulan dan berstandar internasional.
2. Mengembangkan dan menyebarluaskan ilmu pengetahuan dan teknologi telekomunikasi
khususnya wireless communication yang diakui secara internasional.
3. Memanfaatkan ilmu pengetahuan dan teknologi telekomunikasi untuk peradaban bangsa dan
masyarakat internasional.

6
VISI & MISI
PRODI TEKNIK ELEKTRO

VISI:
Menjadi program studi berstandar internasional yang berperan aktif dalam pengembangan
pendidikan, riset, dan kewirausahaan serta menghasilkan sarjana di bidang Sistem Elektronika,
Sistem Kendali, atau Sistem Tertanam.

MISI:

1. Menyelenggarakan pendidikan berstandar internasional untuk menghasilkan lulusan yang


menguasai ilmu pengetahuan dan teknologi Sistem Elektronika, Sistem Kendali atau Sistem
Tertanam;

2. Mengembangkan dan menyebarluaskan ilmu pengetahuan dan teknologi Sistem Elektronika,


Sistem Kendali, dan dan Sistem Tertanam yang diakui secara internasional dengan melibatkan
mahasiswa secara aktif;

3. Memanfaatkan ilmu pengetahuan dan teknologi Sistem Elektronika, Sistem Kendali, dan
Sistem Tertanam untuk pengembangan kewirausahaan di kalangan sivitas akademika dalam
rangka mendukung pembangunan ekonomi nasional.

4. Mengembangkan jejaring dengan perguruan tinggi dan industri terkemuka dalam dan luar
negeri dalam rangka kerja sama pendidikan, riset, dan kewirausahaan dalam bidang Sistem
Elektronika, Sistem Kendali, atau Sistem Tertanam,

5. Mengembangkan sumber daya untuk mencapai keunggulan dalam pendidikan, riset, dan
kewirausahaan dalam bidang Sistem Elektronika, Sistem Kendali, atau Sistem Tertanam.

7
VISI & MISI
LABORATORIUM TEKNIK DIGITAL

VISI:

Menjadikan laboratorium yang berkualitas dan profesional dalam mendukung kualitas


akademik mahasiswa/i serta mengembangkan inovasi yang dapat bersaing di bidang teknik
digital.

MISI:

1. Menyelenggarakan praktikum bagi mahasiswa/i mata kuliah Aljabar Boolean sesuai


dengan ketentuan yang berlaku.
2. Melaksanakan pelatihan dan pengajaran akademik internal maupun eksternal di bidang
teknik digital.
3. Menyediakan sarana dan prasarana yang memadai dalam mendukung kegiatan
laboratorium.
4. Melakukan perbaikan dan peninjauan ulang dalam pelayanan maupun sarana dan
prasarana melalui aspirasi mahasiswa/i.

8
ATURAN LABORATORIUM FAKULTAS TEKNIK ELEKTRO
TELKOM UNIVERSITY
Setiap Mahasiswa Fakultas Teknik Elektro yang akan menggunakan Fasilitas
Laboratorium, WAJIB mematuhi Aturan sebagai berikut:

Dekan Fakultas Teknik Elektro

Bandung,.. Agustus 2020

Dr. Bambang Setia Nugroho, S.T., M.T.

9
DAFTAR ISI
JUDUL .................................................................................................................................1
DAFTAR PENYUSUN ....................................................................................................... 2

LEMBAR REVISI ............................................................................................................... 3

LEMBAR PERNYATAAN ................................................................................................. 4

VISI & MISI FAKULTAS TEKNIK ELEKTRO ................................................................ 5

VISI & MISI PRODI TEKNIK TELEKOMUNIKASI ...................................................... 6

VISI & MISI LABORATORIUM TEKNIK DIGITAL ..................................................... 6

ATURAN LABORATORIUM FAKULTAS TEKNIK ELEKTRO TELKOM


UNIVERSITY ..................................................................................................................... 9

DAFTAR GAMBAR ........................................................................................................ 13

MODUL 0 PENGENALAN GERBANG LOGIKA DASAR, FPGA DAN SOFTWARE


QUARTUS 12.1 ................................................................................................................. 22

A. Tujuan Praktikum .............................................................................................. 22

B. Peralatan Praktikum ........................................................................................... 22

C. Perancangan Rangkaian ..................................................................................... 22

D. Langkah Praktikum ............................................................................................ 32

MODUL I PENGENALAN RANGKAIAN KOMBINASIONAL


.................................... 47

10
A. Tujuan Praktikum .............................................................................................. 47

B. Peralatan Praktikum ........................................................................................... 47

C. Rangkaian Kombinasional ................................................................................. 47

D. Langkah Praktikum ............................................................................................ 57

MODUL II FLIP FLOP ...................................................................................................... 82

A. Tujuan Praktikum .............................................................................................. 82

B. Peralatan Praktikum ........................................................................................... 82

C. Rangkaian Kombinasional ................................................................................. 82

D. Langkah Praktikum ............................................................................................ 88

MODUL III RANGKAIAN SEKUENSIAL ................................................................ 113

A. Tujuan Praktikum ............................................................................................ 113

B. Peralatan Praktikum ......................................................................................... 113

C. Rangkaian Sekuensial ...................................................................................... 113

D. Langkah Praktikum ......................................................................................... 125

MODUL IV VHDL (VHSIC Hardware Description Language) ................................... 142

A. Tujuan Praktikum .............................................................................................. 142

B. Peralatan Praktikum .......................................................................................... 142

11
C. Pengertian VHDL .............................................................................................. 142

D. Component pada VHDL .................................................................................... 144

E. Process .............................................................................................................. 145

F. Langkah Praktikum ........................................................................................... 146

MODUL V IMPLEMENTASI FPGA ........................................................................ 159

A. Tujuan Praktikum .............................................................................................. 159

B. Peralatan Praktikum .......................................................................................... 159

C. Implementasi Rangkaian Kombinasional Pada FPGA ...................................... 159

D. Implementasi Rangkaian Sekuensial Pada FPGA ............................................. 160

E. Langkah Praktikum ........................................................................................... 160

Lampiran ........................................................................................................................... 175

12
DAFTAR GAMBAR

Gambar 1. FPGA ........................................................................................................................... 29


Gambar 2. Arsitektur FPGA .......................................................................................................... 30
Gambar 3. Interface quartus ........................................................................................................... 31
Gambar 4. Tampilan Awal Quartus................................................................................................ 32
Gambar 5. Cara menggunakan Software Quartus ........................................................................... 32
Gambar 6. Panel pengantar ............................................................................................................ 33
Gambar 7. New Project Wizard ..................................................................................................... 33
Gambar 8. Panel Add Files ............................................................................................................ 34
Gambar 9. Panel Family & Device Settings ................................................................................... 34
Gambar 10. EDA Tool Settings ...................................................................................................... 35
Gambar 11. EDA Tool Settings ...................................................................................................... 36
Gambar 12. Tampilan awal Quartus ............................................................................................... 36
Gambar 13. Tampilan Quartus ....................................................................................................... 37
Gambar 14. Rangkaian Skematik Gerbang Logika ......................................................................... 38
Gambar 15. Inisialisasi pin planner 1 ............................................................................................. 39
Gambar 16. Inisialisasi pin planner 2 ............................................................................................. 40
Gambar 17. Inisialisasi pin planner 3 ............................................................................................. 41
Gambar 18. Tampilan Awal Tinkercad .......................................................................................... 42
Gambar 19. Registrasi Akun .......................................................................................................... 42
Gambar 20. Tampilan Awal Tinkercad (2) ..................................................................................... 43
Gambar 21. Tampilan Awal Tinkercad (3) ..................................................................................... 43
Gambar 22. Tampilan Tinkercad.................................................................................................... 44
Gambar 23. Tampilan Tinkercad (2) .............................................................................................. 44
Gambar 24. Rangkaian AND Gate ................................................................................................. 45
Gambar 25. Rangkaian OR Gate .................................................................................................... 45
Gambar 26. Rangkaian NAND Gate .............................................................................................. 46

13
Gambar 27. Rangkaian XOR Gate ................................................................................................. 46
Gambar 28. Rangkaian Kombinasional .......................................................................................... 47
Gambar 29. N to 2n binary decoder ............................................................................................... 48
Gambar 30. Logic Circuit 2 to 4 Decoder ...................................................................................... 49
Gambar 31. Decoder 7 Segment .................................................................................................... 50
Gambar 32. Logic Circuit Decoder 7 Segment ............................................................................... 50
Gambar 33. Display Decoder 7 Segment........................................................................................ 50
Gambar 34. Rangkaian Logika 4-to-2 Binary Encoder ................................................................... 51
Gambar 35. Rangkaian Logika mux 4-to-1 .................................................................................... 52
Gambar 36. Rangkaian Demultiplexer ........................................................................................... 53
Gambar 37. Rangkaian Logika Half Adder .................................................................................... 54
Gambar 38. Rangkaian Logika Full Adder ..................................................................................... 55
Gambar 39. Rangkaian Logika Full Adder dengan Half Adder ...................................................... 55
Gambar 40. Rangkaian Logika Full Adder Parallel ........................................................................ 56
Gambar 41. Rangkaian Logika Half Subtractor .............................................................................. 56
Gambar 42. Rangkaian Logika Full Subtractor .............................................................................. 57
Gambar 43. Tampilan Awal Quartus.............................................................................................. 58
Gambar 44. Cara menggunakan Software Quartus ......................................................................... 59
Gambar 45. Panel pengantar .......................................................................................................... 59
Gambar 46. New Project Wizard (1) .............................................................................................. 60
Gambar 47. Panel Add Files .......................................................................................................... 61
Gambar 48. Panel Family & Device Settings ................................................................................. 61
Gambar 49. EDA Tool Settings ..................................................................................................... 62
Gambar 50. EDA Tool Settings ..................................................................................................... 63
Gambar 51. Tampilan Awal Quartus.............................................................................................. 64
Gambar 52. Tampilan Quartus ....................................................................................................... 64
Gambar 53. Tampilan Quartus ....................................................................................................... 65
Gambar 54. Rangkaian Skematik Decoder ..................................................................................... 66
Gambar 55. Inisialisasi pin planner 1 ............................................................................................. 67
Gambar 56. Inisialisasi pin planner 2 ............................................................................................. 67
14
Gambar 57. Inisialisasi pin planner 3 ............................................................................................. 68
Gambar 58. Membuat timing diagram............................................................................................ 70
Gambar 59. Membuat timing diagram 2 ......................................................................................... 71
Gambar 60. Membuat timing diagram 3 ......................................................................................... 71
Gambar 61. Membuat timing diagram 4 ......................................................................................... 72
Gambar 62. Membuat timing diagram 5 ......................................................................................... 72
Gambar 63. Membuat timing diagram 6 ......................................................................................... 73
Gambar 64. Membuat timing diagram 7 ......................................................................................... 74
Gambar 65. Membuat timing diagram 8 ......................................................................................... 74
Gambar 66. Membuat timing diagram 9 ......................................................................................... 75
Gambar 67. Membuat timing diagram 10 ....................................................................................... 75
Gambar 68. Membuat timing diagram 11 ....................................................................................... 76
Gambar 69. Membuat timing diagram 12 ....................................................................................... 76
Gambar 70. Membuat timing diagram 13 ....................................................................................... 76
Gambar 71. Membuat timing diagram 14 ....................................................................................... 77
Gambar 72. Membuat timing diagram 15 ....................................................................................... 77
Gambar 73. Membuat timing diagram 16 ....................................................................................... 78
Gambar 74. Membuat timing diagram 17 ....................................................................................... 78
Gambar 75. Membuat timing diagram 18 ....................................................................................... 79
Gambar 76. Tampilan Awal Logic.ly ............................................................................................. 80
Gambar 77. Tampilan Awal Logic.ly (2) ....................................................................................... 80
Gambar 78. Tampilan proyek Logic.ly........................................................................................... 81
Gambar 79. Tampilan proyek Logic.ly (2) ..................................................................................... 81
Gambar 80. Tampilan proyek Logic.ly (3) ..................................................................................... 82
Gambar 81. Tabel Kebenaran dan Rangkaian................................................................................. 84
Gambar 82. D-FF .......................................................................................................................... 85
Gambar 83. JK-FF ......................................................................................................................... 86
Gambar 84. T-FF ........................................................................................................................... 86
Gambar 85. RS-FF......................................................................................................................... 87
Gambar 86. Rangkaian Logika JK-FF dari T-FF ............................................................................ 88
15
Gambar 87. Jenis-jenis clock ......................................................................................................... 89
Gambar 88. Tampilan awal Quartus ............................................................................................... 90
Gambar 89. Cara menggunakan Software Quartus ......................................................................... 90
Gambar 90. Panel Pengantar .......................................................................................................... 91
Gambar 91. New Project Wizard (1) .............................................................................................. 91
Gambar 92. Panel Add Files .......................................................................................................... 92
Gambar 93. Panel Family & Device Settings ................................................................................. 93
Gambar 94. EDA Tool Settings ...................................................................................................... 94
Gambar 95. EDA Tool Settings 2 ................................................................................................... 94
Gambar 96. Tampilan awal Quartus ............................................................................................... 95
Gambar 97. Tampilan Quartus ....................................................................................................... 96
Gambar 98. Tampilan Quartus ....................................................................................................... 96
Gambar 99. Rangkaian Skematik D-FF.......................................................................................... 97
Gambar 100. Rangkaian Skematik JK-FF ...................................................................................... 97
Gambar 101. Inisialisasi pin planner 1 ........................................................................................... 98
Gambar 102. Inisialisasi pin planner 2 ........................................................................................... 98
Gambar 103. Inisialisasi pin planner 3 ......................................................................................... 100
Gambar 104. Membuat timing diagram ....................................................................................... 101
Gambar 105. Membuat timing diagram 2 .................................................................................... 102
Gambar 106. Membuat timing diagram 3 .................................................................................... 102
Gambar 107. Membuat timing diagram 4 .................................................................................... 103
Gambar 108. Membuat timing diagram 5 .................................................................................... 103
Gambar 109. Membuat timing diagram 6 .................................................................................... 104
Gambar 110. Membuat timing diagram 7 .................................................................................... 104
Gambar 111. Membuat timing diagram 8 .................................................................................... 105
Gambar 112. Membuat timing diagram 9 .................................................................................... 105
Gambar 113. Membuat timing diagram 10................................................................................... 106
Gambar 114. Membuat timing diagram 11................................................................................... 106
Gambar 115. Membuat timing diagram 12................................................................................... 107
Gambar 116. Membuat timing diagram 13................................................................................... 107
16
Gambar 117. Membuat timing diagram 14................................................................................... 108
Gambar 118. Membuat timing diagram 15................................................................................... 108
Gambar 119. Membuat timing diagram 16................................................................................... 109
Gambar 120. Membuat timing diagram 17................................................................................... 109
Gambar 121. Membuat timing diagram 18................................................................................... 110
Gambar 122. Tampilan Awal Tinkercad ...................................................................................... 110
Gambar 123. Tampilan Awal Tinkercad (2) ................................................................................. 111
Gambar 124. Tampilan Awal Tinkercad (3) ................................................................................. 111
Gambar 125. Tampilan Awal Tinkercad (4) ................................................................................. 112
Gambar 126. Tampilan Proyek Tinkercad .................................................................................... 112
Gambar 127. Tampilan Proyek Tinkercad (2) .............................................................................. 113
Gambar 128. Rangkaian D-FF ..................................................................................................... 113
Gambar 129. Rangkaian JK-FF.................................................................................................... 114
Gambar 130. Rangkaian Sekuensial ............................................................................................. 115
Gambar 131. Serial Counter dan Parallel Counter ........................................................................ 117
Gambar 132. Counter 2 bit ........................................................................................................... 117
Gambar 133. K-Map Counter 2 bit............................................................................................... 118
Gambar 134. Rangkaian Counter 2 bit 2. Shift Register .............................................................. 118
Gambar 135. SISO....................................................................................................................... 119
Gambar 136. SIPO....................................................................................................................... 119
Gambar 137. PISO....................................................................................................................... 120
Gambar 138.PIPO........................................................................................................................ 120
Gambar 139. Shift Register .......................................................................................................... 120
Gambar 140. Diagram State Mealey ............................................................................................ 121
Gambar 141. K-Map Mealey ....................................................................................................... 124
Gambar 142. Diagram State Moore.............................................................................................. 124
Gambar 143. K-Map Moore......................................................................................................... 127
Gambar 144. Tampilan Awal Quartus .......................................................................................... 128
Gambar 145. Cara menggunakan Software Quartus ..................................................................... 128
Gambar 146. Panel Pengantar ...................................................................................................... 129
17
Gambar 147. New Project Wizard (1) .......................................................................................... 129
Gambar 148. Panel Add Files ...................................................................................................... 130
Gambar 149. Panel Family & Device Settings ............................................................................. 131
Gambar 150. EDA Tool Settings ................................................................................................. 132
Gambar 151. EDA Tool Settings 2............................................................................................... 132
Gambar 152. Tampilan Awal Quartus .......................................................................................... 133
Gambar 153. Tampilan Quartus ................................................................................................... 133
Gambar 154. Tampilan Quartus ................................................................................................... 134
Gambar 155. Rangkaian Skematik SISO ...................................................................................... 134
Gambar 156. Rangkaian Skematik Counter Up menggunakan T-FF............................................. 135
Gambar 157. Rangkaian Skematik Counter Down menggunakan JK-FF ...................................... 135
Gambar 158. Inisialisasi pin planner 1 ......................................................................................... 136
Gambar 159. Inisialisasi pin planner 2 ......................................................................................... 139
Gambar 160. Tampilan Awal logic.ly .......................................................................................... 140
Gambar 161. Tampilan Awal logic.ly (2) ..................................................................................... 141
Gambar 162. Tampilan proyek logic.ly ........................................................................................ 141
Gambar 163. Rangkaian SISO ..................................................................................................... 142
Gambar 164. Rangkaian Counter up ............................................................................................ 142
Gambar 165. Simulasi rangkaian ................................................................................................. 143
Gambar 166. Susunan dasar program VHDL ............................................................................... 145
Gambar 167. Tampilan Awal Quartus .......................................................................................... 148
Gambar 168. Cara menggunakan Software Quartus ..................................................................... 149
Gambar 169. Panel pengantar ...................................................................................................... 149
Gambar 170. New Project Wizard ................................................................................................ 150
Gambar 171. Panel Add Files ...................................................................................................... 151
Gambar 172. Panel Family & Device Settings ............................................................................. 151
Gambar 173. EDA Tool Settings ................................................................................................. 152
Gambar 174. EDA Tool Settings .................................................................................................. 153
Gambar 175. Tampilan Awal Quartus .......................................................................................... 153
Gambar 176. Cara Membuat Lembar Kerja pada Software Quartus 2 .......................................... 154
18
Gambar 177. Cara Membuat Lembar Kerja pada Software Quartus 3........................................... 154
Gambar 178. Inisialisasi pin planner 1 ......................................................................................... 156
Gambar 179. Inisialisasi pin planner 2 ......................................................................................... 157
Gambar 180. Inisialisasi pin planner 3 ......................................................................................... 158
Gambar 181. Menampilkan RTL Viewer 1 .................................................................................. 159
Gambar 182. Menampilkan RTL Viewer 2 .................................................................................. 159
Gambar 183. Menampilkan RTL Viewer VHDL menggunakan Process ...................................... 160
Gambar 184. Menampilkan RTL Viewer VHDL menggunakan Component ................................ 160
Gambar 185. Tampilan Awal Quartus .......................................................................................... 163
Gambar 186. Cara menggunakan Software Quartus ..................................................................... 163
Gambar 187. Panel pengantar ...................................................................................................... 164
Gambar 188. New Project Wizard (1) .......................................................................................... 164
Gambar 189. Panel Add Files ...................................................................................................... 165
Gambar 190. Panel Family & Device Settings ............................................................................. 166
Gambar 191. EDA Tool Settings ................................................................................................. 167
Gambar 192. EDA Tool Settings ................................................................................................. 167
Gambar 193. Tampilan Awal Quartus .......................................................................................... 168
Gambar 194. Cara Membuat Lembar Kerja pada Software Quartus ............................................. 168
Gambar 195. Cara Membuat Lembar Kerja pada Software Quartus ............................................. 169
Gambar 196. Inisialisasi pin planner 1 ......................................................................................... 171
Gambar 197. Inisialisasi pin planner 2 ......................................................................................... 172
Gambar 198. Inisialisasi pin planner 3 ......................................................................................... 174
Gambar 199. Menampilkan RTL Viewer ..................................................................................... 175
Gambar 200. Menampilkan RTL Viewer 2 .................................................................................. 176
Gambar 201. Menampilkan RTL Viewer VHDL koding .............................................................. 176

19
DAFTAR TABEL

Tabel 1. Hukum Aljabar Boolean .......................................................................................... 21


Tabel 2. Minterm dengan 3 variabel....................................................................................... 26
Tabel 3. Tabel K-Map ........................................................................................................... 27
Tabel 4. Gerbang Logika Dasar ............................................................................................. 28
Tabel 5. kebenaran 2 to 4 binary decoder dengan enable active-high dan output active-high
.............................................................................................................................................. 49
Tabel 6. Tabel Kebenaran 4-to-2 Binary Encoder .................................................................. 51
Tabel 7. Tabel Kebenaran 4-to-2 Binary Encoder with Priority .............................................. 51
Tabel 8. Tabel Kebenaran Half Adder.................................................................................... 54
Tabel 9. Tabel Kebenaran Full Adder .................................................................................... 54
Tabel 10. Tabel Kebenaran Half Subtractor ........................................................................... 56
Tabel 11. Tabel Kebenaran Full Subtractor ............................................................................ 57
Tabel 12. Mode Operasi Flip – Flop ...................................................................................... 84
Tabel 13. Tabel State Counter 2 bit ...................................................................................... 118
Tabel 14. Tabel State Mealey a ............................................................................................ 122
Tabel 15. Tabel State Mealey b............................................................................................ 122
Tabel 16. Tabel Transisi D-FF ............................................................................................. 122
Tabel 17. Tabel Eksitasi Mealey .......................................................................................... 123
Tabel 18. Tabel State Moore a ............................................................................................. 125
Tabel 19. Tabel State Moore b ............................................................................................. 125
Tabel 20. Tabel Transisi ...................................................................................................... 126
Tabel 21. Tabel Eksitasi Moore ........................................................................................... 126
Tabel 22. Clock pada FPGA ................................................................................................ 162

20
MODUL 0
PENGENALAN GERBANG LOGIKA DASAR, FPGA DAN SOFTWARE
QUARTUS 12.1

A. Tujuan Praktikum
1. Memahami definisi dan arsitektur dari FPGA.
2. Mengenal dan memahami karakteristik gerbang logika dasar dan jenis - jenisnya.
3. Memahami metode perancangan rangkaian logika yang dibentuk dari gerbang
logika dasar.
4. Memperkenalkan penggunaan software quartus 12.1.
5. Memperkenalkan penggunaan Schematic dalam perancangan rangkaian digital.

B. Peralatan Praktikum
1. Personal Computer

2. Software Quartus 12.1

3. FPGA Cyclone II

C. Perancangan Rangkaian
1. Sistem Bilangan
• Bilangan Biner
Bilangan Biner: Bilangan berbasis dua, angka penyusun bilangan: 0
& 1. Contoh konversi bilangan desimal ke biner: 1410 = X2 , X= ?

21
• Bilangan Oktal dan Hexadesimal

Bilangan Oktal: Bilangan berbasis delapan, angka penyusun bilangan: 0, 1, 2,


3, 4, 5, 6 & 7.

Bilangan Hexadesimal: Bilangan berbasis 16, angka penyusun bilangan: 0, 1,


2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E & F.

Konversi bilangan biner ke oktal (hexa) :

Untuk ke oktal (hexa), kelompokkan bilangan biner tiga-tiga (empat-


empat), mulai dari kanan. Jika banyak bit bukan kelipatan 3 (4), pasangkan
sejumlah angka ‘0’ di kiri bilangan agar menjadi kelipatan 3 (4).

• Binary Code Decimal (BCD)

Pada sistim BCD dasar, satu angka desimal (0 – 9) diekivalenkan dengan


sistem biner berbobot 8-4-2-1. Digunakan agar konversi bilangan Desimal
Biner tetap dapat mudah dimengerti manusia. Pola bit yang lain (1010, 1011,
1100, 1101, 1110, 1111) tidak terpakai.

Contoh: 863.9810 = 1000 0110 0011.1001 1000BCD

(8) (6) (3) (9) (8)

• Bilangan Biner Bertanda

Di dalam matematika, bilangan negatif biasanya dinyatakan dengan cara

22
menambahkan tanda − di depan bilangan tersebut. Namun di dalam komputer,
bilangan hanya dapat dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol
yang lainnya, sehingga diperlukan suatu cara untuk mengkodekan tanda minus.
Beberapa metode yang dapat digunakan untuk menyatakan bilangan bertanda di
sistem bilangan biner adalah: sign-and-magnitude, komplemen satu (ones'
complement), dan komplemen dua (two's complement).

a. Sign and Magnitude

Untuk menyatakan tanda bilangan (positif atau negatif), dapat digunakan salah
satu bit yang ada untuk menyatakan tanda tersebut. Bit tersebut (biasanya bit
yang pertama atau most significant bit) diset bernilai 0 untuk bilangan positif,
dan 1 untuk bilangan negatif. Bit-bit yang lain menyatakan magnitude atau
nilai mutlak dari bilangan.

Contoh (sistem 4 bit) :

+010 = 00002 +410 = 01002

-010 = 10002 -410 = 11002

b. Komplemen Satu

Sistem yang dikenal dengan nama komplemen satu dapat digunakan untuk
merepresentasikan bilangan negatif. Bentuk komplemen satu untuk bilangan
biner negatif diperoleh dengan cara membalik seluruh bit dari bilangan biner
positifnya. Bit yang bernilai 0 dibalik menjadi 1, dan bit yang bernilai 1
dibalik menjadi 0.

Contoh :

+710 = 0000 01112

-710 = 1111 10002

c. Komplemen Dua

Di dalam metode komplemen dua, bilangan negatif direpresentasikan dengan


cara menambahkan satu pada bentuk komplemen satu dari suatu bilangan
positif. Di dalam metode komplemen dua, hanya ada satu bilangan nol
23
(00000000).

Misalnya, bentuk komplemen satu dari 00101011 (43) adalah 11010100


(−43). Bentuk komplemen duanya adalah: 11010100 + 1 = 11010101.

2. Penyederhanaan
Penyederhanaan dilakukan untuk penghematan ruang kerja dan biaya.
Penyederhanaan dapat dilakukan dengan banyak metode, diantaranya KMap dan
Aljabar Boolean.
• Aljabar Boolean
Penyederhanaan dengan aljabar Boolean dilakukan berdasarkan hukum Aljabar
Boolean.
Berikut adalah Hukum Aljabar Boolean:
Tabel 1. Hukum Aljabar Boolean
AND Law OR Law

x.0=0 x+0=x

x.1=x x+1=1

x.x=x x+x=x

And Law OR Law NOT Law

x.0 = 0 x+0=x 0 = 1̅̅

x.1=x x+1=1 1 = 0̅̅

x.x=x x+x=x X=x

x.x=0 x+x=1

Commutative Associative Law Absorptive


Law Law

24
x .y . z = y .z . x (x . y) . z = x . (y . z) = x x . (x + y)
= z .x . y .y . z =x
x+y+z=y+z (x + y) + z = x + (y + z) x + (x . y)
+ x = z + y +x =x+y+z =x

Distributive Law De Morgan Law

x . y + x . z = x . (y + z) (x + y) ‘ = x . y

(x + y) . (x + z) = x + (y . z) (x . y) ‘ = x + y

Pada dasarnya ada dua bentuk standar fungsi Boolean, yaitu:

1. Sum of Product (SOP) / Sum of Minterm


2. Product of Sum (POS) / Product of Maxterm

Pada modul ini, kita hanya akan mempelajari tentang Sum of Product / Sum of
Minterm.
• Sum of Product / Minterm

Minterm adalah suatu kondisi dimana semua egative dari suatu fungsi yang di AND,
serta egative tersebut bisa dalam kondisi komplemen atau tidak.
Contoh :
F(a,b,c,d) adalah sebuah fungsi dengan 4 variabel (a,b,c,d) a.b’.c’.d adalah salah
satu dari 24 minterm fungsi F.

Ciri-ciridari SOP adalah:

1. Dalam setiap suku operasi variabelnya adalah perkalian (operasi AND).

2. Setiap suku (term) dijumlahkan (operasi OR).

3. Setiap suku mengandung semua egative.

Contoh:

25
f(x,y) = xy + x’y g(x,y,z) =
x’yz + xyz + x’y’z’ Cara
membaca:
• Variabel tanpa komplemen dianggap bernilai 1.

• Variabel dengan komplemen dibaca 0.

Tabel 2. Minterm dengan 3 variabel


Row Number 𝑥1 𝑥2 𝑥3 Minterm

0 0 0 0 m0 = 𝑥̅1𝑥̅ 2𝑥̅ 3
1 0 0 1 m1 = 𝑥̅1 𝑥̅2 𝑥3
2 0 1 0 m2 = 𝑥̅1 𝑥2 𝑥̅3
3 0 1 1 m3 = 𝑥̅1 𝑥2 𝑥3
4 1 0 0 m4 = 𝑥1 𝑥̅2 𝑥̅3
5 1 0 1 m5 = 𝑥1 𝑥̅2 𝑥3
6 1 1 0 m6 = 𝑥1 𝑥2 𝑥̅3
7 1 1 1
m7 = 𝑥1 𝑥2 𝑥3
• Tabel Kebenaran

Suatu Tabel Kebenaran dapat dinyatakan sebagai suatu fungsi Boolean


sebuah tabel kebenaran dapat dinyatakan dalam dua bentuk fungsi boolean yang
ekivalen. Fungsi-fungsi persamaan yang diperoleh dari suatu tabel kebenaran disebut
sebagai canonical form.
• K-map

Karnaugh Map (disingkat K-map) adalah sebuah peralatan grafis yang


digunakan untuk menyederhanakan persamaan logika atau mengkonversikan sebuah
Tabel Kebenaran menjadi sebuah rangkaian Logika. Blok diagram sebuah K-map
seperti gambar di bawah ini. AB dan C adalah egative input, output-output berupa
minterm-minterm bernilai 1 dimasukan pada sel K-map. Jumlah sel K-map adalah 2
jumlah variabel input.

26
Tabel 3. Tabel K-Map

F = ……………………

Contoh SOP pada K – Map disamping:

m = A̅ B̅ C m2 = A̅ BC̅

F= B+ ABC

• Rangkaian Pengganti

Sistem ini dilakukan karena adanya keterbatasan bahan. Tidak semua IC


tersedia di pasaran. Jadi kita dapat memanfaatkan gerbang-gerbang logika yang ada
untuk membentuk gerbang yang lainnya. Sebagai contoh gerbang NOR dapat dibuat
dari gerbang OR yang outputnya diberi gerbang NOT.

• Gerbang Logika Dasar

Setiap gerbang logika dasar memiliki table kebenaran tersendiri yang


memberikan karakteristik tertentu. Pada dasarnya hanya terdapat tiga gerbang logika
dasar, yaitu gerbang AND, OR, dan NOT. Dari ketiga gerbang tersebutlah
dikembangkan menjadi gerbang NAND, NOR, XOR, dan XAND.

27
Tabel 4. Gerbang Logika Dasar

2. Field Programmable Gate Array (FPGA)


Field Programmable Gate Array (FPGA) Merupakan suatu Integrated Circuit (IC)
yang dibuat agar dapat diprogram sesuai dengan kebutuhan pengguna. FPGA
umumnya diprogram dengan menggunakan bahasa pemrograman HDL (Hardware
Domain Language). Didalam FPGA terdapat komponen yang disebut dengan Logic
Block. Block ini dapat diprogram sesuai dengan kemauan user. Secara umum, FPGA
Memiliki kelebihan sebagai berikut:
1. Dikonfigurasi oleh end user
2. Kemampuan desain sistem yang dapat beroperasi pada frekuensi yang semakin
tinggi
3. Kemampuan meningkatkan integrasi sistem

4. Tidak memerlukan proses pabrikasi

5. Kemampuan software yang digunakan untuk perancangan

28
6. Kemampuan untuk menambahkan desain baru pada sistem di FPGA yang sama
pada saat yang berbeda
7. Dapat diprogram kembali bila terjadi bugs

Perkembangan FPGA pada saat ini berlangsung dengan cepat dan dewasa ini
terdapat bermacam-macam keluarga FPGA dengan kebutuhan perancangan dan
perangkat perancangan yang berbeda. Untuk mempermudah pengguna, FPGA tidak
hanya dapat diprogram dengan menggunakan HDL. Design Schematic
memungkinkan FPGA dapat diprogram oleh pengguna yang kesulitan menggunakan
HDL.

Gambar 1. FPGA

FPGA pada dasarnya memiliki 3 komponen dasar dan utama yaitu input/output
block (IOB), configurable logic block (CLB), dan interkoneksi.
1. Configurable Logic Block (CLB)
CLB merupakan bagian FPGA yang dapat diprogram. Terdapat beberapa
komponen yang berada di dalam FPGA. Diantaranya RAM, Flip-Flop, dan
Multiplekser
2. Input/Output Block (IOB)

IOB berfungsi sebagai keluar masuknya sinyal input dan sinyal output. IOB akan
menyalurkan sinyal kedalam switch dan mengeluarkanya kembali.
29
3. Interkoneksi

Interkoneksi merupakan saluran yang menghubungkan CLB dan IOB. Hubungan


antar komponen FPGA ini disebut lines. Terdapat beberapa jenis koneksi yang
digunakan pada FPGA yaitu short lines, routing, dan long lines. Routing
merupakan Interkoneksi (Jalur) yang melewati sebuah CLB sebelum menuju
matriks switch. Sedangkan long lines merupakan saluran yang menghubungkan 2
CLB yang berjauhan dengan menghilangkan matriks switch.

Gambar 2. Arsitektur FPGA

3. Software Quartus
a. Pengertian Software Quartus
Quartus merupakan sebuah software yang digunakan untuk membuat
simulasi rangkaian logika secara digital dengan memanfaatkan bahasa
deskripsi yaitu VHDL ataupun Verilog. Sebenarnya tidak hanya Quartus yang
dapat digunakan untuk membuat simulasi rangkaian logika digital, namun ada
beberapa software lain yang dapat digunakan, contohnya adalah Xilinx,
Multisim, Model-Sim dan sebagainya.
Quartus sendiri merupakan software yang dibuat oleh sebuah perusahaan
yang bernama Altera (dapat diakses www.altera.com untuk infomasi lebih
30
mendalam). Pada praktikum kali ini, software Quartus 2 versi 12.1 yang akan
digunakan. Melalui Software Quartus ini, nantinya hasil pengkodean dapat
diload ke dalam FPGA agar dapat dilihat hasilnya secara fisik atau real.
b. Interface Software Quartus
Berikut adalah interface dari quartus versi 12.1

Gambar 3. Interface Quartus

D. Langkah Praktikum
Membuat File dan Konfigurasi Awal
1. Buatlah dahulu folder (klik kanan - new folder) pada desktop dengan format
“KELOMPOK (nomor kelompok)”.
2. Setelah itu, klik icon Quartus pada desktop.

3. Lalu akan muncul tampilan awal dari Software Quartus seperti gambar dibawah.

31
Gambar 4. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera pada tampilan
awal Quartus.

Gambar 5. Cara Menggunakan Software Quartus

32
5. Setelah muncul panel pengantar (Introduction), klik (Next >).

.
Gambar 6. Panel Pengantar

6. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

Gambar 7. New Project Wizard

Kolom pertama adalah direktori untuk menyimpan file project yang akan
dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik tombol
pada kolom pertama (ada di sebelah kanan kolom pertama) kemudian carilah folder

33
yang telah dibuat. Klik tombol open. Kolom berikutnya diperuntukkan untuk nama
project, ketikkan nama project yang diinginkan. Namun perlu diingat bahwa
KARAKTER AWAL DARI NAMA PROJECT TIDAK BOLEH ANGKA. Pastikan
kolom ketiga (top level entity) terisi nama yang sama dengan kolom kedua. Lalu jika
semua sudah sesuai, kilk (Next >).
7. Lewati panel seperti di gambar dengan langsung menekan tombol (Next >).

Gambar 8. Panel Add Files

8. Kemudian pilih “Cyclone II” pada sub menu “device family”,


9. Lalu pada sub menu “target device” pilih “Specific device selected in ‘available
device’ list”

Gambar 9. Panel Family & Device Settings 34


10. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu klik (Next >).
11. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation terdapat kolom
“Tool Name’. Cari dan pilih “ModelSim-Altera” pada “Tool Name” tersebut dan
pastikan pada kolom Format(s) sudah tertera VHDL. Lalu klik (Next >).

Gambar 10. EDA Tool Settings

12. Terakhir, klik finish

35
Gambar 11. EDA Tool Settings

II. Pembuatan Project

1. Selanjutnya, dimenu file, pilih New untuk mulai membuat lembar kerja. Tombol
new juga umumnya tertera pada toolbar, seperti gambar di bawah ini.

Gambar 12. Tampilan awal Quartus

36
2. Untuk mulai memilih komponen, buka jendela Symbol Tools dengan mengklik
tombol dengan ikon gerbang AND.

Gambar 13. Tampilan Quartus

3. Pada jendela Symbol Tools, double klik direktori libraries yang ada, lalu pilih
primitives. Mulailah memilih gerbang logika, komponen rangkaian, dan pin I/O
pada folder yang tersedia. Folder logic untuk gerbang logika, folder pin untuk pin
I/O, dan folder storage untuk flip flop.

4. Setelah memilih komponen, susun komponen-komponen tersebut di lembar kerja


yang disediakan agar menjadi rangkaian seperti gambar berikut.

• AND

• OR

37
• NAND

• XOR

Gambar 14. Rangkaian Skematik Gerbang Logika

5. Untuk penyambungan komponen, pilih Orthogonal Node Tool yang berfungsi


untuk penggambaran kabel.
6. Beri label pada port I/O dengan mengklik dua kali pada port I/O yang akan diubah
namanya kemudian ubah nama dari pin sesuai dengan gambar sebelumnya.

7. Lakukan kompilasi terhadap program dengan memilih ProcessingStart


Compilation.

38
III. Inisialisasi Pin Planner
1. Buka File qpf dari skematik yang anda buat, melalui Open Recent Project atau
FileOpen

2. klik kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner, atau dapat juga
melalui tab Assignments – Pin Planner. (CTRL+SHIFT + N)

Gambar 15. Inisialisasi pin planner 1

3. Maka akan ada tampilan seperti dibawah ini

39
Gambar 16. Inisialisasi pin planner 2

4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input dan
Output nya. Berikut Contoh Pin yang di gunakan:

INPUT:

40
OUTPUT:

Gambar 17. Inisialisasi pin planner 3

5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner, kemudian

lakukan running dengan menekan menu Start Compilation ) atau


dapat juga melalui tab Processing – Start Compilation (CTRL + L)

IV. Upload Ke FPGA

1. Siapkan board FPGA Anda, pasang kabel catu daya dan kabel programmer pada
tempatnya masing-masing dan nyalakan board tersebut.

2. Untuk konfigurasi, klik ToolsProgrammer. Klik pada tombol Hardware setup.


Klik pada Add Hardware, untuk UP2 klik 2 kali pada ByteBlasterII dan klik
Close. Sedangkan untuk DE 1 klik 2 kali pada USB-Blaster (Jika tidak ada minta
bantuan asisten untuk menginstall).

3. Kemudian pada bagian Mode pilih JTAG.

41
4. Jika file yang telah dibuat tidak terlihat pada jendela utama programmer, klik Add
File dan carilah file yang telah dibuat kemudian klik Open.

5. Sorot nama file, lakukan checklist pada kolom “Program/Configure”, kemudian


klik tombol Start untuk memprogram FPGA.

V. Praktikum Daring

1. Pada praktikum secara daring untuk Modul 0 ini menggunakan aplikasi


Tinkercad. Buka website tinkercad.com dengan browser pada PC.

Gambar 18. Tampilan Awal Tinkercad

2. Klik Sign In pada pojok kanan atas, lalu masuklah menggunakan akun yang
kalian inginkan.

Gambar 19. Registrasi Akun


42
3. Kemudian kalian akan masuk ke tampilan awal dari Tinkercad. Lalu klik
menu Circuits pada sebelah kiri.

Gambar 20. Tampilan Awal Tinkercad (2)

4. Lalu klik New Circuit untuk membuat Circuit baru.

Gambar 21. Tampilan Awal Tinkercad (3)

43
5. Gantilah nama dari Circuit pada pojok kiri atas menjadi
Modul<space>Nomor Modul<space>Nama Rangkaian.

Gambar 22. Tampilan Tinkercad

6. Ubah menu pilihan Components di sebelah kanan menjadi All. Lalu carilah
komponen yang kalian perlukan.

Gambar 23. Tampilan Tinkercad (2)

44
7. Setelah memilih komponen yang diperlukan, susunlah komponen-komponen
menjadi rangkaian seperti berikut.

• AND Gate

Gambar 24. Rangkaian AND Gate

• OR Gate

Gambar 25. Rangkaian OR Gate

45
• NAND Gate

Gambar 26. Rangkaian NAND Gate

• XOR Gate

Gambar 27. Rangkaian XOR Gate

8. Kemudian lakukanlah simulasi pada rangkaian dengan cara klik Start


Simulation pada pojok kanan atas. Cobalah beberapa kombinasi input pada
switch yang digunakan.

46
MODUL I
PENGENALAN RANGKAIAN KOMBINASIONAL

A. Tujuan Praktikum
1. Mengenal dan memahami karakteristik gerbang logika dasar.
2. Mengenal dan memahami prinsip kerja decoder, encoder, adder, dan multiplexer.
3. Mengetahui dan dapat mengaplikasikan konsep perancangan rangkaian decoder.

B. Peralatan Praktikum
1. Personal Computer
2. Software Quartus 12.1
3. FPGA Cyclone II

C. Rangkaian Kombinasional
Rangkaian Kombinasional adalah rangkaian yang terdiri dari
rangkain gerbang logika yang kondisi keluarannya(output) hanya tergantung
oleh kondisi masukan (input) saat itu dan tidak tergantung pada kondisi
output sebelumnya. Rangkaian kombinasional melakukan operasi yang dapat
ditentukan secara logika dengan memakai sebuah fungsi boolean.
Rangkaian kombinasional tidak memiliki memori sebagai media
penyimpanan, seperti: decoder, priority encoder, multiplexer, adder,
subtractor, multiplier, divider dan lain sebagainya.

Gambar 28. Rangkaian Kombinasional

47
Kegunaan Rangkaian Kombinasional

Untuk beberapa keperluan pembuatan peralatan elektronik yang membutuhkan


rangkaian kombinasional dengan sifat tertentu. Misalnya multiplexer yang dapat memilih
bit select untuk memilih input yang akan diteruskan ke output, sehingga multiplexer
banyak digunakan pada perangkat telekomunikasi.

1. Decoder
Rangkaian decoder merupakan rangkaian kombinasional yang berfungsi untuk
mendekode informasi (data) yang terkode. Salah satu contoh decoder adalah binary
decoder. Karakteristik Binary Decoder :
▪ Mempunyai N masukan data dan 2Nkeluaran mis: binary decoder 3 masukan
mempunyai 8 jalur keluaran
▪ Hanya satu keluaran yang diaktifkan dalam satu waktu (one-hot encoded) o Assert
: ke nilai ‘1’ (logika positif/output active-high) atau ‘0’ (logika negatif/output
active-low) o Tiap keluaran diaktifkan oleh satu kombinasi nilai masukan

▪ Masukan ENABLE (En) digunakan untuk mematikan keluaran Asumsi keluaran


active-high, enable active-high:
o Jika En=0, tidak ada keluaran decoder yang di-assert (diaktifkan) o Jika En=1,

satu keluaran di-assert (diaktifkan) sesuai kombinasi masukan

Gambar 29. N to 2n binary decoder

48
Tabel 5. kebenaran 2 to 4 binary decoder dengan enable active-high dan output active-high

Berdasarkan table diatas dapat kita buat persamaan, dimana :

Y0 = En w1’ w0’

Y1 = En w1’ w0

Y2 = En w1 w0’

Y3 = En w1 w0

Dari persamaan di atas dapat dibuat rangkaian kombinasional :

Gambar 30. Logic Circuit 2 to 4 Decoder

Aplikasi decoder Pada 7 Segment

Contoh lain dari decoder adalah BCD-to-7-Segment decoder. Dekoder


tersebut dapat merubah BCD digit pada input menjadi informasi (7 bit) yang
sesuai untuk mengaktifkan digit- oriented display atau 7-segment. BCD-to-
7Segment dekoder dapat diimplementasikan menjadi driver seven segment.
49
Gambar 31. Decoder 7 Segment

Gambar 32. Logic Circuit Decoder 7 Segment

Gambar 33. Display Decoder 7 Segment

50
2. Encoder

Encoder memiliki fungsi kebalikan dari decoder, yaitu merubah informasi


ke kode tertentu. Salah satu contohnya Binary Encoder yang merubah satu input
yang aktif menjadi kombinasi output unik untuk setiap input. Binary Encoder hanya
bias melayani 1 input aktif..
Tabel 6. Tabel Kebenaran 4-to-2 Binary Encoder

Gambar 34. Rangkaian Logika 4-to-2 Binary Encoder

Bagaimana jika terjadi 2 atau lebih input aktif? Binary Encoder akan
menghasilkan code yang tidak sesuai, karena kondisi input seperti itu bernilai
don’t care. Seperti saat w2 dan w1 aktif bersamaan, output y1 y0 akan bernilai
“11”. Untuk mengakali kemungkinan 2 atau lebih input aktif, kita gunakan
prioritas. Input yang akan di-encoding adalah input aktif dengan prioritas paling
tinggi.
Tabel 7. Tabel Kebenaran 4-to-2 Binary Encoder with Priority

51
Fungsi Output

Dengan prioritas input, saat w2 dan w1 aktif bersamaan, w2 akan diencoding


menjadi y1 y0 bernilai “10”. Z adalah sinyal yang menunjukkan bahwa minimal 1
input aktif.
3. Multiplexer

Multiplexer adalah suatu rangkaian kombinasional yang fungsinya untuk


memilih salah satu dari 2n bit sinyal input untuk diteruskan ke satu jalur output.
Multiplexer disebut juga sebagai data selector, karena memiliki bit select
sebanyak n yang berfungsi untuk memilih data dan sebagai pengontrol input.
Multiplexer ini banyak digunakan dalam bidang telekomunikasi.
Contoh implementasi multiplexer:

Multiplexer 4-to-1

Gambar 35. Rangkaian Logika Mux 4-to-1

Simbol mux 4-to-1 Tabel kebenaran

4. Demultiplexer
Sebuah Demultiplexer adalah rangkaian logika yang menerima satu input data
dan mendistribusikan input tersebut ke beberapa output yang tersedia. Seleksi datadata
input dilakukan oleh selector line, yang juga merupakan input dari demultiplexer
tersebut. Contoh implementasi demultiplexer:

Demultiplexer 1-to-4

52
Simbol Demux 4-to-1 Tabel kebenaran

Gambar 36. Rangkaian Demultiplexer

5. Half Adder dan Full Adder


Kedua rangkaian ini merupakan contoh rangkaian aritmatika dasar yang
sama- sama berfungsi menjumlahkan bilangan. Half Adder merupakan
rangkaian yang menjumlahkan 2 bilangan yang masing-masing selebar 1 bit dan
menghasilkan 1 bilangan selebar 2 bit, sedangkan Full Adder menjumlahkan 3
bilangan selebar 1 bit dan tetap menghasilkan 1 bilangan selebar 2 bit. Seperti
penjumlahan bilangan satuan yang menghasilkan bilangan puluhan.

53
a. Half Adder

Tabel 8. Tabel Kebenaran Half Adder

Gambar 37. Rangkaian Logika Half Adder

Dari tabel kebenaran diatas, dapat disederhanakan bahwa Sum dan Carry
berasal dari dua persamaan berikut:
S=A B C=A.B

b. Full Adder
Pada Full Adder, rangkaian dapat bekerja dengan menampung carry
sebelumnya sehingga inputnya ada 3, yaitu A, B, dan Cin.
Tabel 9. Tabel Kebenaran Full Adder
INPUT OUTPUT

A B Cin Cout S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

54
Gambar 38. Rangkaian Logika Full Adder

S=A B Cin
Cout = ((A B) .Cin) + (A . B) = (A . B) + (B .Cin) + (Cin . A)
Jika diperhatikan, operasi pada full adder dapat direpresentasikan dengan
menggunakan half adder sesuai dengan gambar berikut :

Gambar 39. Rangkaian Logika Full Adder dengan Half Adder

Sedangkan untuk operasi penjumlahan bilangan dengan lebar data lebih


dari satu bit dibutuhkan sebuah rangkaian Full Adder Parallel. Full Adder
Parallel tersusun atas rangkaian Full Adder sebanyak n yang menjumlahkan 2
bilangan selebar n bit dan menghasilkan 1 bilangan selebar n+1 bit. Seperti
penjumlahan bilangan ratusan yang menghasilkan bilangan ribuan. Rangkaian
ini mempunyai prinsip menggunakan cout pada perhitungan bit sebelumnya
menjadi cin.

55
Gambar 40. Rangkaian Logika Full Adder Parallel

6. Half Subtractordan Full Subtractor


Kedua rangkaian ini melakukan operasi pengurangan biner. Half
subtractor untuk pengurangan 2 bilangan selebar 1 bit menghasilkan sebuah
bilangan selebar 2 bit, sedangkan full subtractor untuk pengurangan 3
bilangan selebar 1 bit menghasilkan sebuah bilangan selebar 2 bit. Dalam
halini, Full Subtractor dapat terdiridari 2 Half Subtractor.
a. Half Subtractor

Tabel 10. Tabel Kebenaran Half Subtractor


INPUT OUTPUT

Gambar 41. Rangkaian Logika Half Subtractor

D =A B Bout = A . B = A – B

56
b. Full Subtractor

Tabel 11. Tabel Kebenaran Full Subtractor


INPUT OUTPUT

A B Bin Bout D

0 0 0 0 0

0 0 1 1 1

0 1 0 1 1

0 1 1 1 0

1 0 0 0 1

1 0 1 0 0

1 1 0 0 0

1 1 1 1 1

Gambar 42. Rangkaian Logika Full Subtractor

D=A B Bin C = ((A B)’ . Bin) + (A . B)


Seperti halnya pada full adder 1 bit yang terdiri dari 2 buah half adder, pada rangkaian full
subtractor 1 bit juga terdiri dari 2 buah half subtractor.

D. Langkah Praktikum

I. Membuat File dan Konfigurasi Awal

1. Buatlah dahulu folder pada desktop dengan format “KELOMPOK_(nomor


kelompok)”.
2. Setelah itu, klik icon Quartus pada desktop.
57
3. Lalu akan muncul tampilan awal dari Software Quartus seperti gambar
dibawah.

Gambar 43. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera pada
tampilan awal Quartus.

58
Gambar 44. Cara menggunakan Software Quartus

5. Setelah muncul panel pengantar (Introduction), klik (Next >).

Gambar 45. Panel pengantar

59
6. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

Gambar 46. New Project Wizard (1)

Kolom pertama adalah direktori untuk menyimpan file project yang


akan dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik
tombol pada kolom pertama (ada di sebelah kanan kolom pertama)
kemudian carilah folder yang telah dibuat. Klik tombol open. Kolom
berikutnya diperuntukkan untuk nama project, ketikkan nama project yang
diinginkan. Namun perlu diingat bahwa KARAKTER AWAL DARI NAMA
PROJECT TIDAK BOLEH ANGKA. Pastikan kolom ketiga (top level entity)
terisi nama yang sama dengan kolom kedua. Lalu jika semua sudah sesuai, kilk
(Next >).

7. Lewati panel seperti di gambar dengan langsung menekan tombol (Next


>).

60
Gambar 47. Panel Add Files

8. Kemudian, pilih “Cyclone II” pada sub menu “device family”,


9. Lalu pada sub menu “target device” pilih “Specific device selected in
‘available device’ list”

Gambar 48. Panel Family & Device Settings

61
10. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu klik (Next
>).
11. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation terdapat
kolom “Tool Name’. Cari dan pilih “ModelSim-Altera” pada “Tool Name”
tersebut dan pastikan pada kolom Format(s) sudah tertera VHDL. Lalu klik
(Next >).

Gambar 49. EDA Tool Settings

62
12. Terakhir, klik finish.

Gambar 50. EDA Tool Settings

I. Pembuatan Project

1. Selanjutnya, dimenu file, pilih New untuk mulai membuat lembar


kerja. Tombol new juga umumnya tertera pada toolbar, seperti
gambar di bawah ini.

63
Gambar 51. Tampilan Awal Quartus

Pada jendela “New”, pilih Block Diagram/Schematic File, lalu klik


OK.

Gambar 52. Tampilan Quartus

2. Untuk mulai memilih komponen, buka jendela Symbol Tools dengan


mengklik tombol dengan ikon gerbang AND.

64
Gambar 53. Tampilan Quartus

Pada jendela Symbol Tools, double klik direktori libraries yang ada, lalu pilih primitives.
Mulailah memilih gerbang logika, komponen rangkaian, dan pin I/O pada folder yang
tersedia.
Folder logic untuk gerbang logika, folder pin untuk pin I/O, dan folder
storage untuk flip flop.

4. Setelah memilih komponen, susun komponen-komponen tersebut di


lembar kerja yang disediakan agar menjadi rangkaian seperti gambar
berikut.

65
Gambar 54. Rangkaian Skematik Decoder

5. Untuk penyambungan komponen, pilih Orthogonal Node Tool yang


berfungsi untuk penggambaran kabel.
6. Beri label pada port I/O dengan mengklik dua kali pada port I/O yang
akan diubah namanya kemudian ubah nama dari pin sesuai dengan
gambar sebelumnya.
7. Lakukan kompilasi terhadap program dengan memilih
ProcessingStart Compilation.

II. Inisialisasi Pin Planner


1. Buka File.qpf dari skematik yang anda buat, melalui Open Recent Project
atau FileOpen
2. klik kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner, atau
dapat juga melalui tab Assignments – Pin Planner. (CTRL+SHIFT +
N)

66
.

Gambar 55. Inisialisasi Pin Planner 1

3. Maka akan ada tampilan seperti dibawah ini

Gambar 56. Inisialisasi Pin Planner 2

67
4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input
dan Output nya. Berikut Contoh Pin yang di gunakan:

IINPUT:

OUTPUT:

Gambar 57. Inisialisasi Pin Planner 3

68
5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner,
kemudian

lakukan running dengan menekan menu Start Compilation ) atau


dapat juga melalui tab Processing – Start Compilation (CTRL+L)

69
III. Upload ke FPGA
1. Siapkan board FPGA Anda, pasang kabel catu daya dan kabel programmer
pada tempatnya masing-masing dan nyalakan board tersebut.
2. Untuk konfigurasi, klik ToolsProgrammer. Klik pada tombol
Hardware setup. Klik pada Add Hardware, untuk UP2 klik 2 kali pada
ByteBlasterII dan klik Close. Sedangkan untuk DE 1 klik 2 kali pada
USB-Blaster (Jika tidak ada minta bantuan asisten untuk
menginstall).
3. Kemudian pada bagian Mode pilih JTAG.
4. Jika file yang telah dibuat tidak terlihat pada jendela utama programmer,
klik Add File dan carilah file yang telah dibuat kemudian klik Open.
5. Sorot nama file, lakukan checklist pada kolom “Program/Configure”,
kemudian klik tombol Start untuk memprogram FP.

. Membuat Timing Diagram


1. Pastikan file skematik yang telah dibuat telah di run sebelumnya dengan
mengklik tombol Run Compilation dan tidak terdapat error.
2. Setelah itu klik file > new.

Gambar 58. Membuat Timing Diagram

70
3. Lalu, akan muncul jendela seperti gambar di bawah ini. Selanjutnya,
pilih University
Program WMF

Gambar 59. Membuat Timing Diagram 2

4. Setelah itu, akan muncul jendela sebagai berikut

Gambar 60. Membuat Timing Diagram 3

71
5. Pada Menu Edit, pilih Insert > Insert Node or Bus...

Gambar 61. Membuat Timing Diagram 4

6. Setelah jendela seperti dibawah ini terbuka, pilih Node Finder...

Gambar 62. Membuat Timing Diagram 5

72
7. Pada jendela Node Finder, klik pada List.

Gambar 63. Membuat Timing Diagram 6

73
8. Selanjutnya akan otomatis ditampilkan Enable, Input dan Output dari rangkaian.
Setelah

itu klik tombol


.

Gambar 64. Membuat Timing Diagram 7

Sehingga data akan tersalin ke tabel Selected Nodes seperti gambar berikut.
Lalu klik OK.

Gambar 65. Membuat Timing Diagram 8

74
9. Selanjutnya, ketika muncul kotak dialog seperti gambar dibawah, klik OK.

Gambar 66. Membuat Timing Diagram 9

10. Lalu, akan muncul diagram sebagai berikut.

Gambar 67. Membuat Timing Diagram 10

75
11. Untuk mengeset diagram, pilih menu Edit > Set End Time.

Gambar 68. Membuat Timing Diagram 11

12. Kemudian akan muncul kotak dialog sebagai berikut. Ubah End Time menjadi

200 dengan satuan ns. Lalu, klik OK.

Gambar 69. Membuat Timing Diagram 12

13. Mulai membuat diagram dengan mengklik pada Enable dengan mengganti nilai
nya menjadi high cara mengklik lalu klik pada tombol

Gambar 70. Membuat Timing Diagram 13

76
14. Tampilan akhir pada bagian Enable akan menjadi seperti gambar berikut.

Gambar 71. Membuat Timing Diagram 14

15. Pada Input lainnya, ubah nilai dengan cara mengubah periode pada clock. Hal

ini dilakukan dengan klik input lalu klik tombol .

Gambar 72. Membuat Timing Diagram 15

77
16. Setelah muncul kotak dialog seperti di bawah ini, ubah Period menjadi sesuai

yang Anda inginkan, pada tutorial ini, akan diisi 20 dengan satuan ns. Akhiri
dengan mengklik OK.

Gambar 73. Membuat Timing Diagram 16

17. Ulangi langkah 14 dan 15 pada input dari rangkaian skematik lainnya. Ubah

periode sesuai yang Anda inginkan. Sehingga, rancangan timing diagram akan
menjadi seperti ini.

Gambar 74. Membuat Timing Diagram 17

78
18. Lakukan running timing diagram untuk mendapatkan timing diagram yang

diinginkan dengan mengklik tombol .

Gambar 75. Membuat Timing Diagram 18

IV. Praktikum Daring

1. Pada praktikum secara daring untuk Modul 1 ini menggunakan aplikasi Logic.ly.
Buka website logic.ly dengan browser pada PC.

79
Gambar 76. Tampilan Awal Logic.ly

2. Klik Try Online pada pojok kanan atas.

Gambar 77. Tampilan Awal Logic.ly (2)

3. Kemudian kalian akan masuk ke tampilan proyek dari logic.ly. Carilah komponen-
komponen yang diperlukan pada menu di sebelah kiri.

80
Gambar 78. Tampilan proyek Logic.ly

4. Setelah memilih komponen yang diperlukan, susunlah komponen-komponen menjadi


rangkaian seperti berikut.

Gambar 79. Tampilan proyek Logic.ly (2)

81
5. Kemudian lakukanlah simulasi dengan cara klik Simulate lalu klik Resume
Simulation. Gunakan input Toggle Switch dengan beberapa kombinasi.

Gambar 80. Tampilan proyek Logic.ly (3)

82
MODUL II
FLIP-FLOP

A. Tujuan praktikum

1. Memahami karakteristik dan fungsi dari rangkaian flip-flop.


2. Memahami perubahan keluaran terhadap masukan pada rangkaian flipflop.

B. Peralatan Praktikum

1. Personal Computer
2. Software Quartus 12.1
3. FPGA Cyclone II

C. Flip-Flop

Flip-flop adalah rangkaian logika yang digunakan untuk menyimpan


satu bit secara semi permanen sampai ada suatu perintah untuk menghapus
atau mengganti isi dari bit yang disimpan. Flip-flop bekerja berdasarkan
control dari sinyal clock. Prinsip dasar dari flip-flop adalah suatu
komponen elektronika dasar seperti transistor, resistor dan dioda yang di
rangkai menjadi suatu gerbang logika yang dapat bekerja secara
sekuensial.
Flip-flop merupakan bentuk dasar dari rangkaian logika sekuensial.
Pada dasarnya flipflop berasal dari basic cell NAND atau basic cell NOR,
yang sering disebut RS-flip- flop (SET RESET flip-flop). Berikut gambar
rangkaian, dan table kebenaran dari RS flip-flop:

83
Gambar 81. Tabel Kebenaran dan Rangkaian

Logika RS Flip FLop


Tidak seperti gerbang logika, flip-flop mempunyai dua keluaran
komplementer. Keluaran tersebut diberi lambang Q dan
𝑄̅.Keluaran Q merupakan keluaran normal dan paling sering
digunakan pada kondisi normal dan 𝑄̅ merupakan komplemen dari Q.

Tabel 12. Mode Operasi Flip – Flop


Qt → Qt+1 Mode
Operasi

0 → 0 Reset
1 → 0

0 → 1 Set
1 → 1

0 → 1 Toggle
1 → 0

0 → 0 Hold
1 → 1

84
1. Macam-macam Flip – Flop

a. Data Flip – Flop (D – FF)

D-FF adalah sebuah flip-flop yang memiliki satu data input


dimana operasidari flip-flop ini dikontrol oleh sebuah sinyal clock,
sehingga saat clock aktif terus tanpa mengalami perubahan logic level
maka noise logic dapat terkunci dan diteruskan ke output next state.
D-FF disusun dengan menambahkan gerbang NOT antara masukkan
S dan R.

Gambar 82. D-FF

Ket: Qt adalah present state, atau kondisi flip-flop sebelum clock aktif.
Qt+1 adalah next state, atau kondisi flip-flop setelah clock aktif.

b. Universal Flip – Flop (JK – FF)

JK-FF memliki dua input yang mempengaruhi keluaran. Operasi


flipflop JK sama dengan operasi flip-flop SR, kecuali pada masukkan, JK
diperbolehkan kondisi J=K=1. Bila kondisi seperti itu maka keadaan Q akan
berubah tanpa memperhatikan keadaan Q sebelum ada detak. Sifat master
slave terlihat pada output table operasi yang selalu sama dengan masternya
(J ).

85
Gambar 83. JK-FF

c. Toggle Flip – Flop (T – FF)

T-FF mempunyai sifat “Toggle”, artinya saat input T = 1 maka output =


complement output sebelum clock aktif. karena output selalu berlawanan
dengan kondisi awalnya, sehingga saat Clock aktif terus dan input T=1
maka output akanberosilasi.

Tabel Operasi Tabel Transisi


Qt

Hold

Gambar 84. T-FF

86
d. Set Reset Flip Flop (RS – FF)

RS Flip-flop yaitu rangkaian Flip-Flop yang mempunyai 2 output. Nilai


output yang keluar selalu berlawanan satu dengan yang lain. FlipFlop ini
memilik 2 input yaitu R (Reset) dan S (Set).

Blok Diagram

Clock

Tabel Operasi Tabel Eksitasi

Gambar 85. RS-FF

2. Merancang Flip – Flop dari Flip – Flop Lain

Suatu Flip–Flop dengan karakteristik yang tidak umum, tetap dapat


diimplementasikan dalam rangkaian Flip-flop tersebut dibuat
dengan memanfaatkan flip-flop yang ada.
Langkah-langkah perancangan Flip-flop dari flip-flop lain adalah sebagai
berikut:
Misal: Merancang T-FF dari JK-FF
a. Buatlah tabel operasi T – FF

87
T Q

0 Hold

1 Toggle

b. Definisikan mode operasi pada T – FF


T Q

0 Hold

1 Toggle

c. Bandingkan dengan tabel operasi JK – FF dengan mode operasi yang sama

Dari tabel persamaan mode operasi antara T – FF dan JK – FF di atas,


didapatkan persamaan sebagai berikut:
T=JT=K

d. Buatlah rangkaian penggantinya

Gambar 86. Rangkaian Logika JK-FF dari T-FF

3. Clock

Clock adalah sinyal pewaktu yang akan memicu rangkaian untuk aktif.
Kondisi clock yang memicu rangkaian dibagi 4, yaitu:
a. Rising Edge Trigger (RET)

88
Clock akan aktif saat terjadi transisi dari bit 0 ke bit 1 (0 → 1)

b. Falling Edge Trigger (FET)

Clock akan aktif saat terjadi transisi dari bit 1 ke bit 0 (1 → 0).

c. Positive Pulse Trigger (PPT)


Kondisiaktif clock dibaca saat rising (0 → 1), tapi ditulis saat falling (1
→ 0).

d. Negative Pulse Trigger (NPT)

Kondisiaktif clock dibaca saat falling (1 → 0), tapi ditulis saat rising (0
→ 1).

Gambar 87. Jenis-Jenis Clock

D. Langkah Praktikum

1. Membuat File dan Konfigurasi Awal

1. Buatlah dahulu folder pada desktop dengan format


“KELOMPOK_(nomor kelompok)”.

89
2. Setelah itu, klik icon Quartus pada desktop.
3. Lalu akan muncul tampilan awal dari Software Quartus seperti
gambar dibawah.

Gambar 88. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera
pada tampilan awal Quartus.

Gambar 89. Cara Menggunakan Software Quartus

90
Setelah muncul panel pengantar (Introduction), klik (Next >).

Gambar 90. Panel Pengantar

5. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

Gambar 91. New Project Wizard (1)

91
Kolom pertama adalah direktori untuk menyimpan file project yang
akan dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik
tombol pada kolom pertama (ada di sebelah kanan kolom pertama)
kemudian carilah folder yang telah dibuat. Klik tombol open. Kolom
berikutnya diperuntukkan untuk nama project, ketikkan nama project yang
diinginkan. Namun perlu diingat bahwa KARAKTER AWAL DARI
NAMA PROJECT TIDAK BOLEH ANGKA. Pastikan kolom ketiga (top
level entity) terisi nama yang sama dengan kolom kedua.
Lalu jika semua sudah sesuai, kilk (Next >).
6. Lewati panel seperti di gambar dengan langsung menekan tombol
(Next >).

Gambar 92. Panel Add Files

7. Kemudian, pilih “Cyclone II” pada sub menu “device family”,


8. Lalu pada sub menu “target device” pilih “Specific device selected in

‘available device’ list”

92
Gambar 93. Panel Family & Device Settings

9. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu


klik (Next >).
10. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation
terdapat kolom “Tool Name’. Cari dan pilih “ModelSim-Altera” pada
“Tool Name” tersebut dan pastikan pada kolom Format(s) sudah
tertera VHDL. Lalu klik (Next >).

93
Gambar 94. EDA Tool Settings

11. Terakhir, klik finish.

Gambar 95. EDA Tool Settings 2

94
II. Pembuatan Project

1. Pada menu file, pilih New untuk mulai membuat lembar kerja. Tombol new juga
umumnya tertera pada toolbar, seperti gambar di bawah ini.

Gambar 96. Tampilan Awal Quartus

2. Pada jendela “New”, pilih Block Diagram/Schematic File, lalu klik OK.

95
Gambar 97. Tampilan Quartus

3. Untuk mulai memilih komponen, buka jendela Symbol Tools dengan mengklik tombol
dengan ikon gerbang AND.

Gambar 98. Tampilan Quartus

4. Pada jendela Symbol Tools, double klik direktori libraries yang ada, lalu pilih primitives.
Mulailah memilih gerbang logika, komponen rangkaian, dan pin I/O pada folder yang
tersedia. Folder logic untuk gerbang logika, folder pin untuk pin I/O, dan folder storage
untuk flip flop.

96
5. Setelah memilih komponen, susun komponen-komponen tersebut di lembar kerja yang
disediakan agar menjadi rangkaian seperti gambar berikut .
• D-FF

Gambar 99. Rangkaian Skematik D-FF

• JK-FF

Gambar 100. Rangkaian Skematik JK-FF

6. Untuk penyambungan komponen, pilih Orthogonal Node Tool yang berfungsi untuk
penggambaran kabel.
7. Beri label pada port I/O dengan mengklik dua kali pada port I/O yang akan diubah namanya
kemudian ubah nama dari pin sesuai dengan gambar sebelumnya.

8. Lakukan kompilasi terhadap program dengan memilih ProcessingStart Compilation.

97
III. Inisialisasi Pin Planner
1. Buka File .qpf dari skematik yang anda buat, melalui Open Recent Project atau FileOpen
2. Klik kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner, atau dapat juga melalui tab
Assignments – Pin Planner. (CTRL+SHIFT +
N)

Gambar 101. Inisialisasi Pin Planner 1

3. Maka akan ada tampilan seperti dibawah ini

Gambar 102. Inisialisasi Pin Planner 2


98
4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input dan Output nya.
Berikut Contoh Pin yang di gunakan:

INPUT:

OUTPUT:

99
Gambar 103. Inisialisasi Pin Planner 3

5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner, kemudian lakukan running
dengan

menekan menu Start Compilation ) atau dapat juga melalui tab Processing – Start
Compilation (CTRL + L)

IV. Upload ke FPGA

1. Siapkan board FPGA Anda, pasang kabel catu daya dan kabel programmer
pada tempatnya masing-masing dan nyalakan board tersebut.

2. Untuk konfigurasi, klik Tools→Programmer. Klik pada tombol Hardware


setup. Kemudian klik pada Add Hardware, untuk UP2 klik 2 kali pada
ByteBlasterII dan klik Close.

Sedangkan untuk DE 1 klik 2 kali pada USBBlaster (Jika tidak ada minta bantuan
asisten untuk menginstall).

3. Kemudian pada halaman utama programer, bagian Mode pilih JTAG.


100
4. Jika file yang telah dibuat tidak terlihat pada jendela utama programmer, klik
Add File dan carilah file pada output_files yang telah dibuat kemudian klik
Open. (.sof untuk sementara, dan .pof untuk memprogram secara permanen)

5. Sorot nama file, lakukan checklist pada kolom “Program/Configure”,


kemudian klik tombol Start untuk memprogram FPGA.
V. Membuat Timing Diagram
1. Pastikan file skematik yang telah dibuat telah dirun sebelumnya dengan mengklik tombol Run
Compilation dan tidak terdapat error.
2. Setelah itu klik file > new.

Gambar 104. Membuat Timing Diagram

101
3. Lalu, akan muncul jendela seperti gambar di bawah ini. Selanjutnya, pilih University Program WMF.

Gambar 105. Membuat Timing Diagram 2

4. Setelah itu, akan muncul jendela sebagai berikut

Gambar 106. Membuat Timing Diagram 3

102
5. Pada Menu Edit, pilih Insert > Insert Node or Bus...

Gambar 107. Membuat Timing Diagram 4

6. Setelah jendela seperti dibawah ini terbuka, pilih Node Finder...

Gambar 108. Membuat Timing Diagram 5

103
7. Pada jendela Node Finder, klik pada List.

Gambar 109. Membuat Timing Diagram 6

8. Selanjutnya akan otomatis ditampilkan Enable, Input dan Output


dari rangkaian. Setelah itu klik tombol .

Gambar 110. Membuat Timing Diagram 7

104
Sehingga data akan tersalin ke tabel Selected Nodes seperti gambar berikut. Lalu klik OK.

Gambar 111. Membuat Timing Diagram 8

9. Selanjutnya, ketika muncul kotak dialog seperti gambar dibawah, klik OK.

Gambar 112. Membuat Timing Diagram 9

105
10. Lalu, akan muncul diagram sebagai berikut.

Gambar 113. Membuat Timing Diagram 10

Untuk mengeset diagram, pilih menu Edit > Set End Time.

Gambar 114. Membuat Timing Diagram 11

12. Kemudian akan muncul kotak dialog sebagai berikut. Ubah End Time menjadi 200
dengan satuan ns. Lalu, klik OK.

106
Gambar 115. Membuat Timing Diagram 12

13. Mulai membuat diagram dengan mengklik pada Enable dengan mengganti nilai nya
menjadi high cara mengklik lalu klik pada tombol

Gambar 116. Membuat Timing Diagram 13

107
14. Tampilan akhir pada bagian Enable akan menjadi seperti gambar berikut.

Gambar 117. Membuat timing diagram 14

15. Pada Input lainnya, ubah nilai dengan cara mengubah periode pada clock.
Hal ini dilakukan dengan klik input lalu klik tombol .

Gambar 118. Membuat Timing Diagram 15

108
16. Setelah muncul kotak dialog seperti di bawah ini, ubah Period menjadi sesuai yang
Anda inginkan, pada tutorial ini, akan diisi 20 dengan satuan ns. Akhiri dengan
mengklik OK.

Gambar 119. Membuat Timing Diagram 16

17. Ulangi langkah 14 dan 15 pada input dari rangkaian skematik lainnya. Ubah periode
sesuai yang Anda inginkan. Sehingga, rancangan timing diagram akan menjadi seperti
ini.

Gambar 120. Membuat Timing Diagram 17

18. Lakukan running timing diagram untuk mendapatkan timing diagram yang diinginkan

dengan mengklik tombol .

109
Gambar 121. Membuat Timing Diagram 18

Setelah proses running selesai, timing diagram akan otomatis ditampilkan.

VI. Praktikum Daring


1. Pada praktikum secara daring untuk Modul II ini menggunakan aplikasi
Tinkercad. Buka website tinkercad.com dengan browser pada PC.

Gambar 122. Tampilan Awal Tinkercad

110
2. Klik Sign In pada pojok kanan atas, lalu masuklah menggunakan akun yang kalian
inginkan.

Gambar 123. Tampilan Awal Tinkercad (2)

3. Kemudian kalian akan masuk ke tampilan awal dari Tinkercad. Lalu klik menu
Circuits pada sebelah kiri.

Gambar 124. Tampilan Awal Tinkercad (3)

111
4. Lalu klik New Circuit untuk membuat Circuit baru.

Gambar 125. Tampilan Awal Tinkercad (4)

5. Gantilah nama dari Circuit pada pojok kiri atas menjadi Modul<space>Nomor
Modul<space>Nama Rangkaian.

Gambar 126. Tampilan Proyek Tinkercad

112
6. Ubah menu pilihan Components di sebelah kanan menjadi All. Lalu carilah komponen
yang kalian perlukan.

Gambar 127. Tampilan Proyek Tinkercad (2)

7. Setelah memilih komponen yang diperlukan, susunlah komponen-komponen menjadi


rangkaian seperti berikut.

• D-Flip FLop

Gambar 128. Rangkaian D-FF

113
• JK-Flip Flop

Gambar 129. Rangkaian JK-FF

8. Kemudian lakukanlah simulasi pada rangkaian dengan cara klik Start Simulation pada
pojok kanan atas. Cobalah beberapa kombinasi input pada switch yang digunakan.

114
MODUL III
RANGKAIAN SEKUENSIAL

A. Tujuan Praktikum

1. Mengetahui definisi, fungsi, dan pengaplikasian rangkaian sekuensial.

2. Mempelajari karakteristik komponen Counter, Shift Register, dan Detektor


Sekuensial

3. Merancang rangkaian logika jenis Counter dan Shift Register.

4. Mempelajari perancangan Counter dan Detektor Sekuensial.

B. Peralatan Praktikum

1. Personal Computer

2. Software Quartus II version 12.1

3. FPGA Cylone II

C. Rangkaian Sekuensial

Rangkaian sekuensial adalah rangkaian logika yang outputnya


dipengaruhi oleh input saat ini dan output sebelumnya. Rangkaian
sekuensial dapat dikatakan pula sebagai rangkaian logika yang bekerja
berdasarkan urutan waktu.

Gambar 130. Rangkaian Sekuensial

115
Seperti dilihat dari gambar rangkaian di atas, ciri dari sistem rangkaian logika
sekuensial adalah adanya jalur umpan balik (feedback). Adapun contoh dari
rangkaian sekuensial yaitu flip flop, counter, register, dan detector sekuensial.

1. Counter

Counter disebut juga pencacah atau penghitung adalah rangkaian logika


sekuensial yang digunakan untuk menghitung jumlah pulsa yang diberikan pada
bagian masukan. Counter digunakan untuk berbagai operasi aritmatika,
pembagi frekuensi, pengitung jarak (odometer), penghitung kecepatan
(speedometer), dan sebagaianya.

Counter tersusun atas sederetan flipflop yang dapat menghitung pulsa yang
masuk sesuai rancangan. Counter digital mempunyai karakteristik penting yaitu
sebagai berikut:

a. Jumlah hitungan maksimum (modulus N-counter).

b. Menghitung ke-atas atau ke-bawah (up atau down - counter).

c. Operasi asinkron atau sinkron.

d. Bergerak bebas atau berhenti sendiri.

Dilihat dari arah cacahan rangkaian pencacah dibedakan atas pencacah naik
(Up Counter) dan pencacah turun (Down Counter). Pencacah naik melakukan
cacahan dari kecil ke arah besar, kemudian kembali ke cacahan awal secara
otomatis. Sedangkan pada pencacah turun, pencacahan dilakukan dari besar ke
arah kecil hingga cacahan terakhir kemudian kembali ke cacahan awal.

Secara global terdapat 2 jenis Counter yang ada, yaitu Asinkronous Counter
dan Sinkronous Counter. Perbedaan kedua jenis counter tersebut adalah pada
jenis pemicunya. Pada Asinkronous Counter atau disebut juga Ripple Through
Counter atau Counter Serial (Serial Counter) minimal ada salah satu flip-flop

116
yang clock-nya dipicu oleh keluaran flip- flop lain atau dari sumber clock lain,
yang mana artinya flip-flop tersebut disusun secara seri. Sedangkan pada Counter
Sinkron, output flip-flop yang digunakan bergantian secara serempak. Hal ini
disebabkan karena pemicuan flip-flop dilakukan serentak (dipicu oleh satu
sumber clock). Oleh karena itu Counter Sinkron dapat pula disebut sebagai
Counter paralel (Parallel Counter) karena flipflopnya disusun secara paralel.

Gambar 131. Serial Counter dan Parallel Counter

Contoh Perancangan Counter Up-Down 2-bit D-FF

1) Buat Diagram State Counter 2-Bit yang dirancang

Gambar 132. Counter 2 bit

2) Buat Table State

117
Tabel 13. Tabel State Counter 2 bit

3) Tentukan persamaan logika D0 dan D1 dengan K-MAP

Gambar 133. K-Map Counter 2 bit

.
4) Buat Rangkaian Counter tersebut

Gambar 134. Rangkaian Counter 2 bit 2. Shift Register

Register merupakan sekelompok flip-flop yang dapat menyimpan dan


menggeser data yang terdiri dari bit majemuk. Register dengan n flip-flop
mampu menyimpan sebesar n bit. Ada dua cara untuk menyimpan dan
membaca data ke dalam register, yaitu seri dan paralel. Dalam operasi paralel,
penyimpanan atau pembacaan dilakukan secara serentak oleh semua tingkat

118
register dan hanya membutuhkan 1 clock saja untuk menyimpan atau membaca
semua data. Sedangkan untuk operasi seri, diterapkan secara sequential bit demi
bit sampai semua tingkat register terpenuhi dan jumlah clock tergantung pada
jumlah data yang akan disimpan.

Ada 4 mode operasi register :

a. Serial In Serial Out (SISO)

Pada mode ini, data masuk dan keluar secara seri (berurutan).

∑ 𝑐𝑙𝑜𝑐𝑘 = 2 𝑥 𝑗𝑢𝑚𝑙𝑎ℎ 𝑏𝑖𝑡

Contoh :

Gambar 135. SISO

b. Serial In Parallel Out (SIPO)

Pada mode ini, data masuk secara seri (berurutan) dan keluar secara paralel
(serentak).

∑ 𝑐𝑙𝑜𝑐𝑘 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑏𝑖𝑡 + 1

Contoh :

Gambar 136. SIPO

c. Parallel In Serial Out (PISO)

Pada mode ini, data masuk secara paralel (serentak) dan keluar secara seri
(berurutan).

119
∑ 𝑐𝑙𝑜𝑐𝑘 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑏𝑖𝑡 + 1

Contoh :

Gambar 137. PISO

d. Parallel In Parallel Out (PIPO)


Pada mode ini, data masuk dan keluar secara paralel (serentak).

∑ 𝑐𝑙𝑜𝑐𝑘 = 2 Contoh
:

Gambar 138.PIPO

Gambar 139. Shift Register

3. Detektor Sekuensial

Detektor sekuensial merupakan suatu jenis rangkaian sekuensial


yang dapat mendeteksi urutan bit dengan pola tertentu dari rangkaian data

120
yang diinputkan. Jika data yang dideteksi sesuai dengan pola yang
diinginkan, maka output akan mengeluarkan suatu harga tertentu.

Ada 2 model dalam perancangan rangkaian detektor sekuensial, yaitu


model moore dan model mealy. Perbedaan antara keduanya adalah pada
jumlah state dan variable pembentuk outputnya:
a. Model Mealy Model Mealy → Jumlah State = Jumlah Bit

Contoh : Perancangan detektor sekuensial dengan urutan bit 001 menggunakan


model mealy. Flip – flop yang digunakan adalah D – FF.
Untuk mendeteksi urutan 001 ada 3 state yang dilewati yaitu :

• State A , yaitu ketika detektor belum mendeteksi apa-apa

• State B , yaitu ketika detektor mendeteksi 0

• State C , yaitu ketika detektor mendeteksi 0 0

Lalu nilai keluaran Z akan bernilai 1 ketika detektor berada pada state
C dan mendapat input bernilai 1 sehingga detektor mendeteksi 001, lalu
dapat dibuat diagram state nya seperti dibawah ini :

Gambar 140. Diagram State Mealey

Dari diagram state diatas lalu kita buat tabel state-nya.

121
Tabel 14. Tabel State Mealey a
NS Z

PS X=0 X=1 X=0 X=1

A B A 0 0

B C A 0 0

C C A 0 1

Kondisi state dapat direpresentasikan sebagai berikut :

A = 00

B = 01 C = 11

Maka, tabel state akan menjadi seperti ini :

Tabel 15. Tabel State Mealey b


N Z
PS
X=0 X=1 X=0 X=1

00 01 00 0 0

01 11 00 0 0

11 11 00 0 1

Untuk mencari nilai input pada rangkaian detector (input masing –


masing flip – flop), dibutuhkan tabel transisi sesuai flip – flop yang
digunakan, karena pada contoh ini memakai D – FF, maka yang
digunakan adalah tabel transisi milik D – FF.

Tabel 16. Tabel Transisi D-FF


Qt → Qt+1 D

0 → 0 0

0 → 1 1

122
1 → 0 0

1 → 1 1
Dengan melihat kondisi present state (PS) dan next state (NS) lalu
dihubungkan dengan tabel transisi, maka diperoleh tabel eksitasi sebagai
berikut :

Tabel 17. Tabel Eksitasi Mealey


PS NS D Z

X=0 X=1 X=0 X=1


X X=
Q1 Q2 Q1 Q2 Q1 Q2 D1 D2 D1 D2 = 1
0
0 0 0 1 0 0 0 1 0 0 0 0

0 1 1 1 0 0 1 1 0 0 0 0

1 1 1 1 0 0 1 1 0 0 0 1

Dengan melihat tabel eksitasi, kita dapat mencari persamaan input di


masing – masing flip – flop, karena pada rangkaian detektor sekuensial
yang kita buat ini menggunakan 2 flip – flop, maka ada 2 persamaan
input dan sebuah persamaan output.

123
Gambar 141. K-Map Mealey

Dengan menggunakan persamaan input dan output yang telah didapat, maka akan
didapat gambar rangkaian sekuensialnya.
b. Model Moore Model Moore → Jumlah State = Jumlah Bit + 1̅̅

Contoh : Perancangan detektor sekuensial dengan urutan bit 001 menggunakan


model moore. Flip – flop yang digunakan adalah D – FF.
Untuk mendeteksi urutan 001 ada 4 state yang dilewati yaitu :

• State A , yaitu ketika detektor belum mendeteksi apa-apa


• State B , yaitu ketika detektor mendeteksi 0 dengan nilai output 0

• State C , yaitu ketika detektor mendeteksi 0 0 dengan nilai output 0

• State D , yaitu ketika detektor mendeteksi 0 0 1 dengan nilai output 1 Nilai


output telah didefinisikan pada masing – masing state, maka bentuk diagram
statenya adalah :

Gambar 142. Diagram State Moore

124
Dari diagram state diatas lalu kita buat tabel statenya.

Tabel 18. Tabel State Moore a


NS Z
PS X=0 X=
1

A B A 0

B C A 0

C C D 0

D B A 1

Kondisi state dapat direpresentasikan sebagai berikut :

A = 00

B = 01

C = 11
D = 10

Maka, tabel state akan menjadi seperti ini :

Tabel 19. Tabel State Moore b


N
PS X = X = Z
0 1
00 01 00 0

01 11 00 0

11 11 10 0

10 01 00 1

125
Untuk mencari nilai input pada rangkaian detector (input masing – masing
flip – flop), dibutuhkan tabel transisi sesuai flip – flop yang digunakan,
karena pada contoh ini memakai D – FF, maka yang digunakan adalah tabel
transisi milik D – FF.

Tabel 20. Tabel Transisi


Qt → Qt+1 D

0 → 0 0

0 → 1 1

1 → 0 0

1 → 1 1

Dengan melihat kondisi present state (PS) dan next state (NS) lalu
dihubungkan dengan tabel transisi, maka diperoleh tabel eksitasi sebagai
berikut :

Tabel 21. Tabel Eksitasi Moore


NS D
PS X=0 X=1 X=0 X=1 Z

Q1 Q2 Q1 Q2 Q1 Q2 D1 D2 D1 D2

0 0 0 1 0 0 0 1 0 0 0

0 1 1 1 0 0 1 1 0 0 0

1 1 1 1 1 0 1 1 1 0 0

1 0 0 1 0 0 0 1 0 0 1

Dengan melihat tabel eksitasi, kita dapat mencari persamaan input di


masing – masing flip – flop, karena pada rangkaian detektor sekuensial yang
kita buat ini menggunakan 2 flip – flop, maka ada 2 persamaan input dan
sebuah persamaan output.

126
Gambar 143. K-Map Moore

Dengan menggunakan persamaan input dan output yang telah didapat, maka
akan didapat gambar rangkaian sekuensialnya.
D. Langkah Praktikum
I. Membuat File dan Konfigurasi Awal

1. Buatlah dahulu folder pada desktop dengan format


“KELOMPOK_(nomor kelompok)”.

2. Setelah itu, klik icon Quartus pada desktop.

3. Lalu akan muncul tampilan awal dari Software Quartus seperti gambar
dibawah.

127
Gambar 144. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera pada
tampilan awal Quartus.

Gambar 145. Cara menggunakan Software Quartus

5. Setelah muncul panel pengantar (Introduction), klik (Next >).

128
Gambar 146. Panel Pengantar

6. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

Gambar 147. New Project Wizard (1)

129
Kolom pertama adalah direktori untuk menyimpan file project yang akan
dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik
tombol pada kolom pertama (ada di sebelah kanan kolom pertama)
kemudian carilah folder yang telah dibuat. Klik tombol open. Kolom
berikutnya diperuntukkan untuk nama project, ketikkan nama project yang
diinginkan. Namun perlu diingat bahwa KARAKTER AWAL DARI
NAMA PROJECT TIDAK BOLEH ANGKA. Pastikan kolom ketiga (top
level entity) terisi nama yang sama dengan kolom kedua. Lalu jika semua
sudah sesuai, kilk (Next >).
7. Lewati panel seperti di gambar dengan langsung menekan tombol (Next
>).

Gambar 148. Panel Add Files

8. Kemudian, pilih “Cyclone II” pada sub menu “device family”,


9. Lalu pada sub menu “target device” pilih “Specific device selected in

‘available device’ list”

130
Gambar 149. Panel Family & Device Settings

10. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu klik
(Next >).
11. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation
terdapat kolom “Tool Name’. Cari dan pilih “ModelSim-Altera” pada
“Tool Name” tersebut dan pastikan pada kolom Format(s) sudah tertera
VHDL. Lalu klik (Next >).

131
Gambar 150. EDA Tool Settings

12. Terakhir, klik finish.

Gambar 151. EDA Tool Settings 2

132
II. Pembuatan Project

1. Selanjutnya, dimenu file, pilih New untuk mulai membuat lembar kerja.
Tombol new juga umumnya tertera pada toolbar, seperti gambar di
bawah ini.

Gambar 152. Tampilan Awal Quartus

2. Pada jendela “New”, pilih Block Diagram/Schematic File, lalu klik


OK.

Gambar 153. Tampilan Quartus

133
3. Untuk mulai memilih komponen, buka jendela Symbol Tools dengan
mengklik tombol dengan ikon gerbang AND.

Gambar 154. Tampilan Quartus

Pada jendela Symbol Tools, double klik direktori libraries yang ada, lalu pilih primitives.
Mulailah memilih gerbang logika, komponen rangkaian, dan pin I/O pada folder yang
tersedia. Folder logic untuk gerbang logika, folder pin untuk pin I/O, dan folder storage
untuk flip flop.
4. Setelah memilih komponen, susun komponen-komponen tersebut di
lembar kerja yang disediakan agar menjadi rangkaian seperti gambar
berikut.
• Serial In Serial Out (SISO)

Gambar 155. Rangkaian Skematik SISO

134
• Counter Up Modulo 8 menggunakan T-FF

Gambar 156. Rangkaian Skematik Counter Up menggunakan T-FF

• Counter Down Modulo 8 menggunakan JK-FF

Gambar 157. Rangkaian Skematik Counter Down menggunakan JK-FF

5. Untuk penyambungan komponen, pilih Orthogonal Node Tool yang


berfungsi untuk penggambaran kabel.

135
6. Beri label pada port I/O dengan mengklik dua kali pada port I/O yang
akan diubah namanya kemudian ubah nama dari pin sesuai dengan
gambar sebelumnya.
7. Lakukan kompilasi terhadap program dengan memilih
ProcessingStart Compilation.

III. Inisialisasi Pin Planner


1. Buka File .qpf dari skematik yang anda buat, melalui Open Recent Project atau
FileOpen
2. klik kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner, atau dapat
juga melalui tab Assignments – Pin Planner. (CTRL+SHIFT + N)

Gambar 158. Inisialisasi pin planner 1

136
3. Maka akan ada tampilan seperti dibawah ini
• Pin Planner SISO

• Pin Planner Up Counter

137
• Pin Planner Down Counter

4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input dan
Output nya. Berikut Contoh Pin yang di gunakan :
INPUT :

138
OUTPUT :

Gambar 159. Inisialisasi pin planner 2

5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner, kemudian
lakukan running dengan menekan menu Start Compilation

) atau dapat juga melalui tab Processing – Start Compilation (CTRL +


L)

IV. Upload ke FPGA

1. Siapkan board FPGA Anda, pasang kabel catu daya dan


kabel programmer pada tempatnya masing-masing dan
nyalakan board tersebut.

2. Untuk konfigurasi, klik Tools→Programmer. Klik


pada tombol Hardware setup. Kemudian klik pada Add

139
Hardware, untuk UP2 klik 2 kali pada ByteBlasterII
dan klik Close.

Sedangkan untuk DE 1 klik 2 kali pada USBBlaster (Jika


tidak ada minta bantuan asisten untuk menginstall).

3. Kemudian pada halaman utama programer, bagian


Mode pilih JTAG.

4. Jika file yang telah dibuat tidak terlihat pada jendela


utama programmer, klik Add File dan carilah file pada
output_files yang telah dibuat kemudian klik Open.
(.sof untuk sementara, dan .pof untuk memprogram
secara permanen)

5. Sorot nama file, lakukan checklist pada kolom


“Program/Configure”, kemudian klik tombol Start
untuk memprogram FPGA.

V. Praktikum Daring

1. Pada praktikum secara daring untuk Modul III ini


menggunakan aplikasi Logic.ly. Buka website logic.ly dengan
browser pada PC.

Gambar 160. Tampilan Awal logic.ly

140
2. Klik Try Online pada pojok kanan atas.

Gambar 161. Tampilan Awal logic.ly (2)

3. Kemudian kalian akan masuk ke tampilan proyek dari


logic.ly. Carilah komponen-komponen yang diperlukan pada
menu di sebelah kiri.

Gambar 162. Tampilan Proyek logic.ly

4. Setelah memilih komponen yang diperlukan, susunlah


komponen-komponen menjadi rangkaian seperti berikut.

141
• SISO

Gambar 163. Rangkaian SISO

• Counter Up Modulo 8 menggunakan T-FF

Gambar 164. Rangkaian Counter Up

142
5. Kemudian lakukanlah simulasi dengan cara klik Simulate
lalu klik Resume Simulation.

Gambar 165. Simulasi Rangkaian

143
MODUL IV
VHDL (VHSIC Hardware Description Language)

A. Tujuan Praktikum

1. Memperkenalkan penggunaan VHDL dalam perancangan rangkaian digital.

2. Mempelajari penggunaan susunan dasar program VHDL.

3. Mempelajari penggunaan component dan process pada VHDL.

4. Memperkenalkan FPGA untuk realisasi rangkaian digital yang didesain


menggunakan VHDL berupa rangkaian kombinasional 7 segment.
5. Memperkenalkan FPGA untuk realisasi rangkaian digital yang didesain
menggunakan VHDL berupa rangkaian clock divider

B. Peralatan Praktikum

1. Personal Computer

2. Software Quartus 12.1

3. FPGA Cyclone II

C. Pengertian VHDL

VHDL adalah sebuah bahasa pemograman VHSIC (Very High


Speed Intregated Circuit) yang dikembangkan oleh IEEE (Institute of
Electrical and Electronic Engineering ). VHDL adalah termasuk bahasa
pemodelan yang digunakan untuk merancang atau memodelkan rangkaian
digital.

144
Dua aplikasi utama dari VHDL adalah pada FPGA (Field
Programmable Gate Arrays) dan ASIC (Aplication Specific Integrated
Circuits). Namun yang akan kita gunakan dalam praktikum Tekdig adalah
pengaplikasian pada FPGA. Ketika code VHDL telah ditulis, kita bisa
mengimplementasikan rangkaian yang telah kita buat melalui FPGA atau
langsung dipabrikasi menjadi ASIC chip.
VHDL berbeda dengan program computer pada umumnya yang
berjalan sequential (berurut), statement yang ada dieksekusi secara pararel
(bersamaan). Karena itu VHDL biasanya disebut sebagai code
dibandingkan program.
Susunan dasar program VHDL

Gambar 166. Susunan dasar program VHDL

1. LIBRARY

Library merupakan kumpulan parts atau bagian yang sering


digunakan pada saat pengkodean. Parts yang berada dalam satu
Library dapat digunakan kembali atau bersamaan dengan desain yang
lain..
LIBRARY nama_library;

USE nama_library.package_name.package_parts;

145
2. ENTITY

Entity adalah daftar spesifikasi dari semua pin (port) input dan output
dari sebuh sirkuit
ENTITY nama_entity IS PORT
( nama_port
:mode_sinyaltipe_sinyal;
nama_port
:mode_sinyaltipe_sinyal;
...);

END nama_entity;

3. ARCHITECTURE

Architecture mendeskripsikikan bagaimana pola kerja dari suatu


sirkuit

ARCHITECTURE myarch OF nand_gate


IS BEGIN x <= a NAND b; END myarch;

D. Component pada VHDL

Component merupakan salah satu bagian kode yang konvensional


(seperti library, entity, dan architecture). Namun, dengan mendeklarasikan
sebagian kode sebagai Component, maka bagian tersebut dapat digunakan
pada rangkaian lainya, sehingga kita bisa mengkontruksi suatu desain
hirarki.

Component juga merupakan suatu cara untuk mempartisi kode dan


untuk penggunaan kembali. Misalnya, rangkaian yang sering digunakan
seperti flip-flop, multiplexer, adder, gerbang dasar dan lainya dapat
disimpan di library. Sehingga, projek dapat menggunakanya tanpa harus
menulis ulang kode-nya secara lengkap.

146
COMPONENT declaration: COMPONENT
component_name IS PORT ( port_name

:signal_modesignal_type; port_name
:signal_modesignal_type; ...);

END COMPONENT;

COMPONENT instantiation:

label: component_name PORT MAP (port_list);

E. Process

Seperti yang telah dijelaskan pada modul sebelumnya, pada VHDL


terdapat susunan dasar program VHDL yaitu Library, Entity dan
Architecture. Process merupakan bagian dari suatu Architecture. Di dalam
suatu architecture bisa terdapat satu atau lebih proses yang saling
independen ataupun berhubungan. Contoh dari suatu proses: architecture
(nama_architecture) of (nama_entity) is signal nama_signal : tipe; begin
proses1
: process begin
...

end
process;
proses2
:
process
begin
...
end process; end (nama_architecture);

147
F. Langkah Praktikum
I. Membuat File dan Konfigurasi Awal
1. Buatlah dahulu folder pada desktop dengan format
“KELOMPOK_(nomor kelompok)”.
2. Setelah itu, klik icon Quartus pada desktop.

3. Lalu akan muncul tampilan awal dari Software Quartus seperti gambar
dibawah.

Gambar 167. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera pada
tampilan awal Quartus.

148
Gambar 168. Cara menggunakan Software Quartus

5. Setelah muncul panel pengantar (Introduction), klik (Next >).

Gambar 169. Panel Pengantar

6. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

149
Gambar 170. New Project Wizard

Kolom pertama adalah direktori untuk menyimpan file project yang akan
dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik
tombol pada kolom pertama (ada di sebelah kanan kolom pertama)
kemudian carilah folder yang telah dibuat. Klik tombol open. Kolom
berikutnya diperuntukkan untuk nama project, ketikkan nama project yang
diinginkan. Namun perlu diingat bahwa KARAKTER AWAL DARI
NAMA PROJECT TIDAK BOLEH ANGKA. Pastikan kolom ketiga (top
level entity) terisi nama yang sama dengan kolom kedua. Lalu jika semua
sudah sesuai, kilk (Next >).
7. Lewati panel seperti di gambar dengan langsung menekan tombol (Next >).

150
Gambar 171. Panel Add Files

8. Kemudian, pilih “Cyclone II” pada sub menu “device family”,


9. Lalu pada sub menu “target device” pilih “Specific device selected in

‘available device’ list”

Gambar 172. Panel Family & Device Settings

151
10. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu klik
(Next >).

11. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation terdapat
kolom “Tool Name’. Cari dan pilih “ModelSim-Altera” pada “Tool Name”
tersebut dan pastikan pada kolom Format(s) sudah tertera VHDL. Lalu klik
(Next >).

Gambar 173. EDA Tool Settings

12. Terakhir, klik finish

152
.

Gambar 174. EDA Tool Settings

II. Pembuatan Project

1. Selanjutnya, dimenu file, pilih New untuk mulai membuat lembar kerja.
Tombol new juga umumnya tertera pada toolbar, seperti gambar di bawah
ini.

Gambar 175. Tampilan Awal Quartus

153
2. Pada jendela “New”, pilih pilih “VHDL File” lalu klik OK

Gambar 176. Cara Membuat Lembar Kerja pada Software Quartus 2

3. Tampilan lembar kerja quartus

Gambar 177. Cara Membuat Lembar Kerja pada Software Quartus 3

4. Rancang VHDL seperti di bawah ini:

154
• Berikut VHDL Full adder dengan component:
library IEEE; use IEEE.std_logic_1164.all;

entity kombinasional2 is port (a,b,cin: in std_logic; s,c : out


std_logic);
end kombinasional2;

architecture bhv of kombinasional2 is component and_gate0


port(a,b,cin: in std_logic;

s,c : out std_logic);

end component;

begin fulladder: and_gate0 port map (a,b,cin,s,c);


end bhv;

library IEEE; use IEEE.std_logic_1164.all;

entity and_gate0 is port (a,b,cin: in std_logic; s,c : out std_logic);


end and_gate0;

architecture fungsi of and_gate0 is begin s <= a xor b xor cin; c


<= ((a xor b) and cin) or (a and b); end fungsi;

• Berikut program VHDL Shift Register 4-bit dengan Process :

Library ieee;

Use ieee.std_logic_1164.all;

Entity shift4 is

Port(w ,clock : in std_logic; Q:out std_logic_vector(1 to 4)); end shift4;

155
Architecture behavior of shift4 is
signal sreg : std_logic_vector(1 to 4);
begin Process(clock) begin if clock
'event and clock = '1' then sreg(4) <=
w; sreg(3) <= sreg(4); sreg(2) <=
sreg(3);
sreg(1) <= sreg(2);
end if; end
process; Q
<=sreg;
End behavior;

III. Inisialisasi Pin Planner

1. Buka file koding yang anda buat, melalui Open Recent Project atau
FileOpen
2. Click kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner

Gambar 178. Inisialisasi Pin Planner 1

156
3. Maka akan ada tampilan seperti dibawah ini

Gambar 179. Inisialisasi Pin Planner 2

4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input
dan Output nya. Berikut Contoh Pin yang di gunakan:

INPUT:

157
OUTPUT:

Gambar 180. Inisialisasi Pin Planner 3

5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner, lalu
Save, kemudian lakukan running dengan menekan menu Start

Compilation )

IV. Menampilkan RTL Viewer

1. Pastikan kodingan yang dibuat telah selesai. Lalu, lakukan running program
dengan cara mengklik tombol start compilation ).

158
Gambar 181. Menampilkan RTL Viewer 1

2. Pastikan running program berjalan dengan baik sehingga tidak terdapat error di
dalam program yang telah dibuat.
3. Tampilkan rangkaian dari RTL viewer dengan cara memilih pada menu Tools >
Netlist Viewers > RTL Viewer seperti gambar dibawah ini.

Gambar 182. Menampilkan RTL Viewer 2

4. Terakhir, rangkaian dari RTL viewer akan muncul sebagai berikut.

159
Gambar 183. Menampilkan RTL Viewer VHDL Menggunakan Process

Gambar 184. Menampilkan RTL Viewer VHDL Menggunakan Component

160
MODUL V IMPLEMENTASI FPGA
A. Praktikum

1. Dapat memahami pengertian dan prinsip kerja Clock Divider dan Seven
Segment.

2. Memperkenalkan FPGA untuk realisasi rangkaian digital yang didesain


menggunakan VHDL berupa Clock Divider dan Seven Segment.

B. Peralatan Praktikum

1. Personal Computer

2. Software Quartus 12.0

3. FPGA Cyclone II

C. Implementasi Rangkaian Kombinasional Pada FPGA

• Seven Segment
Contoh dari Rangkaian Kombinasional adalah BCD-to-7-Segment
decoder. Dekoder tersebut dapat merubah BCD digit pada input menjadi
informasi (7 bit) yang sesuai untuk mengaktifkan digitoriented display
atau 7-segment. BCD-to-7- Segment dekoder dapat diimplementasikan
menjadi driver seven segment. Pada percobaan kali ini akan
menggunakan BCD-to-7-segment sebagai implementasi dari Rangkaian
Kombinasional pada FPGA. Sebelum diimplementasikan ke FPGA,
BCD-to-7segment diprogram menggunakan Aplikasi Quartus.

161
D. Implementasi Rangkaian Sekuensial Pada FPGA
• Clock Divider
Pada saat melakukan perancangan rangkaian digital yang
memerlukan fungsi sekuensial (berurutan) pada FPGA, tentunya
diperlukan clock untuk memicu perpindahan state dari rangkaian yang
akan dirancang. Pada saat penggunaan modul DIgiboard, terdapat
beberapa pilihan clock yang tersedia pada board FPGA yang akankita
gunakan, seperti pada contoh di bawah ini:
Tabel 22. Clock pada FPGA

Namun, apabila kita ingin menggunakan clock dengan frekuensi tertentu


yang tidak disediakan oleh board FPGA, maka diperlukan suatu algoritma Clock
Divider. Algoritma ini berfungsi untuk mengubah suatu clock yang memiliki
frekuensi menjadi clock dengan frekuensi spesifik lainnya yang dibutuhkan.

E. Langkah Praktikum

I. Membuat File dan Konfigurasi Awal

1. Buatlah dahulu folder pada desktop dengan format “KELOMPOK_(nomor


kelompok)”.
2. Setelah itu, klik icon Quartus pada desktop.

3. Lalu akan muncul tampilan awal dari Software Quartus seperti gambar
dibawah.

162
Gambar 185. Tampilan Awal Quartus

4. Pilih menu Create a New Project (New Project Wizard) yang tertera pada
tampilan awal Quartus.

Gambar 186. Cara menggunakan Software Quartus

163
5. Setelah muncul panel pengantar (Introduction), klik (Next >).

Gambar 187. Panel Pengantar

6. Selanjutnya, akan muncul panel baru seperti gambar di bawah ini.

Gambar 188. New Project Wizard (1)

Kolom pertama adalah direktori untuk menyimpan file project yang akan
dikerjakan. Pilih folder yang telah dibuat sebelumnya dengan cara klik tombol
pada kolom pertama (ada di sebelah kanan kolom pertama) kemudian

164
carilah folder yang telah dibuat. Klik tombol open. Kolom berikutnya
diperuntukkan untuk nama project, ketikkan nama project yang diinginkan.
Namun perlu diingat bahwa KARAKTER AWAL DARI NAMA PROJECT
TIDAK BOLEH ANGKA. Pastikan kolom ketiga (top level entity) terisi nama
yang sama dengan kolom kedua. Lalu jika semua sudah sesuai, kilk (Next >).
7. Lewati panel seperti di gambar dengan langsung menekan tombol (Next >).

Gambar 189. Panel Add Files

8. Kemudian, pilih “Cyclone II” pada sub menu “device family”,

9. Lalu pada sub menu “target device” pilih “Specific device selected in
‘available device’ list”

165
Gambar 190. Panel Family & Device Settings

10. Kemudian pilih device dengan nama “EP2C20F484C7”, setelah itu klik
(Next >).
11. Pada panel berikutnya, di sebelah kolom “Tool Type’ Simulation terdapat
kolom “Tool Name’. Cari dan pilih “ModelSim-Altera” pada “Tool Name”
tersebut dan pastikan pada kolom Format(s) sudah tertera VHDL. Lalu klik
(Next >).

166
Gambar 191. EDA Tool Settings

12. Terakhir, klik finish.

Gambar 192. EDA Tool Settings

167
II. Pembuatan Project

1. Selanjutnya, dimenu file, pilih New untuk mulai membuat lembar kerja.
Tombol new juga umumnya tertera pada toolbar, seperti gambar di bawah
ini.

G
Gambar 193. Tampilan Awal Quartus

2. Pada jendela “New”, pilih “VHDL File” lalu klik OK.

Gambar 194. Cara Membuat Lembar Kerja Pada Software Quartus

2. Tampilan lembar kerja quartus

168
Gambar 195. Cara Membuat Lembar Kerja pada Software Quartus

3. Rancang VHDL seperti di bawah ini:

• 7 segment

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY bag14 IS
PORT(C :IN STD_LOGIC_VECTOR(2 DOWNTO 0);
HEX0:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END bag14;

ARCHITECTURE Behavior OF bag14 IS


BEGIN

PROCESS(C)
BEGIN IF (C="000") THEN
HEX0<="0001001";
ELSE IF (C="001") THEN
HEX0<="0000110"; ELSE

169
IF (C="010") THEN
HEX0<="1000111";
ELSE
IF (C="011") THEN HEX0<="1000000";
ELSE
HEX0<="1111111";
END IF;
END IF; END IF; END IF;
END PROCESS; END Behavior;
• Clock Divider

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.ALL; entity
Clock_Divider is
port ( clk,reset: in std_logic; clock_out: out std_logic); end
Clock_Divider;
architecture bhv of Clock_Divider is
signal count: integer:=0; signal tmp
: std_logic := '1'; begin
process(clk,reset) begin if(reset='0')
then count<=0; tmp<='1';
elsif(clk'event and clk='1') then count
<=count+1;
if (count = 25000) then tmp
<= NOT tmp; count
<= 0;
end if; end if;
clock_out <= tmp;

170
end process; end
bhv;

III. Inisialisasi Pin Planner

1. Buka file koding yang anda buat, melalui Open Recent Project atau
FileOpen

2. klik kanan Entity yang di tuju, pilih Locate-> Locate Pin Planner, atau
dapat juga melalui tab Assignments – Pin Planner. (CTRL+SHIFT
+ N)

Gambar 196. Inisialisasi Pin Planner 1

3. Maka akan ada tampilan seperti dibawah ini

171
Gambar 197. Inisialisasi Pin Planner 2

4. Pada bagian table Location, pilih Pin yang akan di gunakan untuk Input
dan Output nya. Berikut Contoh Pin yang di gunakan:

INPUT:

OUTPUT:

172
173
OUTPUT UNTUK 7 Segment:

Gambar 198. Inisialisasi Pin Planner 3

5. Setelah diinputkan pin (sesuai yang diinginkan), tutup Pin Planner, lalu
Save, kemudian lakukan running dengan menekan menu Start

Compilation )

174
IV. Menampilkan RTL Viewer

1. Pastikan kodingan yang dibuat telah selesai. Lalu, lakukan running program
dengan

cara mengklik tombol start compilation ).

Gambar 199. Menampilkan RTL Viewer

2. Pastikan running program berjalan dengan baik sehingga tidak terdapat error
di dalam program yang telah dibuat.

3. Tampilkan rangkaian dari RTL viewer dengan cara memilih pada menu
Tools > Netlist Viewers > RTL Viewer seperti gambar dibawah ini.

175
Gambar 200. Menampilkan RTL Viewer 2

4. Terakhir, rangkaian dari RTL viewer akan muncul sebagai berikut.

Gambar 201. Menampilkan RTL Viewer VHDL Coding

5. Lakukan langkah penampilan RTL viewer untuk hasil koding 7 segment dan
clock divider.

176

Anda mungkin juga menyukai