FPGA DAN VHDL
Teori, Antarmuka dan Aplikasi
UU No 19 Tahun 2002 Tentang Hak Cipta Fungsi dan Sifat hak Cipta Pasal 2
1. Hak Cipta merupakan hak eksklusif bagi pencipta atau pemegang Hak Cipta untuk mengumumkan atau memperbanyak ciptaannya, yang timbul secara otomatis setelah suatu ciptaan dilahirkan tanpa mengurangi pembatasan menurut peraturan perundang-undangan yang berlaku.
Hak Terkait Pasal 49
1. Pelaku memiliki hak eksklusif untuk memberikan izin atau melarang pihak lain yang tanpa persetujuannya membuat, memperbanyak, atau menyiarkan rekaman suara dan/atau gambar pertunjukannya.
Sanksi Pelanggaran Pasal 72
1. Barangsiapa dengan sengaja dan tanpa hak melakukan perbuatan sebagaimana dimaksud dalam pasal 2 ayat (1) atau pasal 49 ayat (2) dipidana dengan pidana penjara masing-masing paling singkat 1 (satu) bulan dan/atau denda paling sedikit Rp 1.000.000,00 (satu juta rupiah), atau pidana penjara paling lama 7 (tujuh) tahun dan/atau denda paling banyak Rp 5.000.000.000,00 (lima miliar rupiah).
2. Barangsiapa dengan sengaja menyiarkan, memamerkan, mengedarkan, atau menjual kepada umum suatu ciptaan atau barang hasil pelanggaran Hak Cipta sebagaimana dimaksud dalam ayat (1), dipidana dengan pidana penjara paling lama 5 (lima) tahun dan/atau denda paling banyak Rp 500.000.000,00 (lima ratus juta rupiah)
iii
FPGA DAN VHDL
Teori, Antarmuka dan Aplikasi
Katalog Dalam Terbitan (KDT) WIBOWO, Ferry W
FPGA DAN VHDL: Teori, Antarmuka dan Aplikasi/ oleh Ferry Wahyu Wibowo.--Ed.1, Cet. 1--Yogyakarta: Deepublish, Januari 2014.
xxii, 414 hlm.; 25 cm ISBN 978-Nomor ISBN
1. Program I. Judul
005.3
Desain cover : Herlambang Rahmadhani Penata letak : Ika Fatria Iriyanti
Jl. Elang 3, No 3, Drono, Sardonoharjo, Ngaglik, Sleman Jl.Kaliurang Km.9,3 – Yogyakarta 55581 Telp/Faks: (0274) 4533427 Hotline: 0838-2316-8088 Website: www.deepublish.co.id E-mail: [email protected] PENERBIT DEEPUBLISH (Grup Penerbitan CV BUDI UTAMA)
Anggota IKAPI (076/DIY/2012)
Isi diluar tanggungjawab percetakan Hak cipta dilindungi undang-undang
Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau seluruh isi buku ini
tanpa izin tertulis dari Penerbit.
v
KATA PENGANTAR
Buku ini hadir bertujuan untuk memperkenalkan field
programmable gate array (FPGA) dan very high speed integrated circuit hardware description language (VHDL) sebagai salah satu
bidang hardware dan software, sekaligus untuk menunjukkan penggunaan VHDL dalam suatu aplikasi perancangan sistem elektronik. Buku ini banyak mengambil dari prosiding dan jurnal yang telah dipublikasikan oleh penulis dan terdiri dari beberapa contoh implementasi FPGA yang memungkinkan untuk digunakan sebagai buku teks berbagai level dan sebagai buku referensi. Walaupun demikian, perkembangan tool, metodologi pengembang-an, dan metodologi pengujian dalam rancang bangun perangkat keras berkembang sangat cepat dan perlu diikuti.
Sintaks VHDL mirip dengan bahasa pemrograman seperti C dan Pascal, tetapi sifatnya berbeda. Bahasa C dan Pascal diadaptasi untuk central processing unit (CPU), yaitu mesin serial yang menampilkan satu instruksi pada suatu waktu, sedangkan VHDL diadaptasi untuk struktur paralel dalam perangkat keras. Pada dasarnya, kinerjanya selalu lebih baik menggunakan VHDL daripada menggunakan bahasa pemrograman konvensional untuk CPU. Hal ini berarti VHDL akan jauh lebih baik digunakan sebagai bahasa implementasi dalam bentuk bahasa software. Bahkan, penggunaan mikrokontroler dapat dirancang menggunakan VHDL daripada menggunakan CPU dan kode mesin.
Simulator telah dikembangkan lebih jauh di pasaran agar dapat mengeksekusi kode VHDL sebagai watak pengujian perancangan. Kode VHDL dapat dikirimkan ke Field Programmable Gate Array (FPGA) atau gate matrix. Transformasi
dari kode ke teknologi perangkat keras disebut sintesis. Tool sintesis secara fungsional harus membuat perangkat keras yang mempunyai watak sesuai dengan simulasi kode VHDL. Kesulitan penulisan kode VHDL untuk sintesis memungkinkan menggunakan tool sintesis yang berbeda dalam mengubah bentuk bagian yang berbeda dari bahasa VHDL.
Beberapa perancang perangkat keras mendeskripsikan watak (behavior) dalam VHDL dibandingkan merancang menggunakan gerbang-gerbang logik yang memerlukan pengaturan komponen dan
wiring untuk membuatnya. Pengaturan ini harus ada untuk
produktivitas dan kualitas desain yang hendak dicapai dengan mengimplementasikan teori sistem digital. Berbeda pendeskripsian perancangan menggunakan bahasa tingkat tinggi berbasis teknologi lepas, dalam hal ini VHDL, perancang dapat berkonsentrasi pada pembuatan desain secara fungsional. VHDL menyediakan lebih banyak efisiensi desain dan berdayaguna daripada menggunakan desain tingkat gerbang. Penggunaan VHDL dalam kaitan tool sintesis menunjukkan bahwa teknologi dapat diubah secara cepat dan mudah. Fasilitas tersebut dapat dieksploitasi lebih lanjut yang dikenal sebagai purwarupa dari ASIC (Aplication Spesific Integrated
Circuit) yang menggunakan FPGA. Metode, struktur yang baik,
pengujian dan perancangan teknologi lepas membutuhkan pengetahuan VHDL yang baik dan tepat. Keuntungan
vii
pendeskripsian rancangan dalam bahasa tingkat tinggi dan metode pengujian mempunyai porsi dalam buku ini.
Semoga buku ini bermanfaat bagi siapapun yang membacanya, khususnya yang akan memulai bidang reconfigurable
computing. Buku ini masih kurang dari sempurna dan masih
memerlukan pengembangan lagi, saran dan kritik senantiasa penulis terima dengan tangan terbuka. Terima kasih.
Yogyakarta, Januari 2014
SINGKATAN-SINGKATAN
AC : Alternating current
ADI : Automated Design Implementation AFG : Attenuator frequency generator ALU : Arithmetic logic unit
ASCII : American Standard Code for Information Interchange ASIC : Application specific integrated circuit
ASM : Algorithmic state machine
ASSP : Application specific standard product AVT : Architecture verification test
BCD : Binary coded decimal BER : Bit error rate
BIST : Built in self test
BJT : Bipolar junction transistor CAD : Computer aided design CAE : Computer added engineering CDMA : Coded division multiple access CLB : Configurable logic block
CMOS : Complementary metal oxide semiconductor CPC : Convolutional product code
CPLD : Complex programmable logic device CPU : Central processing unit
DC : Direct current DFT : Design for test
DRAM : Dynamic random access memory DSP : Digital signal processing
DUT : Design under test
EBCDIC : Extended binary codec decimal interchange code ECC : Error correction code
EDA : Electronic design automation
EEPROM : Electrically erasable and programmable read only memory
EGCS : Elevator group control system
EPROM : Erasable and programmable read only memory FAMOS : Floating gate ovalanche metal oxide semiconductor
ix
FF : Flip-flop
FFT : Fast fourier transform
FPGA : Field programmable gate array FPLA : Field programmable logic array FSM : Finite state machine
GAL : Generic array logic GCLK : Global clock
GPI : General purpose interconect GUI : Graphical user interface
HDL : Hardware description language HL : High level
I/O : Input / output IC : Integrated circuit
IEEE : Institute of Electrical and Electronic Engineers IOB : Input output block
IP : Intellectual property
IVT : Implementation verification test
JEDEC : Joint electron device engineering council JTAG : Joint test action group
LCA : Logic cell array LCD : Liquid crystal display LCS : Local control system LE : Logic element LED : Light emitting diode LSB : Least significant bit LSI : Large scale integration LUT : Look up table
MCM : Multiple chip module MGT : Multi Gigabit Transceiver MOS : Metal oxide semiconductor
MOSFET : Metal oxide semiconductor field effect transistor MSB : Most significant bit
MSI : Medium scale integration MUX : Multiplekser
Opcode : Operation code
PACE : Pinout and area constraints editor PAL : Programmable logic array
PC : Personal computer PCB : Printed circuit board
PIP : Programmable interconnect point PLA : Programmable logic array
PLC : Programmable logic control PLD : Programmable logic device PMUX : Programmable Multiplexer PROM : Programmable read only memory R/C : Resistance / capacitive
R&D : Research and Development RAM : Random access memory RCA : Radio corporation of America ROM : Read only memory
RTL : Register transistor logic (level) SDF : Standard delay format
SerDes : Serializer / deserializer SNR : Signal to noise ratio SoC : System on Chip SOP : Sum of product
SPI : Serial peripheral interface SRAM : Static random access memory SSI : Small scale integration
TTL : Transistor transistor logic
VHDL : Very high speed integrated circuit hardware description language
VHSIC : Very high speed integrated circuit VLSI : Very large scale integration VTP : Verification test plan
U-IOB : Unbonded input output block UV : Ultra violet
xi
DAFTAR ISI
KATA PENGANTAR ... v
SINGKATAN-SINGKATAN ... viii
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xix
BAB I Prinsip–prinsip Sistem Digital ... 1
1.1. Pendahuluan ... 1
1.2. Perbandingan Elektronika Analog dan Digital ... 2
1.3. Level logika digital ... 5
1.4. Sistem Bilangan Desimal ... 5
1.4.1. Notasi Posisional ... 6
1.5. Sistem Bilangan Biner ... 7
1.5.1. Notasi Posisional ... 7
1.6. Sistem Bilangan Oktal ... 8
1.6.1. Notasi Posisional ... 8
1.7. Sistem Bilangan Heksadesimal ... 10
1.7.1. Notasi Posisional ... 10
1.8. Komplemen bilangan ... 12
1.8.1. Komplemen-R ... 12
1.8.2. Komplemen-(R-1) ... 13
1.9. Sandi Biner ... 13
1.9.1. Sandi Binary Coded Decimal (BCD) ... 14
1.9.2. Sandi Excess 3 (XS-3) ... 14 1.9.3. Sandi 8, 4, -2, -1 ... 15 1.9.4. Sandi Gray ... 15 1.9.5. Sandi Alfanumerik ... 17 1.10. Bit Paritas ... 19 1.11. Logika Gerbang ... 20
1.11.1. Operator Logika Dasar ... 21
1.11.2. Tabel kebenaran untuk operator logika ... 21
1.11.4. Rangkaian logika kombinasional dari
fungsi logika ... 22
1.12. Referensi ... 24
1.13. Pertanyaan ... 24
BAB II Programmable Logic Device ... 25
2.1. Pendahuluan ... 25
2.2. Metode Pemrograman Perangkat Keras ... 26
2.2.1. Teknologi Fusible Link ... 28
2.2.2. Teknologi Antifuse ... 29
2.3. Piranti Mask-Programmed ... 31
2.3.1. PROM ... 32
2.3.2. Teknologi berbasis EPROM ... 33
2.3.3. Teknologi berbasis EEPROM ... 35
2.3.4. Teknologi berbasis RAM–DRAM dan SRAM ... 36
2.4. PLD, ASIC dan FPGA ... 43
2.4.1. Programmable Logic Device (PLD) ... 43
2.4.1.1 PROM ... 45
2.4.1.2 Programmable Logic Array (PLA) ... 47
2.4.1.3 Programmable Array Logic (PAL) ... 49
2.4.1.4 Complex Programmable Logic Device (CPLD) ... 50
2.4.2. Application Spesific Integrated Circuit (ASIC) ... 53
2.4.3. Field Programmable Gate Array (FPGA) ... 57
2.5. Referensi ... 64
2.6. Pertanyaan ... 65
BAB III Field Programmable Gate Array ... 67
3.1. Pendahuluan ... 67
3.2. Reconfigurable Device ... 70
xiii
3.4. Configurable Logic Block (CLB) ... 78
3.5. Blok Interkoneksi yang Dapat Diprogram ... 81
3.6. Optimasi Perancangan untuk FPGA ... 82
3.7. Aliran Perancangan FPGA Xilinx ... 86
3.8. Referensi ... 87
3.9. Pertanyaan ... 88
BAB IV Model Masukan Rancangan ... 89
4.1. Pendahuluan ... 89
4.2. Metode Masukan Rancangan ... 91
4.3. Referensi ... 100
4.4. Pertanyaan ... 100
BAB V Metodologi Top-Down vs Bottom-Up... 101
5.1. Pendahuluan ... 101
5.2. Metodologi Perancangan terhadap EDA ... 105
5.3. Implementasi Metodologi Perancangan ... 109
5.4. Referensi ... 115
5.5. Pertanyaan ... 116
BAB VI Metode Perancangan ... 117
6.1. Pendahuluan ... 117
6.2. Perancangan IC ... 119
6.3. Metodologi Perancangan Pewaktuan ... 122
6.3.1. Floorplanning dan Placement ... 122
6.3.2. Floorplan Tingkat Tinggi ... 123
6.3.3. Floorplanning Terperinci ... 124
6.3.4. Sintesis Kendali Pewaktuan ... 126
6.3.5. Model Penyambungan ... 128
6.3.6. Placement and Route ... 130
6.3.7. Synthesis Back-Annotation ... 134
6.3.8. Verifikasi Pewaktuan ... 135
6.4. Referensi ... 137
BAB VII Verifikasi Rancangan ... 139
7.1. Pendahuluan ... 139
7.2. Verifikasi Perancangan ... 140
7.3. Pembuktian Implementasi ... 143
7.4. Jenis Verifikasi Uji ... 149
7.5. Metode Verifikasi Uji ... 150
7.6. Konfigurasi Pengujian ... 151
7.7. Struktur Testbench ... 152
7.8. Prosedur Verifikasi Pengaturan ... 154
7.9. Referensi ... 156 7.10. Pertanyaan ... 156 BAB VIII VHDL ... 157 8.1. Pendahuluan ... 157 8.2. VHDL ... 159 8.3. Tahap Perancangan ... 163 8.4. Struktur Kode VHDL ... 165 8.5. Entity ... 169 8.6. Architecture ... 170 8.7. Referensi ... 172 8.8. Pertanyaan ... 172
BAB IX Mode Penyambungan ... 173
9.1. Pendahuluan ... 173
9.2. Signal ... 174
9.3. Variable ... 177
9.4. Perbandingan Signal dan Variable ... 178
9.5. Generic ... 179
9.6. Constant ... 180
9.7. Referensi ... 180
9.8. Pertanyaan ... 181
BAB X Tipe Data, Obyek dan Konversi ... 183
10.1. Pendahuluan ... 183
10.2. Tipe Data yang Belum Terdefinisi ... 183
10.3. Tipe Data yang Dapat Didefinisikan Pengguna ... 189
xv
10.5. Larik (Array) ... 191
10.6. Larik dalam Port ... 193
10.7. Record ... 194
10.8. Konversi Data ... 194
10.9. Referensi ... 197
10.10. Pertanyaan ... 198
BAB XI Operator dan Atribut ... 199
11.1. Operator ... 199 11.1.1. Operator Keluaran ... 199 11.1.2. Operator Logika ... 200 11.1.3. Operator Aritmatika ... 201 11.1.4. Operator Pembanding ... 202 11.1.5. Operator Geser ... 202 11.1.6. Operator Overloading ... 203 11.1.7. Penggunaan Operator ... 204 11.2. Atribut Data ... 204
11.2.1. Atribut Signal Enumerasi ... 205
11.2.2. Atribut Signal ... 206
11.2.3. Atribut yang Didefinisikan Pengguna ... 207
11.3. Referensi ... 208
11.4. Pertanyaan ... 208
BAB XII Konkuren dan Sekuensial ... 209
12.1. Kode Konkuren ... 209
12.2. Logik Kombinasional Versus Sekuensial ... 209
12.3. Kode konkuren Versus Sekuensial ... 210
12.4. Deklarasi When ... 211 12.5. Generate ... 213 12.6. Block ... 214 12.6.1. Simple Block ... 214 12.6.2. Guarded Block ... 215 12.7. Kode Sekuensial ... 216 12.7.1. Process ... 217 12.7.2. If ... 217 12.7.3. Wait ... 218
12.7.4. Case ... 220
12.7.5. Case Versus if ... 220
12.7.6. Case Versus When ... 221
12.8. Referensi ... 221
12.9. Pertanyaan ... 222
BAB XIII ROM dan RAM ... 223
13.1. Pendahuluan ... 223
13.2. Read-Only Memory (ROM) ... 224
13.3. Perancangan ROM ... 226
13.4. Random Access Memory (RAM) ... 231
13.5. Referensi ... 233
13.6. Pertanyaan ... 234
BAB XIV Finite State Machine ... 235
14.1. Pendahuluan ... 235
14.2. Finite State Machine ... 237
14.3. Prinsip Kerja Finite State Machine ... 238
14.4. Referensi ... 251
14.5. Pertanyaan ... 252
BAB XV Implementasi FPGA untuk Sorting ... 253
15.1. Pendahuluan ... 253
15.2. Rekonfigurasi Field Programmable Gate Array (FPGA) ... 254
15.2.1. Arsitektur FPGA ... 256
15.2.2. Proses Implementasi FPGA ... 257
15.2.3. Optimasi Logik ... 257
15.2.4. Pemetaan Teknologi ... 257
15.2.5. Penempatan ... 258
15.2.6. Piranti Lunak Penjalaran ... 258
15.2.7. Bagian Pemrograman ... 258
15.3. VHDL Bahasa Pendukung FPGA ... 259
15.4. Mergesort ... 261
15.5. Rancangan Global ... 262
15.5.1. Rangkaian Shift-Register ... 264
xvii
15.5.3. Rangkaian Pembanding (Comparator) ... 265
15.5.4. Rangkaian Keluaran ... 265
15.6. Mergesort Berbasis FPGA ... 266
15.7. Referensi ... 268
BAB XVI Implementasi FPGA untuk Arithmetic Logic Unit ... 271
16.1. Pendahuluan ... 271
16.2. Arithmetic Logic Unit (ALU) ... 274
16.2.1. Unit Logik ... 277 16.2.2. Unit Aritmetik ... 278 16.3. Unit Shifter ... 279 16.4. Unit Multiplekser ... 281 16.5. Implementasi FPGA ... 284 16.6. Referensi ... 286 16.7. Pertanyaan ... 288
BAB XVII Implementasi FPGA untuk Convolutional Encoder ... 289
17.1. Pendahuluan ... 289
17.2. Convolutional Code ... 292
17.3. Field Programmable Gate Array (FPGA) ... 294
17.4. Implementasi Convolutional Encoder dalam FPGA ... 296
17.5. Referensi ... 302
17.6. Pertanyaan ... 304
BAB XVIII Interoperabilitas VHDL antara FPGA Xilinx dan Altera ... 305
18.1. Pendahuluan ... 305
18.2. Selayang Pandang VHDL ... 307
18.2.1. Xilinx ISE ... 311
18.2.2. Altera Max+Plus II ... 313
18.3. Interoperabilitas Xilinx ISE dan Max + Plus II 10.2 ... 315
18.4. Referensi ... 321
BAB XIX Antarmuka pada FPGA Xilinx Spartan-3E ... 323
19.1. Pendahuluan ... 323
19.2. Analog Capture Circuit ... 324
19.2.1. Programmable Pre-Amplifier ... 329
19.2.2. Analog-to-Digital Converter (ADC) ... 336
19.3. Pemrosesan Sinyal Digital ... 342
19.4. Digital-to-Analog Converter (DAC) ... 347
19.5. Referensi ... 357
19.6. Pertanyaan ... 358
BAB XX Implementasi FPGA untuk Pengukuran Daya Listrik ... 359
20.1. Pendahuluan ... 359
20.2. FPGA Spartan-3E Starter Kit ... 360
20.3. Teori Daya Listrik ... 363
20.4. Metodologi ... 366
20.4.1. Spesifikasi ... 366
20.4.2. Verifikasi ... 366
20.4.3. Implementasi ... 367
20.4.4. Debug dan Pengujian ... 367
20.4.5. Hasil ... 367 20.5. Referensi ... 372 20.6. Pertanyaan ... 373 DAFTAR PUSTAKA ... 375 LAMPIRAN ... 383 GLOSARIUM ... 385 INDEKS ... 387
xix
DAFTAR GAMBAR
Gambar 1.1 Perbandingan Analog dan Digital Secara
Grafik ... 4
Gambar 1.2 Gerbang Logika ... 22
Gambar 1.3 Gerbang Kombinasional ... 23
Gambar 2.1 Metode Pemrograman Piranti ... 27
Gambar 2.2 Prinsip Teknologi Fusible Link ... 28
Gambar 2.3 Teknologi Antifuse ... 30
Gambar 2.4 Prinsip Teknologi Antifuse ... 31
Gambar 2.5 Prinsip Teknologi Prom ... 33
Gambar 2.6 Teknologi Berbasis MOS Vs EPROM ... 34
Gambar 2.7 Prinsip Teknologi EPROM ... 35
Gambar 2.8 Teknologi EEPROM ... 36
Gambar 2.9 DRAM ... 37
Gambar 2.10 Konfigurasi SRAM ... 38
Gambar 2.11 Blok SRAM 2 MXN ... 39
Gambar 2.12 Pemrograman FPGA pada SRAM ... 41
Gambar 2.13 Konfigurasi SRAM pada FPGA ... 42
Gambar 2.14 Pembagian Jenis-jenis PLD ... 44
Gambar 2.15 Blok Diagram PLD ... 45
Gambar 2.16 PROM ... 46
Gambar 2.17 Contoh Implementasi PROM pada Full Adder ... 47
Gambar 2.18 PLA ... 48
Gambar 2.19 PAL ... 49
Gambar 2.20 Struktur CPLD ... 51
Gambar 2.21 Blok PAL yang terdapat pada CPLD ... 52
Gambar 2.22 Gate Array ... 54
Gambar 2.23 Arsitektur FPGA ... 62
Gambar 3.1 Skematik FPGA ... 71
Gambar 3.3 Grafik Throughput vs Kinerja Aritmetik
dari Jenis Virtex-4 ... 74
Gambar 3.4 Struktur Blok I/O Dasar ... 77
Gambar 3.5 CLB XC4000... 79
Gambar 3.6 Interkoneksi yang dapat Diprogram ... 82
Gambar 3.7 Contoh Optimisasi Low Level Logic: 8-To-1 MUX... 84
Gambar 4.1 Tingkat Deskripsi Perancangan ... 91
Gambar 4.2 Alur Computer Aided Design (CAD) ... 94
Gambar 5.1 Trend Kapasitas Teknologi FPGA Xilinx ... 103
Gambar 5.2 Alur Perancangan Sederhana ... 114
Gambar 6.1 Hubungan Antara Kerapatan IC Dan Prosentase Placement & Routing ... 118
Gambar 6.2 Floorplan Tingkat Tinggi... 124
Gambar 6.3 Floorplan dari Chip FPGA ... 125
Gambar 6.4 Pengecekan Pewaktuan ... 127
Gambar 6.5 Placement and Routing... 131
Gambar 7.1 Struktur Testbench... 152
Gambar 8.1 Relasi Perancangan antara Kode VHDL Dan FPGA ... 165
Gambar 8.2 Bagian Pokok Kode VHDL... 166
Gambar 8.3 Bagian Pokok Library ... 168
Gambar 8.4 Mode Sinyal ... 170
Gambar 9.1 Penyambungan Menggunakan Signal ... 175
Gambar 9.2 Perpaduan dan Pemisahan Sambungan ... 175
Gambar 13.1 Arsitektur ROM... 225
Gambar 13.2 Diagram Bentuk Gelombang Desain ROM ... 230
Gambar 14.1 Struktur Finite State Machine ... 237
Gambar 14.2. State Diagram Pengendali Elevator ... 241
Gambar 14.3 State Diagram FSM untuk Lampu Lalu Lintas ... 243
Gambar 14.4 Register Transfer Logic dari Gambar 14.3... 250
Gambar 14.5 Diagram Bentuk Gelombang Dari Gambar 14.3 ... 251
xxi
Gambar 15.2 Pemrograman FPGA Melalui PC ... 259
Gambar 15.3 Ringkasan Aliran VHDL ... 260
Gambar 15.4 Ilustrasi Mergesort ... 261
Gambar 15.5 Rancangan Modul Mergesort ... 263
Gambar 15.6 Bagan Shift-Register ... 264
Gambar 15.7 Bagan Multiplekser ... 264
Gambar 15.8 Bagan Rangkaian Pembanding ... 265
Gambar 15.9 Bagan Rangkaian Keluaran ... 265
Gambar 15.10 Diagram Bentuk Gelombang Dari Mergesort 4x8-Bit ... 266
Gambar 15.11 Floorplan dari Rangkaian Mergesort ... 267
Gambar 16.1 Bagan Desain ALU ... 282
Gambar 16.2 Bagan RTL Rancangan ALU ... 285
Gambar 17.1 Bagan Convolutional Encoder ... 293
Gambar 17.2 Floorplan dari Convolutional Encoder ... 300
Gambar 17.3 Diagram Bentuk Gelombang dari Convolutional Encoder ... 301
Gambar 18.1 Alur Compiler VHDL ... 310
Gambar 19.1 Bagan Sistem Perancangan ... 323
Gambar 19.2 Dua Saluran Analog Capture Circuit ... 324
Gambar 19.3 Skematik Amplifier dan ADC dari Linear Technology ... 325
Gambar 19.4 Contoh Pengolahan Sinyal Analog pada ADC ... 326
Gambar 19.5 Range Nilai Sinyal Terbaca pada ADC ... 326
Gambar 19.6 Blok FPGA untuk Mengendalikan Amplifier dan ADC ... 327
Gambar 19.7 Sinyal Digital yang Digunakan untuk Mengatur Gain ... 331
Gambar 19.8 Pewaktuan SPI ketika Berkomunikasi dengan Amplifier ... 332
Gambar 19.9 Antarmuka ADC ... 337
Gambar 19.10 Pewaktuan SPI ke ADC ... 338
Gambar 19.12 Rangkaian Turunan dari Top Level
Pengolah Sinyal ... 344 Gambar 19.13 Digital-To-Analog Converter dan Header
yang Digunakan... 347 Gambar 19.14 Skematik Digital-To-Analog ... 348 Gambar 19.15 Protokol Komunikasi SPI ke LTC2624
DAC ... 350 Gambar 19.16 Top Level Rangkaian Pengendali DAC ... 353 Gambar 20.1 Fpga Xilinx Spartan-3E Starter Kit Board ... 361 Gambar 20.2 Bagan Pengukuran Daya Listrik Berbasis
FPGA ... 365 Gambar 20.3. Rangkaian Pemrosesan Sinyal Digital
Untuk Daya Sesaat dan Daya Aktif... 366 Gambar 20.4 Sinyal Sck (Atas) Dan Mosi (Bawah) ... 368 Gambar 20.5 Floorplan Desain pada FPGA Spartan-3E ... 370