Desain dan pembuatan sirkuit mikro ternary menggunakan teknologi proses CMOS biasa



Banyak yang mengklaim bahwa mereka membangun komputer ternary dari komponen diskrit, tetapi beberapa sedang mengembangkan dan memesan sirkuit mikro ternary sekarang :)



Saya mengembangkan dan memesan microcircuit ternary pertama saya (kristal yang sama dikemas dalam 3 ukuran berbeda - DIP40, DIP28 dan SOIC16) pada tahun 2015. Hari ini adalah pengalaman pertama dan terakhir saya dari jenis ini, tetapi ada keinginan dan kekuatan untuk mencoba lagi - dengan mempertimbangkan pengalaman yang diperoleh dan dengan memperhatikan kegunaan nyata seperti logika terprogram yang terprogram dan / atau mikrokontroler ternary - sesuatu yang segera bisa digunakan.

Dan sekarang tentang bagaimana sebenarnya saya melakukannya dan apa yang terjadi. Epik tiga kali lipat saya dimulai pada akhir 2004, ketika nedoPC di forum saya retrocomputer dan pecinta elektronik rumahandiskusi dimulai pada sistem bilangan terner seimbang dan kemungkinan membangun komputer baru berdasarkan itu. Kemudian para pengguna forum mulai mencari materi tentang topik ini di jaringan dan banyak orang, yang terkejut, mengetahui bahwa komputer ternary telah dikembangkan sejak lama dan bahkan diproduksi secara massal - khususnya, komputer ternary Setun, yang telah diproduksi sejak 1959, dirancang oleh Nikolai Petrovich Brusentsov dan sekelompok orang yang berpikiran sama di pusat komputasi Universitas Negeri Moskow dan cukup luas di seluruh negeri.

Adalah penting untuk memahami bahwa dengan sistem bilangan terner yang terutama kita maksud adalah triple (seimbang) triple (seimbang ternary), di mana tiga negara -1.0, +1 digunakan (dan sama sekali tidak 0,1.2 karena banyak yang mungkin berpikir). Maka kami di forum mulai mencoba berbagai opsi untuk membangun elemen terner dari komponen yang tersedia - kami mencoba pembanding (dengan dioda):



transistor bipolar (dengan dioda zener):



optocoupler (dengan transistor):



dan akhirnya kunci analog :



sepanjang jalan saya mendapat beberapa hibrida - misalnya, pembanding, dioda dan kunci CMOS:



atau transistor bipolar, optocoupler dan kunci CMOS:



(dan pada tahun 2011 saya bahkan mengunggah videotriple adder penuh dibangun di atas karya-karya hibrida seperti itu :)

Tapi dalam hal kesederhanaan (2 mikrosirkuit, 4 kapasitor, sisir kontak) dan kecepatan (hingga 2,5 MHz), sirkuit DG403 melampaui semua opsi lain - pada bulan November 2010 saya membuat TRIMUX - sebuah saluran ganda selector (multiplexer / demultiplexer):



Selanjutnyahaqreumembuat versinya tentang sapu tangan ini pada komponen pemasangan permukaan dan mulai membangun komputer ternary TRIADOR di atasnya (arsitektur yang juga lahir dalam diskusi di forum nedoPC ) - lihat di sini untuk rincian lebih lanjut .

Jadi - pada tahun 2015, saya memiliki keyakinan yang kuat bahwa dasar dari sirkuit ternary harus menjadi pemilih ternary untuk membangun SEMUA. Tetapi untuk mendapatkan sesuatu yang kurang bermanfaat, Anda membutuhkan ratusan penyeleksi ternary. Saya tidak ingin menyolder ratusan trimus, tetapi saya ingin membuat sirkuit mikro ternary saya sendiri - tetapi bagaimana caranya? FPGA bukan metode - semuanya biner di dalam (menyajikan sinyal ternary dengan sepasang biner membosankan dan tidak menarik). Jika Anda membuat chip nyata, maka hanya teknologi proses CMOS biasa yang tersedia yang hampir semuanya telah dilakukan dalam beberapa dekade terakhir (hanya ukuran transistor berubah - mereka menjadi lebih kecil dan lebih kecil):



