Sunday, September 17, 2006

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.

***

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.

Bab 2 CMOS Logic
Application-Specific Integrated Circuit

Transistor CMOS memiliki 4 terminal: gate, source, drain, dan bulk. Terminal source dan drain ekivalen bila sinyal digital diperhatikan, sehingga CMOS bisa dianggap dua terminal.

Transistor CMOS dibuat hidup dan mati dengan menggunakan terminal gate. Ada dua jenis transistor: n-channel dan p-channel. n-channel memerlukan ‘1’ agar switch hidup dan p-channel memerlukan ‘0’ agar switch hidup.

Ratio digunakan untuk mengatur agar transistor n-channel memiliki tahanan yang sama dengan p –channel atau dinamakan dirve strength. Shape factor, adalah angka yang didapat dengan membandingkan lebar dengan tinggi l dari transistor.

n –channel dan p –channel memiliki logic level yang berbeda, kalau n –channel transistor dikatakan memiliki strong ‘0’ dan weak ‘1’ sedangkan p –channel transistor memiliki strong ‘1’ dan weak ‘0’.

Pengetahuan di atas akan berguna untuk membangun suatu rangkaian CMOS yang kombinasional. Memasangkan n –channel yang memiliki stong ‘0’ dengan p –channel yang memiliki strong ‘1’ sehingga ini dinamakan network dual.

Latch merupakan serangkaian CMOS yang membangun sebuah rangkaian logika yang synchronous. Jika latch itu adalah positive-enable D latch maka nilai keluaran dari rangkaian ini akan sama dengan nilai masukannya pada saat clock memberi nilai ‘1’ dan sebaliknya jika latch itu adalah negative-enable D latch.

Flip-flop juga merupakan rangkaian logika yang synchronous. flip-flop menggunakan dua rangkaian latch yang dipakai sebagai master dan slave. Hasilnya adalah, keluaran dari flip-flop akan mengikuti nilai dari masukan saat nilai dari clock berpindah dari ‘1’ ke ‘0’ pada negative-edge-triggered flip-flop dan sebaliknya pada postitif-edged flip-flop.

Pada rangkaian flip-flop dikenal istilah TSU atau Setup Up Time dan TH atau hold time. TSU adalah waktu dari saat mulai nilai yang ada pada masukan flip-flop saat clock berubah nilai sampai clock berubah nilai. Sedangkan TH­ adalah waktu dari saat clock berubah nilai sampai saat nilai masukan pada saat itu berganti kembali. Ini dapat dijelaskan dengan gambar dibawah ini.

Perbedaan antara menggunakan datapath, standard cell, atau gate array adalah jika pada CBIC atau MGA, sel diletakkan dalam bentuk barisan, tapi tak ada aturan dasar dalam pengaturan tiap sel dalam sebuah barisan, ini dibiarkan untuk ditangani oleh software. Sedangkan datapath secara otomatis mengurus sebagian besar interconnect antara sel dengan kelebihan sebagai berikut:

· Layout regular menghasilkan delay yang sama dan dapat diprediksi untuk tiap bit
· Interconnect antar sel dapat dibangun ke dalam setiap sel
Kekurangan dari datapath adalah sebagai berikut:
· Overhead nya dapat membuat sebuah datapath yang sempit menjadi lebih besar dan lebih pelan dari implementasi standard cell.
· Sel pada datapath harus di-predesign untuk digunakan pada ukuran datapath pada jangkauan yang lebar.
· Software untuk assembly datapath lebih kompleks dan tidak digunakan secara luas untuk meng-assembly standard cell atau gate array

Pipelining digunakan untuk meningkatkan kecepatan dalam sebuah rangkaian adder. Dalam pipelining dikenal istilah latency, yaitu waktu yang dibutuhkan untuk mengisi ruang dalam pipeline. Metode pipelining dapat dianalogikan dengan wahana bianglala di Dufan. Awal dari wahana ini membutuhkan waktu cukup lama untuk mengisi setiap bangku pada setiap jari-jari dari bianglala, namun setelah semua telah terisi bianglala akan berjalan dengan lancar..