Jan 12

Resolusi 2008? Bukan… Bukan… Yang saya maksud adalah resolusi pada sistem litografi.

Seperti saya ulas pada tulisan terdahulu bahwa resolusi sistem litografi merupakan penggerak utama perkembangan teknologi chip untuk tetap bisa mengikuti hukum Moore.

Ukuran di alam

Pertanyaannya bagaimana memperbaiki resolusi suatu sistem litografi?

Secara sederhana ada 3 variabel yang mempengaruhi resolusi, yaitu panjang gelombang cahaya yang digunakan, numerical aperture, dan yang terakhir yang lebih abstrak adalah faktor k1.

formula-resolusi.png

Pada dasarnya proses litografi mirip dengan teknik percetakan atau
sablon. Jika percetakan atau sablon menggunakan tinta dan master
cetakan, proses litografi pada semikonduktor menggunakan cahaya dan
mask (atau juga disebut reticle).

skematik dasar sistem litografi

Sumber cahaya mula-mula di-’searahkan’ melalui lensa kondenser. Tujuannya supaya cahaya yang dihasilkan memiliki tingkat koherensi tertentu. Pada saat cahaya melewati mask (reticle), akan terjadi difraksi. Difraksi terjadi karena cahaya melewati pola-pola design yang sangat kecil hingga kurang dari 1/2 panjang gelombang cahayanya.

Panjang gelombang

Difraksi akan membelokkan cahaya menjadi gelap dan terang. (Ingat pelajaran Fisika SMU tentang difraksi?) Sudut simpangannya akan berbanding lurus dengan panjang gelombang cahayanya.

Difraksi pada lubang kecil

Apabila panjang gelombang diperpendek, akan semakin banyak orde (gelap dan terang) yang dapat ditangkap oleh lensa proyeksi. Dan semakin banyak orde yang tertampung akan meningkatkan kualitas gambar yang dihasilkan.

Numerical Aperture

Pada dasarnya NA merupakan sinus sudut datang lensa proyeksi pada wafer. Singkatnya, ukuran untuk menentukan luas lensa (bukan secara fisik, tapi secara optik). Semakin besar NA, semakin banyak cahaya datang yang dapat ditampung oleh lensa.

Karena sifat difraksi yang menyebabkan cahaya terbagi menjadi beberapa orde, semakin tinggi NA semakin banyak orde cahaya yang dapat ditangkap, sehingga ketajaman gambar dan resolusi semakin baik.

k1

Faktor k1 yang mempengaruhi resolusi di antaranya :

  • fotoresis
  • tingkat koherensi cahaya sumber (koheren secara parsial lebih baik)
  • iluminasi di luar sumbu optik (off-axis illumination)
  • koreksi optik jarak dekat (optical proximity correction)
  • scattering bar
  • litografi selam (immersion lithography)
  • dan lain lain
Jan 10

Litografi pada proses pembuatan IC seringkali dianalogikan dengan
bintang. Kok bintang? Karena bintang itu kecil.

Litografi adalah teknik untuk memindahkan gambar atau pola desain
suatu chip dari mask (atau master) ke atas wafer. Karena pola yang
akan dicetak hanya berukuran puluhan atau ratusan nanometer (1
nanometer = 1 per sejuta milimeter) makanya seringkali kita harus
meminjam istilah dan teori dalam teknik melihat bintang.

Sebut saja resolusi Rayleigh yang menyatakan bahwa dua buah bintang
yang saling berdekatan akan dapat dibedakan satu sama lain apabila
jarak keduanya lebih dari suatu bilangan yang berbanding lurus dengan
panjang gelombang cahayanya dan berbanding terbalik dengan numerical
aperture lensa penglihatnya.

Jarak terdekat untuk membedakan dua bintang yang saling berdekatan itu
disebut resolusi.

Apabila jaraknya kurang dari resolusi, kedua bintang tersebut akan
terlihat seperti 1 bintang.

Atau dengan kata lain apabila resolusinya semakin kecil, kita akan
dapat melihat lebih banyak bintang.

Kembali kepada litografi, bintang tersebut dapat kita analogikan
sebagai sisi dari suatu pola, misalnya sisi bujur sangkar. Semakin
baik resolusi suatu sistem litografi, maka kita akan dapat membuat
pola dengan jarak yang semakin dekat.

Memperbaiki resolusi sistem litografi

Salah satu pendiri Intel, Gordon Moore, menyatakan bahwa kerapatan
suatu chip akan berlipat ganda setiap 18 bulan.

Hingga saat ini seluruh industri semikonduktor di dunia berusaha keras
agar ia dapat menghasilkan teknologi sejalan dengan ‘hukum Moore’ ini.

Perkembangan teknologi semikonduktor

Karena tingkat kerapatan suatu chip erat kaitannya dengan resolusi
sistem litografi, tak heran apabila litografi disebut sebagai
penggerak hukum Moore. Atau lebih kerennya lagi litografi merupakan
penggerak kemajuan industri semikonduktor.

Tanpa litografi yang lebih modern, tidak mungkin kita bisa membuat
chip yang makin padat fitur dan kecanggihan yang kita rasakan hingga
kini.

