Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Dasar-dasar pemrograman SPICE

Pemrograman simulasi rangkaian dengan SPICE mirip dengan pemrograman dalam bahasa komputer lain:Anda harus mengetikkan perintah sebagai teks dalam file, menyimpan file itu ke hard drive komputer, dan kemudian memproses konten file itu dengan program (kompiler atau interpreter) yang memahami perintah tersebut. Dalam bahasa komputer yang ditafsirkan, komputer memiliki program khusus yang disebut interpreter yang menerjemahkan program yang Anda tulis (yang disebut file sumber ) ke dalam bahasa komputer itu sendiri, dengan cepat, saat sedang dieksekusi: Dalam bahasa komputer yang dikompilasi, program yang Anda tulis diterjemahkan sekaligus ke dalam bahasa komputer itu sendiri oleh program khusus program yang disebut kompiler . Setelah program yang Anda tulis telah "dikompilasi", hasil dapat dieksekusi file tidak memerlukan terjemahan lebih lanjut untuk dipahami secara langsung oleh komputer. Sekarang dapat "dijalankan" di komputer apakah perangkat lunak kompiler telah diinstal di komputer itu atau tidak: SPICE adalah bahasa yang ditafsirkan. Agar komputer dapat memahami instruksi SPICE yang Anda ketik, komputer harus telah menginstal program SPICE (interpreter): File sumber SPICE biasanya disebut sebagai "netlist", meskipun terkadang dikenal sebagai "dek" dengan masing-masing baris dalam file yang disebut "kartu." Manis, tidakkah menurutmu? Netlist dibuat oleh orang seperti Anda mengetik instruksi baris demi baris menggunakan pengolah kata atau editor teks. Editor teks lebih disukai daripada pengolah kata untuk semua jenis pemrograman komputer, karena mereka menghasilkan teks ASCII murni tanpa kode khusus yang disematkan untuk penyorotan teks (seperti miring atau tebal fonts), yang tidak dapat ditafsirkan oleh penerjemah dan perangkat lunak kompiler. Seperti pada pemrograman umum, file sumber yang Anda buat untuk SPICE harus mengikuti konvensi pemrograman tertentu. Ini adalah bahasa komputer itu sendiri, meskipun sederhana. Setelah memprogram dalam BASIC dan C/C++, dan memiliki pengalaman membaca program PASCAL dan FORTRAN, menurut saya bahasa SPICE jauh lebih sederhana daripada bahasa-bahasa tersebut. Ini adalah tentang kompleksitas yang sama seperti bahasa markup seperti HTML, mungkin kurang begitu. Ada siklus langkah yang harus diikuti dalam menggunakan SPICE untuk menganalisis rangkaian. Siklus dimulai saat Anda pertama kali menjalankan program penyuntingan teks dan membuat draf pertama netlist Anda. Langkah selanjutnya adalah menjalankan SPICE pada netlist baru tersebut dan lihat hasilnya. Jika Anda adalah pengguna pemula SPICE, upaya pertama Anda untuk membuat netlist yang baik akan penuh dengan kesalahan sintaksis kecil. Jangan khawatir—seperti yang diketahui oleh setiap pemrogram komputer, kemahiran datang dengan banyak latihan. Jika uji coba Anda menghasilkan pesan kesalahan atau hasil yang jelas-jelas salah, Anda perlu mengaktifkan kembali program pengeditan teks dan memodifikasi netlist. Setelah memodifikasi netlist, Anda perlu menjalankan SPICE lagi dan memeriksa hasilnya. Urutannya, kemudian, terlihat seperti ini:

Untuk “menjalankan” “program” SPICE, Anda perlu mengetikkan perintah pada antarmuka prompt terminal, seperti yang ditemukan di MS-DOS, UNIX, atau opsi prompt MS-Windows DOS:

bumbu  

