Di perusahaan saya, kami sebelumnya telah merancang beberapa papan FPGA khusus, dan baru-baru ini mulai menggunakan papan FPGA komersial ("COTS") dengan papan utama FMC kustom.
Tahap prototipe
Jika Anda masih dalam tahap definisi proyek awal, rencanakan untuk membeli setidaknya satu papan COTS FPGA untuk pembuatan prototipe. Anda dapat memasang salah satu sensor Anda ke header I / O dan melakukan proof-of-concept cepat. Itu memberi Anda gambaran bagaimana proyek dapat dilakukan ketika diskalakan ke banyak sensor, dan memperkirakan berapa banyak Anda dapat mendukung dengan FPGA yang diberikan.
Jika FPGA terlalu kecil atau terlalu lambat atau alatnya tidak memadai untuk pekerjaan itu, mudah untuk menukar FPGA COTS yang berbeda pada tahap ini. (Yah tidak mudah tapi setidaknya bisa diatur ...)
Jika firmware tidak berfungsi pada tahap ini, jelas karena masalah firmware, bukan kesalahan desain PCB khusus. Dengan custom firmware dan custom PCB, terkadang sulit untuk mengatakan sisi mana yang salah karena masalah.
Papan FPGA khusus versus papan FPGA Komersial Di Luar Shelf
Mendesain papan FPGA khusus masuk akal jika proyek akan memiliki siklus hidup pendek, volume tinggi, atau memerlukan faktor bentuk yang lebih kecil daripada yang dapat Anda capai dengan papan COTS FPGA dan papan tambahan PMOD atau FMC.
Jika siklus hidup proyek melebihi masa pakai produk dari chip memori DDR (beberapa tahun), maka mendesain papan induk FMC kustom mungkin merupakan alternatif yang lebih baik.
Biaya adalah faktor dalam keputusan ini. Kebanyakan papan COTS FPGA agak bertujuan umum, dirancang untuk fleksibilitas maksimum. Jika Anda membuat produk volume tinggi, sensitif biaya, mungkin ada baiknya membuat desain khusus; tetapi untuk volume rendah Anda mungkin lebih baik berkonsentrasi untuk membuat kartu anak.
Apa pun pendekatan yang Anda pilih, ada antarmuka tertentu yang memerlukan dokumentasi master yang jelas: pada antarmuka antara pin I / O tingkat atas FPGA dan bagian papan lainnya, dan pada antarmuka konektor di antara papan. Ini adalah tempat di mana pin lokasi, nama jaring internal, dan nama jaring eksternal kadang-kadang tidak cocok dan ditukar. Tabel adalah dokumentasi yang memadai; pastikan untuk menjaga tabel antarmuka ini versi dan di bawah kendali sumber. Sebelum mengirim file PCB ke fabrikasi, cetak salinan tabel antarmuka ini, salinan skema, dan salinan laporan pin / pad FPGA. Seret highlighter melintasi kertas untuk memeriksa setiap sinyal yang terhubung di mana seharusnya.
Untuk konektor, saya telah belajar cara yang sulit untuk menyediakan "gambar sistem" mekanis yang menunjukkan kedua papan dan konektor kawin bersama pada satu gambar berdimensi tunggal. Saya pertama kali terbakar oleh sistem konektor VME di mana pin "A1" pada satu konektor tidak memetakan untuk pin "A1" pada konektor lainnya. Saya juga melihat desainer lupa bahwa sepasang konektor sudut kanan menghasilkan koneksi gambar cermin (90 derajat + 90 derajat = 180 derajat). Ini adalah masalah ketika saya bertanggung jawab untuk motherboard dan beberapa manajer proyek lainnya bertanggung jawab untuk berbagai motherboard.
Kiat papan FPGA khusus
Mulailah dengan "desain referensi" dari vendor FPGA, dan kemudian abaikan bagian apa pun yang tidak diperlukan untuk aplikasi Anda. Jangan lepaskan kapasitor pintas apa pun dari FPGA, dan jangan coba-coba menggunakan lebih sedikit lapisan PCB. Perhatikan tumpukan lapisan (sering ditemukan di samping gambar bor); komponen nada halus biasanya menggunakan 0,5 oz tembaga daripada ketebalan 1 oz tembaga foil standar.
Paket BGA sangat menyebalkan. Hasil tidak pernah sebagus dengan paket TQFP atau TQFN, dan pengerjaan ulang BGA hampir mustahil. Bahkan memeriksa untuk masalah perakitan membutuhkan pencitraan X-Ray. Pastikan untuk menggunakan penyedia layanan Pembuatan Kontrak yang Anda percayai.
Pasokan daya selalu rumit ketika bekerja dengan papan FPGA. Persyaratan daya aktual dari FPGA sangat bergantung pada bitstream konfigurasi. Xilinx menyediakan alat "penaksir daya", tetapi perkiraan ini hanya valid jika firmware lengkap. Ada risiko ketika melakukan perubahan firmware menit terakhir, bahwa persyaratan daya lebih besar dari yang diharapkan. Berencana meninggalkan beberapa margin pasokan saat ini. Jika perkiraan daya awal mengatakan Anda membutuhkan 560mA, silakan dan gunakan regulator 1000mA. Arus keluaran ekstra yang tersedia tidak membahayakan, tetapi jika arus keluaran tidak mencukupi akan mengakibatkan perilaku sistem yang menyimpang.
Jika ada pin FPGA yang tidak dikomit, bawa sebanyak mungkin ke header. Ketika ada masalah, pin yang tidak terikat ini menjadi sumber diagnostik yang berharga untuk memeriksa sinyal di dalam FPGA.