Bagaimana caranya? Saya akan tulis beberapa tekniknya dalam beberapa
post setelah ini.

Jan 4

Tulisan saya terdahulu membahas tentang overlay dan secara garis besar
bagaimana chipmaker mampu mengontrol hingga 1 per 10 ribu diameter
rambut.

Karena ketatnya spesifikasi overlay ini, orang mulai memikirkan
bagaimana overlay dapat dimodelkan sehingga alignment dapat dikoreksi
dengan lebih akurat.

Model yang paling sederhana kita sebut model tingkat nol di mana layer
yang akan dicetak bergeser secara konstan searah sumbu x dan/atau y.
Koreksi kesalahan dapat sangat mudah dilakukan, yaitu dengan menggeser
wafer ke arah sebaliknya sehingga alignment dengan layer di bawahnya
menjadi sempurna.

Model tingkat berikutnya adalah model linear di mana pergeseran
(misalignment) tergantung dari posisinya. Dalam Bahasa matematika kita
sebut x’= ax + c di mana x merupakan posisi layer di bawahnya dan x’
adalah layer yang akan kita cetak. Sama halnya dengan y yang bisa
dimodelkan dengan y’ = by + d.

Contoh sederhana model ini adalah jika terjadi ekspansi atau pemuaian
pada wafer atau mask. Pemuaian sendiri terjadi karena pemrosesan wafer
yang seringkali harus menggunakan suhu tinggi hingga beberapa ratus
derajat celcius.

Walaupun tingkat pemuaiannya hanya sekitar 6 angka di belakang koma,
tetapi mengingat ukuran wafer yang besar (dalam dua atau tiga ratus
milimeter), kesalahan alignment menjadi sangat besar dalam ukuran
nanometer.

Perlu dicatat juga bahwa ekspansi di sumbu x dan y tidak harus selalu
sama. Pada kasus pemuaian biasa perubahan panjang pada sumbu x dan y
selalu sebanding. Tapi ada beberapa hal yang bisa menyebabkan ekspansi
x dan y tidak merata, misalnya karena layout dan perbedaan
kerapatan/densitas yang tidak merata pada seluruh chip.

Masih pada model linear, ada satu model lagi yang tergantung pada
sumbu lawannya. Misalnya pergeseran x disebabkan oleh y dan
sebaliknya. Dalam ekspresi matematika x’ = ky + t dan y’ = lx + u.

Contohnya adalah rotasi, di mana layer di bawahnya terputar sehingga
tepi chip dengan layer di bawahnya tidak lagi sejajar. Misalnya akibat
chemical and mechanical polishing (CMP).

Jan 2

Salah satu hal yang cukup rumit dalam proses litografi adalah overlay,
yaitu ukuran seberapa baik satu layer dicetak diatas layer yang lain.

Chip tersusun dari beberapa lapis material yang memiliki pola tertentu
dan saling terkait satu sama lain.

Analogi sederhananya seperti teknik sablon pada baju atau kartu ucapan berwarna.

Tukang sablon akan membuat beberapa master berdasarkan warna. Kemudian
master-master ini dicetak pada baju atau kartu ucapan secara berurutan
hingga semua warna pada desain tercetak.

Pada analogi tukang sablon, mereka harus memastikan bahwa cetakan
setiap master harus simetris tepat di atas cetakan sebelumnya.

Kembali pada proses litografi, ukuran seberapa baik suatu layer
dicetak di atas layer lain disebut overlay.

Chipmaker harus bisa mengontrol overlay hingga satu per 10 ribu
diameter rambut manusia.

Bagaimana caranya? Yaitu dengan optics. Maksudnya bukan sekedar
mikroskop, tapi juga memanfaatkan difraksi untuk membaca tanda
alignment pada wafer dan interferometer untuk mengatur posisi wafer di
bawah lensa.

Nov 2

Saya sedang melakukan riset kecil-kecilan untuk melakukan pemetaan, visualisasi dan pengolahan design chip. Kenapa saya tidak pake software komersil aja, gitu aja kok repot? Why invent a new wheel?

Ada beberapa alasan:

1. Software komersil terlalu komersil. Kebanyakan vendor menjual software dalam bentuk license baik floating maupun fixed IP. Dan untuk menjamin hanya orang yang membutuhkan mendapatkan license, license ini diikat dengan user name, dan ini terlalu restriktif. Bahkan untuk orang yang bekerja di perusahaan yang notabene pembuat chip pun, kadang kala saya tidak kebagian license.

2. Kecepatan pemrosesan, kebutuhan hardware (baik prosesor dan memori) komputer. Saat ini design chip sudah pada generasi 45nm, yang artinya chip berukuran 1 mm x 1 mm bisa memiliki milyaran lubang kontak/via (penguhubung polisilikon dan metal). Ukuran file bisa dengan mudah mencapai orde puluhan GB. Pada umumnya software CAD membaca seluruh isi file dan meletakkan di memori. Komputer kerja pada umumnya tidak memiliki memori sebanyak itu.

