Bab 1 Introduction to ASICs
Application-Specific Integrated Circuit
ASIC merupakan kepanjangan dari application-specific integrated circuit. Berawal dari kelahiran VLSI (Very Large-Scale Integration), orang mulai menyadari kelebihan dari mendesain IC yang customized daripada menggunakan IC standar yang berdiri sendiri.
Yang dilakukan dalam Sistem Mikroelektronik kemudian adalah mendefinisikan fungsi yang bisa di-implementasi dengan IC standard dan kemudian meng-implementasikan fungsi logika yang tersisa dengan IC custom.
Setelah VLSI dapat digunakan, sistem dapat dibangun dari komponen dalam jumlah yang kecil dengan menggabungkan IC standard yang berjumlah relative banyak dengan IC custom yang berjumlah relative lebih sedikit. Membangun sistem mikroelektronik dengan IC yang lebih sedikit membuat biaya lebih rendah dan reliability yang tinggi.
Setelah Custom Integrated Circuits Conference (CICC) pertama digelar oleh IEEE, IC custom mendapat nama baru yaitu yang sekarang kita bahas sebagai ASIC.
Contoh IC yang bukan ASIC adalah bagian seperti: chip memory yang dijual untuk komoditas seperti ROM, SRAM, DRAM; microprocessor; TTL atau yang ekivalen dengan TTL pada level SSI, MSI, dan LSI.
Contoh IC yang merupakan ASIC termasuk: chip untuk mainan yang dapat berbicara; chip untuk satelit; chip untuk interface antara microprocessor dan memory pada CPU; dan chip yang mengandung microprocessor sebagai sel yang berbagi dengan logika lain.
ASIC dapat dibagi menjadi tiga tipe, yaitu full-custom IC, semicustom IC, dan programmable IC. Semicustom IC dan programmable IC kemudian dapat dibagi lagi menjadi beberapa tipe. Semicustom IC dapat dibagi menjadi dua tipe, yaitu standard-cell-based ASIC dan gate-array-based ASIC. Dan programmable ASIC dibagi menjadi programmable logic device dan -yang terbari dalam keluarga ASIC- field-programmable gate array.
Full-Custom ASIC
Dalam full-custom ASIC seorang perancang akan mendesain sebagian atau seluruh sel logika, rangkaian atau layout specific untuk satu ASIC. Tipe ini digunakan hanya jika tak ada cell library yang dapat digunakan untuk desain keseluruhan.
Standard-Cell-Based ASIC
Cell-based ASIC (cell-based IC, atau CBIC, baca: “sibik”) menggunakan sel logika perdesigned, (gerbang AND, OR, multiplexer, flip-flop) yang dikenal sebagai sel standar. Kita dapat mengaplikasikan CBIC pada IC apa saja yang menggunakan sel, tapi secara umum CBIC berarti standard-cell-based ASIC atau ASIC berbasis sel standar.
Gate-Array-Based ASIC
Pada gate-array-based ASIC transistornya di predefine pada wafer silicon. Pola predefine pada gate array dinamakan base array, dan elemen terkecil yang direplikasi untuk membentuk base array dinamakan base cell (kadang disebut primitive cell).
Gate-array-based ASIC sendiri terbagi menjadi beberapa tipe, yaitu Channeled gate array, Chanelles gate array, dan Structured gate array
Channeled Gate Array
Ada beberapa fitur penting pada tipe MGA (Masked Gate Array, sebutan lain dari Gate-Array-Based ASIC) ini. Yang pertama adalah Channeled Gate Array di-customized pada interconnect-nya saja. Interconnect itu menggunakan ruang antara barisan base cell yang predefined. Waktu yang dibutuhkan untuk manufaktur nya adalah antara 2 hari sampai 2 minggu. Channeled gate array ini mirip dengan CBIC, dalam hal bahwa keduanya menggunakan barisan sel yang dipisah oleh channel yang digunakan untuk interconnect. Bedanya adalah ruang untuk interconnect pada channeled gate array adalah tetap, sedangkan pada CBIC dapat diatur.
Channelles Gate Aray
Dikenal juga sebagai channel-free gate array atau sea-of-gates array (SOG array). Jelas perbedaannya dengan channeled gate array adalah bahwa SOG array ini tidak memiliki ruang antar sel. Sehingga routing antar sel dilakukan diatas gate-array itu. Ini bisa dilakukan karena kita mengatur contact layer yang mendefinisikan hubungan antar logam, lapisan pertama pada logam, dan transistor.
Structured Gate Array
Disebut juga embedded gate array. Gate array ini menggabungkan fitur pada CBIC dan MGA. Kelebihan pada CBIC digabungkan dengan kelebihan pada MGA, yaitu efesiensinya CBIC dengan biaya murah dan turnaround yang cepat milik MGA. Fitur penting pada embedded gate array ini adalah custom block nya dapat di-embedded.
Programmable Logic Device
Yang membuat programmable logic device (PLD) ini berada dalam keluarga ASIC adalah bahwa PLD dapat dikonfigurasi atau deprogram untuk membuat sebuah bagian customized pada sebuah aplikasi spesifik. Padahal sebenarnya PLD ini adalah IC standar yang dibuat secara massal. Fitur penting dari PLD adalah sebagai berikut:
• Tak ada mask layer atau sel logika yang customized
• Desain turnaround yang cepat
• Sebuah block besar tunggal interconnect yang programmable.
• Sebuah matrix macrocell logika yang biasanya berisi programmable logic array yang disambungkan dengan flip-flop atau latch
Field-Programmable Gate Array
Ini adalah tipe ASIC yang paling mutakhir. Perbedaan antara Field-Programmable Gate Array (FPGA) dengan PLD hanyalah bahwa biasanya FPGA lebih besar dan lebih kompleks dari PLD. Bahkan biasanya FPGA disebut juga complex PLD.
Yang dilakukan dalam Sistem Mikroelektronik kemudian adalah mendefinisikan fungsi yang bisa di-implementasi dengan IC standard dan kemudian meng-implementasikan fungsi logika yang tersisa dengan IC custom.
Setelah VLSI dapat digunakan, sistem dapat dibangun dari komponen dalam jumlah yang kecil dengan menggabungkan IC standard yang berjumlah relative banyak dengan IC custom yang berjumlah relative lebih sedikit. Membangun sistem mikroelektronik dengan IC yang lebih sedikit membuat biaya lebih rendah dan reliability yang tinggi.
Setelah Custom Integrated Circuits Conference (CICC) pertama digelar oleh IEEE, IC custom mendapat nama baru yaitu yang sekarang kita bahas sebagai ASIC.
Contoh IC yang bukan ASIC adalah bagian seperti: chip memory yang dijual untuk komoditas seperti ROM, SRAM, DRAM; microprocessor; TTL atau yang ekivalen dengan TTL pada level SSI, MSI, dan LSI.
Contoh IC yang merupakan ASIC termasuk: chip untuk mainan yang dapat berbicara; chip untuk satelit; chip untuk interface antara microprocessor dan memory pada CPU; dan chip yang mengandung microprocessor sebagai sel yang berbagi dengan logika lain.
ASIC dapat dibagi menjadi tiga tipe, yaitu full-custom IC, semicustom IC, dan programmable IC. Semicustom IC dan programmable IC kemudian dapat dibagi lagi menjadi beberapa tipe. Semicustom IC dapat dibagi menjadi dua tipe, yaitu standard-cell-based ASIC dan gate-array-based ASIC. Dan programmable ASIC dibagi menjadi programmable logic device dan -yang terbari dalam keluarga ASIC- field-programmable gate array.
Full-Custom ASIC
Dalam full-custom ASIC seorang perancang akan mendesain sebagian atau seluruh sel logika, rangkaian atau layout specific untuk satu ASIC. Tipe ini digunakan hanya jika tak ada cell library yang dapat digunakan untuk desain keseluruhan.
Standard-Cell-Based ASIC
Cell-based ASIC (cell-based IC, atau CBIC, baca: “sibik”) menggunakan sel logika perdesigned, (gerbang AND, OR, multiplexer, flip-flop) yang dikenal sebagai sel standar. Kita dapat mengaplikasikan CBIC pada IC apa saja yang menggunakan sel, tapi secara umum CBIC berarti standard-cell-based ASIC atau ASIC berbasis sel standar.
Gate-Array-Based ASIC
Pada gate-array-based ASIC transistornya di predefine pada wafer silicon. Pola predefine pada gate array dinamakan base array, dan elemen terkecil yang direplikasi untuk membentuk base array dinamakan base cell (kadang disebut primitive cell).
Gate-array-based ASIC sendiri terbagi menjadi beberapa tipe, yaitu Channeled gate array, Chanelles gate array, dan Structured gate array
Channeled Gate Array
Ada beberapa fitur penting pada tipe MGA (Masked Gate Array, sebutan lain dari Gate-Array-Based ASIC) ini. Yang pertama adalah Channeled Gate Array di-customized pada interconnect-nya saja. Interconnect itu menggunakan ruang antara barisan base cell yang predefined. Waktu yang dibutuhkan untuk manufaktur nya adalah antara 2 hari sampai 2 minggu. Channeled gate array ini mirip dengan CBIC, dalam hal bahwa keduanya menggunakan barisan sel yang dipisah oleh channel yang digunakan untuk interconnect. Bedanya adalah ruang untuk interconnect pada channeled gate array adalah tetap, sedangkan pada CBIC dapat diatur.
Channelles Gate Aray
Dikenal juga sebagai channel-free gate array atau sea-of-gates array (SOG array). Jelas perbedaannya dengan channeled gate array adalah bahwa SOG array ini tidak memiliki ruang antar sel. Sehingga routing antar sel dilakukan diatas gate-array itu. Ini bisa dilakukan karena kita mengatur contact layer yang mendefinisikan hubungan antar logam, lapisan pertama pada logam, dan transistor.
Structured Gate Array
Disebut juga embedded gate array. Gate array ini menggabungkan fitur pada CBIC dan MGA. Kelebihan pada CBIC digabungkan dengan kelebihan pada MGA, yaitu efesiensinya CBIC dengan biaya murah dan turnaround yang cepat milik MGA. Fitur penting pada embedded gate array ini adalah custom block nya dapat di-embedded.
Programmable Logic Device
Yang membuat programmable logic device (PLD) ini berada dalam keluarga ASIC adalah bahwa PLD dapat dikonfigurasi atau deprogram untuk membuat sebuah bagian customized pada sebuah aplikasi spesifik. Padahal sebenarnya PLD ini adalah IC standar yang dibuat secara massal. Fitur penting dari PLD adalah sebagai berikut:
• Tak ada mask layer atau sel logika yang customized
• Desain turnaround yang cepat
• Sebuah block besar tunggal interconnect yang programmable.
• Sebuah matrix macrocell logika yang biasanya berisi programmable logic array yang disambungkan dengan flip-flop atau latch
Field-Programmable Gate Array
Ini adalah tipe ASIC yang paling mutakhir. Perbedaan antara Field-Programmable Gate Array (FPGA) dengan PLD hanyalah bahwa biasanya FPGA lebih besar dan lebih kompleks dari PLD. Bahkan biasanya FPGA disebut juga complex PLD.
***
Tahap dalam mendesain ASIC adalah sebagai berikut:
1. Design entry: Memulai desain sistem ASIC denga HDL (hardware description language) atau dengan schematic entry
2. Logic synthesis: Membuat netlist, yaitu deskripsi dari logic cell dan koneksinya
3. System partitioning: Membagi sistem yang ebsar menjadi bagian-bagian berukuran ASIC
4. Prelayout simulation: Memeriksa apakah desain berfungsi semestinya atau tidak
5. Floorplanning: Mengatur blok netlist pada chip
6. Placement: Memutuskan lokasi tiap sel pada blok
7. Routing: Membuat koneksi antar sel dan blok
8. Extraction: Menentukan resistansi dan kapasitansi dari interconnection
9. Postlayout simulation: Memeriksa untuk melihat apakah desain tetap bekerja dengan interconnect yang telah ditambahkan.
***
Cell Library merupakan kunci dari desain ASIC. Setiap sel dalam ASIC cell library harus mengandung hal berikut:
Physical Layout:
Behavioral model
Verilog/VHDL model
Timing model yang detil
Test strategy
Circuit schematic
Cell icon
Wire-load model
Routing model
Untuk FPGA, perusahaan pembuatnya membuat cell library dalam bentuk design kit, sehingga kita tak punya pilihan, selain itu harganya juga teramat sangat mahal. Untuk MGA dan CBIC, kita punya tiga pilihan: Library dari vendor ASIC, beli library dari supplier pihak ketiga, atau membangun sendiri cell library kita.