Membeli produk pengembangan chip komersial tidak realistis (sangat mahal), jadi saya Ditemukan Paket Open Source Magic VLSI(ada rakitan untuk Linux dan Windows), di mana ada file aturan, misalnya, menurut teknologi proses 0.5um CMOS, di mana pada saat itu perusahaan Amerika MOSIS , yang bekerja di University of Southern California, menerima pesanan , dan saya fokus pada mereka, menciptakan bisnis resmi di AS karena MOSIS tidak bekerja dengan individu pribadi (pada kenyataannya, saya masih mencoba untuk pergi ke satu perusahaan Eropa, yang juga mengumpulkan desain yang berbeda pada satu wafer silikon, tetapi pada akhirnya mereka menolak untuk bekerja dengan saya).

Untuk percobaan, saya pertama kali mengambil simulator gratis LTspiceIV (ini adalah program Windows yang bekerja sangat baik di Linux dari bawah Wine). Dan saya mulai membangun sirkuit CMOS (biner) biasa di sana dan mengujinya pada model SPICE dari transistor PMOS dan NMOS yang sebenarnya (model semacam itu masuk di Internet dan sering dapat ditemukan dalam manual online pada kursus VLSI di universitas-universitas Amerika):





Saya perhatikan bahwa di tergantung pada bagaimana input gerbang logika terhubung, ambang untuk operasinya digeser:



Ternyata jika Anda mengambil blok NAND 3-input (yang ambang responsnya dapat bergeser ke kanan) dan 3-input blok NOR (yang ambang responsnya dapat bergeser ke kiri) dan dengan cara tertentu menyambungkan inputnya ke ground atau daya, Anda bisa mendapatkan batasan operasi spasi sehingga untuk mendeteksi tegangan menengah pada input - setelah menerima sinyal logika biasa, kita dapat mengirimkannya (dan inversinya) ke kunci CMOS yang dapat menghidupkan atau mematikan sinyal analog yang melewatinya (dan saklar ini bekerja di kedua arah):



Akibatnya, Saya mendapat sirkuit seperti itu, yang memiliki beberapa ambang batas pemicu:



Sirkuit ini memiliki input kontrol S, yang, ketika terhubung ke ground, tegangan menengah atau daya, menghubungkan sinyal C yang umum ke kontak N, masing-masing N (negatif), O (menengah) atau P (positif) - dalam hal ini kami menganggap tegangan menengah sebagai sinyal nol , masing-masing, dasar dari rangkaian mikro adalah -2.5V, dan daya adalah + 2.5V. Dalam perjalanan area kerja, ada 2 lubang yang membuat korsleting acak tidak mungkin jika kunci tetangga tiba-tiba menyala bersamaan dengan zona aktif diaktifkan (toh, input dari selektor ternary dapat dihubungkan ke ground atau langsung ke catu daya) karena batas-batas ini dibuat oleh "lubang":



Menggunakan tutorial video Magic yang luar biasa (di sini dan di sini) Saya mulai menggambar transistor - sehingga ambang pemicu persis di tengah, ukuran transistor atas (PMOS) harus sekitar 2 kali ukuran transistor lebih rendah (NMOS):



Sihir memungkinkan Anda untuk menyimpan yang ditarik ke perpustakaan dan kemudian memungkinkan Anda untuk membuat sirkuit yang lebih kompleks dari komponen perpustakaan yang disimpan, menghubungkan blok dengan lapisan metalisasi (yang ada 3 dalam proses ini):



Aturan proses memungkinkan Anda untuk menarik seluruh model SPICE dari seluruh rangkaian dan kemudian model ini dapat disimulasikan dalam ngspice (simulator SPICE open source, misalnya hadir di antara paket Linux Debian standar).