3. Kebutuhan software design chip ini di masa depan semakin kritis, apalagi litografi 45nm ke bawah (mungkin hingga 22nm, hingga litografi dengan panjang gelombang 13.5nm atau EUV siap) akan semakin bergantung pada litografi komputasi. Misalnya koreksi optik jarak dekat (OPC = optical proximity correction) akibat semakin sulitnya mencetak rangkaian dengan dimensi 45nm dengan menggunakan cahaya biasa. (45nm ini setara dengan 1/200000 diameter rambut, dan hanya dapat dilihat dengan mikroskop elektron dengan pembesaran lebih dari 400 ribu kali)

4. Pemrosesan design chip ini akan semakin meluas penggunaannya, misalnya untuk mengarahkan mesin pengukuran untuk mengukur suatu rangkaian di lokasi tertentu. Secara tradisional (hingga kini) mesin-mesin pengukuran mengandalkan manusia untuk mengarahkan mesin tersebut ke posisi yang diinginkan, kemudian “mengajarkan” mesin untuk mengingat koordinat, mengenali lingkungan sekitarnya, sehingga secara otomatis dapat kembali ke tempat tersebut dan melakukan pengukuran secara otomatis.

Tapi perlu diingat bahwa pengenalan pola (pattern) yang dilakukan manusia adalah sangat lambat, apalagi jika harus mencari suatu struktur di tengah jutaan struktur lain yang serupa. Ibarat mencari jarum dalam tumpukan jerami. Apabila lokasi dan pola tersebut dapat diambil dari gambar design chip, dan mesin secara otomatis mengolah design chip ini untuk melakukan pengukuran, hal ini menjadi sangat mudah. Masalahnya pemrosesan harus dilakukan dalam waktu singkat.

5. Kebutuhan untuk melakukan penyuntingan (editing) design secara otomatis. Kebanyakan vendor sudah dapat melakukan ini, sehingga penggambaran dan penyuntingan design dapat dilakukan lebih reliable dan cepat.

Lalu apa kriteria yang saya inginkan dalam software tersebut :

Open source, seluruhnya, dan free untuk digunakan untuk keperluan apapun, termasuk komersial. Pemrosesan cepat, skalabilitas tinggi. Mampu membaca berbagai macam input, terutatam GDS II dan OASIS. Makro untuk pengolahan secara otomatis.

Di dalam pasaran open source sendiri sudah ada beberapa software yang mampu melakukan hal-hal di atas, berikut ini yang pernah saya coba :

1. MAGIC

Software yang dibuat oleh Berkeley, mampu membaca GDSII dan kemudian mengubahnya menjadi format .mag. Kelebihannya adalah software ini selain untuk keperluan gambar, juga dapat melakukan berbagai fungsi design, seperti melakukan pengecekan design, routing otomatis, dan lain-lain. Kelemahannya adalah karena struktur data GDSII harus diubah menjadi suatu bentuk yang menyerupai design, misalnya dalam bentuk polisilikon, kontak, atau metal. Karena lebih mendekati design secara komponen, MAGIC bukan software yang saya cari

2. Electric

Sama seperti MAGIC, Electric merupakan software terintegrasi yang lebih dekat pada design. Selain itu struktur software yang menggunakan Java, membuat seluruh program terasa sangat lambat, apalagi jika harus membuka design yang besarnya ratusan MB. Secara internal Electric juga mengubah gambar geometris (poligon, titik, kotak, dll) menjadi suatu rangkaian yang bermakna secara elektronik, misalnya gate, kontak, dll. Ini bukan software yang saya inginkan

3. LayoutEditor

Dibuat dalam bahasa C++ dengan interface Qt4 membuat software ini sedikit lebih cepat. Secara internal LayoutEditor tidak mengubah gambar geometris menjadi rangkaian elektronik. Ini yang saya cari. Tapi struktur programnya tidak memungkinkan indexing dan pencarian geometris dengan cepat. Setiap poligon atau boks dinyatakan dalam class (tergantung dari bentuknya) yang kemudian dikumpulkan dalam bentuk list. Pencarian dilakukan secara beruntun satu demi satu, dan pengolahan citra dilakukan individual dalam class masing-masing. Dapat ditebak bahwa program ini tidak memiliki skalabilitas untuk pengolahan design lebih dari beberapa ratus MB. Kelebihannya adalah LayoutEditor mendukung makro untuk pengolahan gambar secara otomatis, dengan makro yang menyerupai bahasa C++

4. KLayout

KLayout juga ditulis dalam bahasa C++ dengan interface Qt4, ditambah dengan algoritma elegan, seperti R-tree yang digunakan oleh OpenGIS untuk pemetaan geografis. R-tree adalah struktur data yang sangat efektif untuk pengolahan citra 2 dimensi, karena setiap geometri diletakkan berdasarkan kedekatannya secara geometris dengan geometri yang lain. Dengan cara ini, pencarian data dapat dilakukan dengan cepat. Ini mungkin model yang paling cocok untuk pengolahan citra CAD, bukan hanya untuk design chip, tapi juga untuk design-design lainnya. Kekurangannya, belum ada fasilitas penyuntingan dan makro. Selain itu fasilitas standar lain, seperti pengukuran, snap to edge, juga belum diimplementasi.