Kata "spice" memanggil program penerjemah SPICE (dengan syarat perangkat lunak SPICE telah diinstal di komputer!), simbol "<" mengarahkan ulang konten file sumber ke penerjemah SPICE, dan example.cir adalah nama file sumber untuk contoh rangkaian ini. Ekstensi file “.cir ” tidak wajib; Saya telah melihat “.inp ” (untuk “input”) dan sekadar “.txt ” bekerja dengan baik juga. Ini bahkan akan berfungsi ketika file netlist tidak memiliki ekstensi. SPICE tidak peduli apa yang Anda beri nama, asalkan memiliki nama yang kompatibel dengan sistem file komputer Anda (untuk mesin MS-DOS lama, misalnya, panjang nama file tidak boleh lebih dari 8 karakter, dengan 3 ekstensi karakter, dan tidak ada spasi atau karakter non-alfanumerik lainnya). Saat perintah ini diketik, SPICE akan membaca konten example.cir file, analisis sirkuit yang ditentukan oleh file itu, dan kirim laporan teks ke output standar terminal komputer (biasanya layar, tempat Anda dapat melihatnya digulir). Keluaran SPICE tipikal adalah beberapa layar informasi, jadi Anda mungkin ingin melihatnya dengan sedikit modifikasi perintah:

bumbu  

Alternatif ini "menyalurkan" output teks SPICE ke utilitas "lebih", yang memungkinkan hanya satu halaman yang akan ditampilkan pada satu waktu. Artinya (dalam bahasa Inggris) adalah bahwa output teks SPICE dihentikan setelah satu layar penuh, dan menunggu hingga pengguna menekan tombol keyboard untuk menampilkan layar penuh teks berikutnya. Jika Anda hanya menguji file rangkaian contoh dan ingin memeriksa kesalahan apa pun, ini adalah cara yang baik untuk melakukannya.

bumbu  ​​example.txt 

Alternatif kedua ini (di atas) mengarahkan output teks SPICE ke file lain, yang disebut example.txt , di mana ia dapat dilihat atau dicetak. Opsi ini sesuai dengan langkah terakhir dalam siklus pengembangan yang tercantum sebelumnya. Direkomendasikan oleh penulis ini agar Anda menggunakan teknik "pengalihan" ke file teks hanya setelah Anda membuktikan contoh rangkaian netlist Anda bekerja dengan baik, sehingga Anda tidak membuang waktu menggunakan editor teks hanya untuk melihat hasilnya. selama tahap "debugging". Setelah Anda memiliki output SPICE yang disimpan di .txt Anda dapat menggunakan editor teks atau (lebih baik lagi!) pengolah kata untuk mengedit output, menghapus spanduk dan pesan yang tidak perlu, bahkan menentukan font alternatif untuk menyorot judul dan/atau data untuk tampilan yang lebih halus. Kemudian, tentu saja, Anda dapat mencetak hasilnya ke kertas jika diinginkan. Karena output SPICE langsung adalah teks ASCII biasa, file seperti itu akan dapat diinterpretasikan secara universal di komputer mana pun baik SPICE diinstal atau tidak. Selain itu, format teks biasa memastikan bahwa file akan sangat kecil dibandingkan dengan file gambar layar grafis yang dihasilkan oleh simulator "titik-dan-klik". Format file netlist yang dibutuhkan oleh SPICE cukup sederhana. File netlist tidak lebih dari file teks ASCII biasa yang berisi beberapa baris teks, setiap baris menjelaskan komponen sirkuit atau perintah SPICE khusus. Arsitektur sirkuit ditentukan dengan menetapkan nomor ke titik koneksi setiap komponen di setiap baris, koneksi antar komponen yang ditunjuk oleh nomor umum. Periksa contoh diagram rangkaian berikut dan file SPICE yang sesuai. Harap diingat bahwa diagram sirkuit ada hanya untuk membuat simulasi lebih mudah dipahami manusia. SPICE hanya mengerti netlist:

Contoh daftar net v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .akhir 

Setiap baris dari file sumber yang ditunjukkan di atas dijelaskan di sini:

  • v1 mewakili baterai (sumber tegangan 1), terminal positif bernomor 1, terminal negatif bernomor 0, dengan output tegangan DC 15 volt.
  • r1 mewakili resistor R1 pada diagram, dihubungkan antara titik 1 dan 0, dengan nilai 2,2 kΩ.
  • r2 mewakili resistor R2 pada diagram, dihubungkan antara titik 1 dan 2, dengan nilai 3,3 kΩ.
  • r3 mewakili resistor R3 pada diagram, dihubungkan antara titik 2 dan 0, dengan nilai 150 kΩ.

