Perangkat lunak desain sirkuit yang saya lihat memiliki kemampuan untuk secara otomatis merutekan jejak dll pada PCB.
Tetapi mengapa perangkat lunak ini tidak memiliki kemampuan untuk secara otomatis menempatkan komponen pada PCB mengatakan untuk meminimalkan ukuran papan total?
Apakah ini terlalu rumit untuk diotomatisasi?
23
Jawaban:
Saya telah merancang beberapa PCB baru-baru ini dan saya menyarankan Anda untuk TIDAK menggunakan auto-placer atau auto-router untuk produk akhir Anda. (Proteus memiliki auto placer.)
Pertama-tama - Perangkat lunak Anda sama cerdasnya dengan cacing tanah dalam hal penempatan otomatis atau perutean otomatis. Dengan kata lain, itu bodoh seperti kentang.
Perutean otomatis tidak akan tahu penempatan mana yang akan memberi Anda pola jejak yang lebih baik yang akan memungkinkan Anda tidak hanya membuat desain yang efisien tetapi juga untuk meminimalkan kebisingan di sirkuit. Demikian pula perutean otomatis tidak tahu bahwa menggeser komponen sedikit ke kiri atau kanan akan memungkinkan Anda untuk merutekan trek dengan cara yang lebih baik. Alat-alat ini hanya akan memberi Anda desain yang benar sesuai dengan sirkuit. Tetapi ketika datang ke kinerja dunia nyata, semuanya berbeda.
Sebagai contoh:
Perangkat lunak Anda tidak akan menghormati konsep-konsep ini karena ini tidak disebutkan dalam skema Anda. Anda hanya akan tahu ketika Anda telah membuat PCB dan itu tidak berfungsi seperti yang diharapkan sepanjang waktu. Saya tidak mengatakan itu tidak akan berhasil. Mungkin berhasil, untuk 90% kali tetapi Anda harus mempertimbangkan 10% itu juga.
Saran saya adalah Anda harus mempelajari beberapa konsep perancangan PCB dan mencoba menempatkan dan merute sendiri. Anda selalu dapat memposting tata letak skema dan papan di forum dan pakar akan memberikan pendapat / saran.
sumber
Router saya memiliki placer dan dukungan untuk "kamar". Itu memungkinkan Anda menggambar area dan menetapkan bagian ke "kamar" dari skema. Placer otomatis akan mengelompokkannya bersama di ruangan tempat bagian tersebut ditugaskan. Cukup yakin itu memiliki dukungan untuk konektor ini harus pergi ke lokasi ini juga. Ada juga alat yang dapat melakukan penempatan decoupling otomatis dan pemilihan / optimasi bagian berdasarkan hasil simulasi. Meskipun tidak murah :) tetapi tidak berhasil.
Auto placer dapat menghemat sedikit waktu Anda dengan menyatukan semuanya seperti itu. Tapi saya masih lebih suka lintas probing skematis ke tata letak dalam mode tempat.
Sama seperti router otomatis Anda mendapatkan apa yang Anda masukkan dalam hal kendala dan seberapa baik Anda dapat menggunakannya. Jika Anda hanya mencoba menggunakan router otomatis Anda tanpa membatasi dengan benar itu hanya rute di mana-mana. Ketika diatur dengan benar, kami menggunakannya untuk merutekan bagian DDR panjang yang cocok dengan benar. Pada papan yang jauh lebih besar dan lebih padat, hampir merupakan kebutuhan, dan tentu saja persyaratan untuk toko layanan tata letak yang membutuhkan kecepatan. Namun hal-hal ini mungkin tidak sepadan bagi seseorang yang hanya melakukan beberapa papan kecil setahun.
sumber
Satu hal yang tidak Anda pertimbangkan adalah bahwa skema tidak mengandung informasi yang cukup untuk membuat papan dengan benar .
Pada dasarnya, tata letak PCB memerlukan pertimbangan dan akomodasi untuk beberapa lusin persyaratan tata letak per bagian , tidak ada yang dikodifikasi dalam skema. Pertimbangkan kapasitor bypass saja. Agar sistem otomatis menempatkan kapasitor bypass dengan benar untuk setiap komponen, Anda harus memiliki beberapa arahan tambahan pada skema yang menentukan untuk autorouter bahwa jejak antara kedua node harus di bawah panjang tertentu.
Agaknya, Anda kemudian akan memerlukan arahan lebih lanjut untuk menyandikan prioritas minimalisasi panjang untuk berbagai jaring, sesuatu untuk menentukan pasangan diferensial / impedansi terkontrol, jejak penjaga (jika diperlukan), dll ...
Pada dasarnya, ada banyak variabel tambahan yang mendorong penempatan yang biasanya tidak dikodekan sama sekali dalam dokumen skematik / ratsnest.
Selain itu, bahkan jika Anda berasumsi bahwa Anda memiliki semua kendala desain di atas, ukuran ruang masalah untuk tata letak umum sangat besar . Ini sama dengan mencoba menyelesaikan persamaan dengan ribuan input, di mana setiap input memiliki efek non-linear yang berbeda pada yang lainnya. Secara efektif, masalahnya benar-benar tidak dapat dipecahkan dari sudut pandang kekuatan fisik. Solusi apa pun karena itu harus melibatkan semacam mekanisme heuristik, yang memiliki kompleksitas sendiri.
Secara realistis, alasan utama tidak ada setidaknya autorouter yang lebih baik adalah karena tidak ada pasar. Pasar EDA relatif kecil dibandingkan dengan banyak ceruk lainnya, pasar perangkat lunak tujuan khusus, dan bahkan autorouter terbaik yang pernah ada bahkan tidak akan mendekati tata letak nyata oleh manusia yang sebenarnya.
Ketika di tengah-tengah tata letak yang sangat membosankan, saya biasanya memiliki fantasi mencoba merancang autorouter saya sendiri, dengan melakukan sesuatu dengan bidang vektor dan simulasi annealing, tetapi bahkan itu hanya akan mendekati optimal lokal, daripada tata letak optimal umum.
sumber
Kembali pada 1974-1975 saya bekerja di departemen Otomasi Desain di Honeywell. Masalahnya tidak berubah sejak saat itu:
Ada pendekatan berbasis AI untuk menangani masalah seperti ini. Namun, pada titik tertentu, lebih mudah bagi perancang untuk hanya mencoba hal-hal, dan mendapatkan umpan balik dari perangkat lunak mengenai kriteria desain yang dia minati. Memberitahu perangkat lunak AI semua yang Anda tahu bisa menjadi tugas yang tak ada habisnya, tanpa pamrih. Pada akhirnya, perangkat lunak harus memuaskan Anda, perancang, dan tim pengimbang Anda.
Maka, cara terbaik untuk bekerja ini adalah melihatnya sebagai kolaborasi antara perancang dan peranti lunak, dengan perancang membuat keputusan akhir. Perangkat lunak ini dapat memberikan informasi tentang properti, dan dapat menyarankan cara untuk meningkatkan properti yang menarik, dan membantu mengeksplorasi konsekuensi dari perubahan.
Tapi saya memperkirakan kita tidak akan pernah melihat tata letak yang sepenuhnya otomatis - selama kita memiliki manusia yang memperhatikan dan memperhatikan hasilnya.
sumber
Perangkat lunak saya memiliki placer. Saya menjalankannya satu kali hanya untuk melihat apa yang akan terjadi. Itu merobek meraung melalui papan, dan mendapat semua komponen di atasnya. Ketika saya melihatnya, bagian-bagiannya ada di mana-mana. IC ada di satu sudut, dan tutup decouplingnya ada di sudut lainnya. Jalur kritis zig-zag bolak-balik melintasi papan.
Maksud saya di sini adalah penempatan adalah bagian tersulit dari tata letak untuk diperbaiki. Pertama, ada kendala mekanis. ME / perancang industri menginginkan konektor / switch / pot / LED / komponen antarmuka eksternal apa pun lainnya keluar dari papan di tempat tertentu. Beberapa komponen mungkin terlalu tinggi untuk berada di area tertentu di dalam selungkup. Mungkin ada bagian sirkuit yang perlu menjaga jarak tertentu untuk isolasi.
Perangkat lunak dapat dikonfigurasikan untuk menangani beberapa faktor ini, tetapi tidak akan pernah melakukan pekerjaan sebaik itu, atau dapat melihat masalah secara visual seperti manusia. Di dunia yang sempurna, jika Anda mendapatkan penempatan yang benar, lakukan power, ground, dan routing jalur kritis, lulus cepat dari autorouter harus bisa menyelesaikan tata letak.
sumber
Saya telah menggunakan auto-placers sebelumnya, dan mereka memang sebodoh tumpukan batu. Satu-satunya hal yang dapat Anda gunakan secara waras adalah untuk mengurai tumpukan jejak kaki yang semuanya diimpor ke papan Anda di tempat yang sama; hal lain terlalu banyak untuk ditanyakan.
sumber