Perangkat Logika Terprogram Dr. Aqwam Rosadi Kardian. Program Studi Sistem Komputer Universitas Gunadarma
Materi Kuliah Pengenalan dan konsep dasar Perbandingan teknologi Arsitektur FPGA Perancangan FPGA Pemrograman VHDL Simulasi dan Sintesis Studi kasus:CPLD Board Studi kasus dan tugas
Pengenalan dan konsep dasar
Programmable Logic Devices (PLDs) Perangkat Logika Terprogram Field-Programmable Device (FPD) Istilah umum yang mengacu pada segala jenis IC yang digunakan untuk aplikasi perangkat keras digital, dimana chipnya dapat dikonfigurasi oleh pemakai untuk merealisasikan desain yang berbeda beda Chip general-purpose yang digunakan untuk mengimplementasikan rangkaian logika (kombinasional).
PLDs … PLD merupakan komponen elektronik yang dapat digunakan untuk membangun rangkaian digital sesuai dengan keinginan perancang Beradasrkan jumlah gerbang logika yang dimiliki, PLD dibedakan: PLD SPLD PLA PAL CPLD FPGA
Sejarah perkembangan PLDs Chip pertama yang dapat diprogram dan diterapkan dalam rangkaian logika adalah PROM (programmable Read-only memory). Arsitektur PROMs tidak efisien untuk rangkaian logika, jarang dipergunakan. Piranti pertama yang dikembangkan untuk dipakai dalam rangkaian logika adalah Field- Programmable Logic Array (FPLA) atau biasa disingkat hanya PLA.
Teknologi Fusible link Salah satu teknologi awal yang mengijinkan pemakai untuk memprogram piranti. Piranti dipabrikasi dengan semua link refer ke fuse.
Pengenalan & Konsep Teknologi Antifuse Saat belum program, antifuse mempunyai resistansi yang sangat tinggi (rangkaian open). Setelah diprogram, terbentuk link. Diprogram dengan memberik pulsa tegangan tinggi pada input . Teknologi OTP, sekali terbentuk link, tidak dapat di hilangkan.
Pengenalan & Konsep Mask-programmed devices Dua jenis memori dalamkomputer: ROM (read only memory) dan RAM (random access memory). ROM: nonvolatile, mask-programmable RAM volatile Jenis ROM: Mask-ROM, PROM, EPROM, EEPROM, FLASH
Pengenalan & Konsep Teknologi Pemrograman
Pengenalan & Konsep FPGA Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (IC) that contain configurable (programmable) blocks of logic along with configurable interconnects between these blocks. Gerbang-gerbang digital dimana interkoneksi antar masing-masing gerbang dapat di konfigurasi satu sama lain, serta dirancang sesuai keinginan dan kebutuhan pemakai tanpa melalui proses “burn”.
Pengenalan & Konsep FPGA Sebuah FPGA Digunakan sebagai model atau prototyping karena mempunyai software simulasi seperti Xilink. Bisa dikatakan Adalah sebuah prosesor atau embedded controller Teknologi FPGA berawal dari PROM, EPROM, EEPROM, FROM dan SRAM
Perbandingan Teknologi
Perbandingan Teknologi Technology Timeline
Perbandingan Teknologi Transistor 23 Desember 1947, Fisikawan Willian Shockley , Walter Brattain dan John Barden yang bekerja di Bell Laboratories, Amerika sukses membuat transistor pertama. Menggunakan germanium Tahun 1950: bipolar juction transistor (BJT) Akhir tahun 1950 pabrikasi transistor menggunakan Silikon: TTL dan ECL Tahun 1962, Steven Hofstein dan Fredric Heiman dari RCA research laboratory di Princeton, NewJersey mengenalkan MOSFET, walau awalnya lebih lambat dari bipolar, tetapi lebih murah, kecil dan less-power. Ada 2 FET (NMOS dan PMOS) CMOS
Perbandingan Teknologi Integrated circuits Ide pabrikasi beberapa rangkaian dalam sebuah semikonduktor: G.W.A Dummer 1952. Jack Kilby dari Texa Instrument, tahun 1958 sukses membuat phase-shift oscilator comprising five components dalam sebuah semikonduktor. Tahun yang sama, pendiri Fairchild Semiconductors Fisikawan Swiss Jean Hoern dan fisikawan Ameriksa Robert Noyce menggunakan teknik underlying optical lithographic untuk membuat transistor, insulating layer dan interkoneksi pada IC. Pertengahan 1960, Texas Instrument memperkenalkan IC seri 54xx dan 74xx
Perbandingan Teknologi SRAMs, DRAMs, dan mikroprosesor Akhir tahun 1960 dan awal tahun 1970 adalah pengembangan baru dibidang IC digital Internaitonal Research Corporation, 1968: arsitektur untuk “computer-on-a-chip”. 1970, Intel memperkenalkan DRAM pertama (1024-bit) dan Fairchild memperkenalkan SRAM pertama (256-bit). Desember 1970, Gilbert Hyatt mempatenkan “Single Chip IC Computer Architecture. 1971, Intel memperkenalkan mikroprosesor pertama, 4004 berisi 2.300 transistor, beroperasi 60.000 per detik. First Physically constructed, commercially available, useful tasks
Perbandingan Teknologi SPLDs dan CPLDs Programmable logic divices (PLDs): adalah IC pertama yang dapat diprogram. Komponennya dalam bentuk PROMs pada tahun 1970. Akhir 1970, versi yang lebih kompleks hadir: complex PLDs (CPLDs).
Perbandingan Teknologi PROMs SPLD pertama adalah PROM pada 1970. Simple 3-input, 3-output PROM PROMs are useful for equations requiring a large number of product terms, but they can support relatively few inputs because every input combination is always decoded and used.
Perbandingan Teknologi PLAs Untuk mengatasi kelemahan arsitektur PROM, perkembangan PLD selanjutnya adalah PLAs (programmable logic arrays), tersedia tahun 1975 Fakta bahwa array AND dan OR diprogram, berarti bahwa PLAs lebih lambat dari PROMs Arsitekturnya yang umum adalah AND-OR, walaupun secara teori adalah mungkin: OR-AND, NAND-OR, NAND-NOR, NOT-NOR-NOR-NOT.
Perbandingan Teknologi PALs dan GALs Masalah kecepatan PLAs, diatasi dengan PAL (programmable array logic), dikenalkan akhir tahun 1970an. Variasi dari PAL adalah GAL (generic array logic), pada 1983, dibuat oleh Lattice Semiconductor Corporation
Perbandingan Teknologi CPLDs Perkembangan elektronika melihat Kapabilitas makin besar Ukuran makin kecil Lebih cepat Lebih powerful Lebih murah MegaPAL: 84-pin, kompres 4 PAL standar, tetapi daya lebih besar dan hanya sedikit kelebihan Altera, 1984 memperkenalkan CPLD didasarkan pada kombinasi teknologi CMOS (menangani kompleksitas, power kecil) & EPROM (ideal untuk lingkungan pengembangan dan prototyping)
Perbandingan Teknologi … lanjutan CPLDs Bergantung pada pabrikasi yang membuat, The CPLD’s programmable switches bisa didasarkan pada: EPROM, EEPROM, FLASH atau SRAM Struktur genertik CPLD PIM terdiri dari 100 wire, tetapi SPLD blok hanya mengakomir 30, maka perlu programmble multiplexer
Perbandingan Teknologi ABEL, CUPL, PALASM Pada 1980 JEDEC mengusulkan format standar PLD programming text files. Saat yang sama John Birkner (konseptor PAL), membuat PALAssembler (PALASM) Advanced Boolean Expression Language (ABEL) dirilis tahun 1983, bersamaan dengan CUPL (Common Universal tool for Programmable Logic). PALASM, ABEL, CUPL adalah software awal HDL (hardware description language). Lainnya adalah AMAZE Perkembangan selanjutnya adalah higher-level HDLs (Verilog & VHDL) dan tools (logic synthesis). Digunakan untuk desain dalam ASIC dan FPGA
Complex Programmable Logic Device (CPLD) CPLD adalah gabungan dari beberapa SPLD yang dihubungkan oleh Programmable Switching Matrix. Jadi, CPLD merupakan sebuah programmable logic device dengan kompleksitas antara Programmable Array Logic (PAL) dan FPGA.
Karakteristik CPLD CPLD memiliki sifat non-volatile yang diadopsi dari PAL. Memiliki banyak gerbang yang diadopsi dari FPGA, meskipun gerbang PAL tidak sebanyak FPGA. Jumlah gerbang yang terdapat pada IC CPLD berkisar antara ribuan sampai ratusan ribu gerbang logika.
Arsitektur CPLD
Logic Block memiliki macrocell yang terdiri dari sebuah SPLD dan sebuah flip-flop. I/O Block merupakan bagian pada CPLD yang digunakan sebagai interface data yang akan masuk dan keluar pada CPLD. Programmable Interconnect digunakan sebagai penghubung antar macrocell atau antara macrocell dengan I/O Block.
Application-Specific Integrated Circuit (ASIC) ASIC adalah IC yang hanya digunakan pada keperluan tertentu , kompleksitas IC ini cukup tinggi jadi tidak muat pada CPLD .
Soal:
Jawab 1:
Jawab 2:
Arsitektur FPGA
PLDs, ASICs & FPGA Pada tahun 1980an ada gap antara IC digital, yaitu PLD dan ASIC
Arsitektur FPGA FPGA adalah suatu IC program logic dengan arsitektur seperti susunan matrik sel-sel logika yang dibuat saling berhubungan satu sama lain. Memiliki jalur – jalur I/O FPGA yang memadai. Mempunyai banyak gate: 5000 s/d juta-an gate Kecepatan ~100 MHz Memiliki sifat Programmable tapi, bersifat Volatile.
Arsitektur FPGA Programmable User dapat memakai IC digital secara berulang-ulang untuk menyesuaikan program yang akan didownload ke dalam FPGA. Volatile Jika listrik mati maka secara otomatis fungsi FPGA akan hilang, artinya data yang telah diproses dan didownload akan hilang semuanya.
Arsitektur FPGA Alasan penggunaan fpga Memiliki kemampuan untuk menangani beban komputasi yang begitu berat. Menghilangkan tugas-tugas intensif dari Digital Signal Processing. Kustomisasi arsitektur agar sesuai dengan algoritma ideal. Mengurangi biaya sistem. Efisiensi biaya.
Arsitektur FPGA Awal dari teknologi fpga PROM (Programmable Read Only Memory) EPROM (Erasable Programmable Read Only Memory) EEPROM (Electrically Erasable Programmable Read Only Memory) FLASH SRAM (Static Random Access Memory)
Arsitektur FPGA Teknologi yang berhubungan dgn FPGA Transistor, IC (Integrated Circuit), SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), SPLD (Simple Programmable Logic Devices), CPLD (Complex Programmable logic Devices), ASIC
Arsitektur FPGA Geometri IC Channel, awal sampai pertengahan 1980 : 3 m Teknologi node, 1990an: 1 m 2001: lebih kecil dari 0.18m 2002: 0.13 m 2003: 0.09 m = 90nm DSM, deep submicron: geometri yang lebih kecil atau sekitar 0.5 m. UDSM, ultradeep submicron: lebih kecil lagi
Arsitektur FPGA Piranti berdasarkan SRAM Sebagain besar FPGA berdasarkan SRAM, artinya dapat di konfigurasi setiap saat. Kelebihan teknik ini: Desain awal dapat segera diimplementasikan dan diuji. Pirati ini forefront of technology SRAM adalah teknologi CMOS Struktur FPGA mudah untuk identifikasi dan lokasi masalah. Perhatian utama piranti dengan SRAM adalah sulit untuk memproteksi intellectual property dalam desain, karena disimpan di memori eksternal.
Arsitektur FPGA Piranti berdasarkan SRAM Sebagain besar FPGA berdasarkan SRAM, artinya dapat di konfigurasi setiap saat. Kelebihan teknik ini: Desain awal dapat segera diimplementasikan dan diuji. Pirati ini forefront of technology SRAM adalah teknologi CMOS Struktur FPGA mudah untuk identifikasi dan lokasi masalah. Perhatian utama piranti dengan SRAM adalah sulit untuk memproteksi intellectual property dalam desain, karena disimpan di memori eksternal.
Field Programmable Gate Array (FPGA) Untuk mengimplementasikan rangkaian yang lebih besar lagi, digunakan tipe IC yang dapat mempunyai kapasitas logika yang lebih besar: Field Programmable Gate Array (FPGA) Tidak berisi blok AND dan OR. Tapi, berisi array blok logika dan jalur interkoneksi antar blok. Jalur interkoneksi disusun sebagai kanal routing secara horisontal dan vertikal yang berisi programmable switch. Dapat mengimplementasikan fungsi logika dengan jumlah gerbang ekivalen jutaan.
Field Programmable Gate Array (FPGA) Terdiri dari: Configurable Logic Blocks (CLB). Input/Output Blocks (IOB). Programmable Switch Matrix (PSM)
Configurable Logic Blocks (CLB) CLB merupakan blok untuk membangun komponen-komponen combinational/sequential. Untuk dapat membentuk CLB dibutuhkan truth table dalam membangun jalur logika.
Input/Output Blocks (IOB) IOB merupakan blok yang digunakan untuk mengirimkan sinyal keluar dari chip dan sekaligus membaca sinyal yang masuk ke dalam chip.
Programmable Switch Matrix (PSM) PSM merupakan penghubung yang bisa diatur sedemikian rupa untuk menghubungkan antar CLB dan CLB dengan IOB secara horizontal maupun secara vertikal. Dapat mengeluarkan fan out (kemampuan untuk mengirimkan data ke banyak sumber untuk dijadikan input sekaligus) untuk multiple output. Jadi, output dari CLB yang satu dapat dihubungkan ke input CLB yang lain melalui multiple PSM.
Konfigurasi sebuah LUT
Perancangan FPGA
Proses Pemrograman pada FPGA
Text Entry menggunakan VHDL (Verylog Hardware Definition Language) Design Entry Text Entry menggunakan VHDL (Verylog Hardware Definition Language) Schematic Entry
Functional Simulation Tujuan: memastikan rancangan rangkaian logika bekerja sesuai keinginan dengan input waveforms yang digunakan.
Implementation Synthesis Optimasi rangkaian logika dalam penggunaan gerbang. Menghasilkan netlist yang merupakan daftar connection yang mendeskripsikan komponen dan keterhubungan komponen tersebut. Implementation Meliputi: mapping, placing, and routing rancangan sehingga dapat diimplementasikan ke IC FPGA sesuai arsitektur dan konfigurasi pin IC FPGA tersebut.
Timing Simulation Verifikasi rangkaian apakah sudah bekerja pada frekuensi yang diinginkan dan tidak ada propagation delay.
Device Programming Membuat bitstream yang merepresentasikan rancangan akhir dan akan dikirim ke target device.
Pemrograman VHDL
VHDL Didasarkan pada bahasa pemrograman perangkat lunak ADA, tapi tidak sama, dan juga bukan software bahasa pemrograman. Hardware descriptionlanguage yang didesain untuk merancang rangkaian logika digital, yang memiliki fitur: Bahasa pemrograman konvensional seperti PASCAL dan C. Bahasa deskripsi logika seperti ABEL-HDL. Bahasa Netlist seperti EDIF Manajemen desaian & Modeling yang presisi
Contoh pemrograman VHDL Berikut contoh gerbang AND dan NOT Buatlah untuk gerbang NAND, OR, NOR, XOR (Rangkaian logika, table kebenaran, program)
Contoh pemrograman VHDL Berikut contoh pemrograman Half Adder Buatlah rangkaian logika, table kebenaran dan pemrograman untuk FULL ADDER
Contoh pemrograman VHDL Berikut contoh pemrograman Half Substractor Buatlah rangkaian logika, table kebenaran dan pemrograman untuk FULL SUBSTRACTOR
VERILOG Verilog adalah sdalah satu bahasa HDL (hardware description language) yang dipergunakan untuk menggambarkan system digital pada suatu perangkat keras. Verilog adalah bahasa yang popular sekitar tahun 1990an, walaupun saat ini banyak inustri mulai beralih kebahasa VHDL
Contoh pemrograman Verilog Berikut contoh pemrograman AND dan Half ADDER Buatlah rangkaian logika, table kebenaran dan pemrograman untuk OR, XOR, XNOR, NAND, FULL ADDER
Simulasi dan Sintesis
Studi kasus: CPLD Board
Studi kasus & Tugas