Dalam proses bekerja di perpustakaan saya, saya berhasil menemukan sekelompok orang yang tertarik, yang terdiri dari warga negara yang berbeda, yang setuju untuk membayar setengah dari produksi (lot minimum adalah 40 kristal) dengan imbalan bantuan dengan beberapa skema ternary dan quaternary - sebagai hasilnya, bagian atas kristal ditempati oleh beberapa Saya mungkin tidak punya hak untuk membicarakan banyak hal, dan yang lebih rendah memiliki modul untuk pengujian selektif dari 16 sirkuit dasar (di sebelah kiri) dan pemilih ternary itu sendiri (di sebelah kanan):



Secara total, desain ini memiliki sekitar 1.500 transistor yang terletak pada chip 2.2x2.2mm dengan 40 bantalan (10 di setiap sisi) berukuran 100x100um, dan semua transistor, bantalan dan sinyal dilukis secara manual oleh saya dari awal dan saya, tentu saja, Saya tidak melewatkan kesempatan untuk menulis nama panggilan saya pada kristal di bawah pemilih ternary yang sama menunjukkan tahun :)



Selalu menyenangkan untuk melihat nama Anda sendiri di bawah "lingkup kecil", memperkenalkan diri Anda sebagai Lefty, memompakan kutu;)



Setelah menyerahkan desain untuk produksi pada Juni 2015, saya mendapatkan silikon yang sudah jadi kristal dan 8 chip dikemas dalam DIP40 hanya pada bulan Oktober:



Setelah memastikan bahwa rangkaian mikro bekerja secara keseluruhan, saya menambahkan kristal silikon yang tersisa (mengirim mereka kembali) ke DIP28 (untuk memberikan anak-anak bagian dari mereka) dan kasus SOIC16 di mana hanya sinyal pemilih ternary yang menonjol (harganya beberapa ribu lebih):



Untuk pengujian rinci, saya Saya memesan sapu tangan untuk soics ini, menyolder salah satu dari microcircuits di sana:



dan mengambil osiloskop dengan digital-osiloskop-awalan ke komputer - pemilih yang terhubung dalam mode buffer ternary:



dan dalam mode ternary inverter:



Di sini daya adalah -5V ... + 5V (sedikit lebih dari tegangan normal 5V antara tanah dan catu daya yang direkomendasikan untuk CMOS 0.5um) dan dapat dilihat bahwa ambang slang telah bergeser, tetapi secara umum tegangan rata-rata sepenuhnya ditentukan. Satu-satunya masalah dengan chip ini adalahmereka bekerja hanya pada frekuensi hingga 10 kHz :(

Asumsi saya tentang karakteristik dinamis yang buruk dari sirkuit mikro ini adalah bahwa saya mencoba untuk secara mandiri memenuhi persyaratan khusus pabrikan - mereka menuntut agar semua tempat bebas pada chip diisi dengan balok dengan lapisan logam, dll. karena ketidakhadiran mereka dapat rusak ketika tergores oleh desain tetangga yang terletak di piring yang sama, sebagai akibatnya saya harus menemukan pengisi blok saya sendiri:



yang mengisi semua tempat bebas pada kristal:



Dan sepertinya saya lupa menghubungkannya ke tanah sebagai akibatnya, tumpukan kapasitor liar menggantung di atas kristal, memakan semua frekuensi tinggi. Lain kali saya akan mencoba untuk menghindari kesalahan ini, atau mungkin saya akan mengambil produk komersial untuk bekerja dan menggunakan perpustakaannya, karena pemilih saya dapat terdiri dari komponen biner STANDAR saat bekerja dengan sinyal ternary. Dimungkinkan untuk menemukan lagi kelompok orang yang berminat yang akan setuju untuk berbagi biaya dari batch berikutnya (misalnya, satu chip dari batch terakhir akan menelan biaya sekitar tiga ratus dolar pada biaya). Saya menantikan pendapat dan komentar dari orang-orang Khabrovit yang terhormat :)

All Articles