Titik-titik yang sama secara elektrik (atau "simpul") dalam deskripsi sirkuit SPICE memiliki nomor yang sama, sama seperti kabel yang menghubungkan titik-titik umum di sirkuit besar yang biasanya memiliki label kabel yang sama. Untuk mensimulasikan rangkaian ini, pengguna akan mengetikkan enam baris teks tersebut pada editor teks dan menyimpannya sebagai file dengan nama unik (seperti example.cir ). Setelah netlist dibuat dan disimpan ke sebuah file, pengguna kemudian memproses file tersebut dengan salah satu pernyataan baris perintah yang ditunjukkan sebelumnya (spice ), dan akan menerima output teks ini di layar komputer mereka:

1*******10/10/99 ******** rempah-rempah 2g.6 15/3/83 ********07:32:42**** * 0contoh netlist 0**** masukan suhu daftar =27.000 derajat c v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .akhir *****10/10/99 ********* rempah-rempah 2g.6 15/3/83 ******07:32:42****** 0contoh netlist 0**** suhu larutan bias sinyal kecil =27.000 derajat c tegangan simpul tegangan simpul ( 1) 15.0000 ( 2) 0.6522 arus sumber tegangan nama saat ini v1 -1.117E-02 total disipasi daya 1,67E-01 watt pekerjaan selesai 0 total waktu kerja 0,02 1*******10/10/99 ******** rempah-rempah 2g.6 15/3/83 ******07:32:42****** 0**** masukan suhu daftar =27.000 derajat c 

SPICE dimulai dengan mencetak waktu, tanggal, dan versi yang digunakan di bagian atas output. Ini kemudian mencantumkan parameter input (baris file sumber), diikuti dengan tampilan pembacaan tegangan DC dari setiap node (nomor referensi) ke ground (selalu nomor referensi 0). Ini diikuti dengan daftar pembacaan arus melalui setiap sumber tegangan (dalam hal ini hanya ada satu, v1). Akhirnya, total disipasi daya dan waktu komputasi dalam detik dicetak. Semua nilai keluaran yang disediakan oleh SPICE ditampilkan dalam notasi ilmiah. Daftar keluaran SPICE yang ditunjukkan di atas sedikit bertele-tele untuk selera kebanyakan orang. Untuk presentasi akhir, mungkin bagus untuk memangkas semua teks yang tidak perlu dan hanya menyisakan yang penting. Berikut adalah contoh dari output yang sama, dialihkan ke file teks (spice ​​example.txt ), kemudian dipangkas secara bijaksana dengan editor teks untuk presentasi akhir dan dicetak:

contoh netlist v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .akhir 
tegangan simpul tegangan simpul ( 1) 15.0000 ( 2) 0.6522 
arus sumber tegangan nama saat ini v1 -1.117E-02 
disipasi daya total 1,67E-01 watt

Salah satu hal yang sangat bagus tentang SPICE adalah format input dan output adalah teks biasa, yang merupakan format elektronik paling universal dan mudah diedit. Praktis apa saja komputer akan dapat mengedit dan menampilkan format ini, bahkan jika program SPICE itu sendiri tidak ada di komputer itu. Jika pengguna menginginkannya, dia bebas menggunakan kemampuan lanjutan dari program pengolah kata untuk membuat output terlihat lebih menarik. Komentar bahkan dapat disisipkan di antara baris output untuk kejelasan lebih lanjut bagi pembaca.


Teknologi Industri

  1. Pengantar SPICE
  2. Sejarah SPICE
  3. Antarmuka Baris Perintah
  4. Komponen Sirkuit
  5. Pemrograman Mikroprosesor
  6. Perangkat Semikonduktor di SPICE
  7. Simulasi Komputer Rangkaian Listrik
  8. Ruang nama dalam Pemrograman C#
  9. Operator Pemrograman C
  10. C Tutorial