Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Desain FPGA Terintegrasi: Proses Pengembangan Lengkap

Desain FPGA Terintegrasi: Proses Pengembangan LengkapCatatan Editor: Seiring munculnya algoritma canggih untuk desain produk cerdas, pengembang seringkali kesulitan mengimplementasikan sistem tersemat yang dapat memenuhi tuntutan pemrosesan algoritma ini. FPGA menyediakan performa yang diperlukan, dan kemajuan terbaru dalam kemampuan perangkat serta lingkungan pengembangan telah membuat desain FPGA dapat diakses oleh sebagian lebih luas dari para insinyur. Cuplikan ini dari Bab 4 *Architecting High‑Performance Embedded Systems* memberikan tinjauan menyeluruh tentang perangkat FPGA, bahasa implementasi, dan proses pengembangan, serta menawarkan panduan praktis untuk memulai desain FPGA.
1: Sumber daya hardware
2: Bahasa implementasi
3: Proses pengembangan (artikel ini)
4: Membangun proyek
5: Implementasi

Adaptasi dari *Architecting High‑Performance Embedded Systems*, oleh Jim Ledin.


Proses Pengembangan FPGA

Di seluruh domain aplikasi yang beragam, pengembangan FPGA mengikuti urutan langkah yang sama yang memandu insinyur dari konsep hingga hardware yang berfungsi. Bagian-bagian berikut menguraikan alur kerja tipis, menyoroti keputusan kunci dan praktik terbaik.

Menetapkan Persyaratan Sistem

Proyek FPGA yang berhasil dimulai dengan definisi yang jelas dan tidak ambigu tentang fungsionalitas sistem, mode operasi, dan fitur utama. Dokumentasikan perilaku yang dimaksud dalam bahasa sederhana dan bagikan kepada semua pemangku kepentingan untuk mencapai konsensus. Sertakan metrik performa kuantitatif—seperti laju pengambilan sampel input, interval pembaruan output, throughput, latensi, dan batas daya—serta keterbatasan pada ukuran fisik, umur baterai, rentang suhu, dan biaya. Kumpulan persyaratan lengkap memastikan bahwa setiap desain yang memenuhi semua spesifikasi adalah viable; jika solusi yang benar secara teknis gagal karena alasan seperti biaya, kemungkinan kurangnya terletak pada fase persyaratan.

Setelah persyaratan tingkat atas disepakati, dekomposisi sistem menjadi subsistem yang kohesif, masing-masing dengan spesifikasi fungsional dan teknis sendiri. Dalam sistem tersemat real-time, kemampuan pemrosesan digital biasanya membentuk subsistem terpisah dengan keterbatasan sendiri.

Mengalokasikan Fungsionalitas ke FPGA

Ketika kebutuhan pemrosesan digital sistem melebihi kemampuan mikrokontroler atau prosesor, pertimbangkan FPGA. Arsitektur yang mendapat manfaat dari hardware paralel kecepatan tinggi adalah calon utama. Bahkan jika prosesor konvensional dapat memenuhi performa, FPGA dapat menawarkan fleksibilitas dan potensi upgrade selama siklus hidup produk.

Setelah memutuskan untuk menggunakan FPGA, alokasikan tugas pemrosesan yang relevan padanya. Definisikan antarmuka input dan output FPGA, laju pembaruan, dan interaksi dengan komponen periferal seperti ADC, DAC, dan perangkat memori.

Mengidentifikasi Fitur FPGA yang Diperlukan

Dengan tanggung jawab dan antarmuka FPGA telah didefinisikan, kompilasi daftar fitur perangkat yang wajib. Pertimbangkan kebutuhan sumber daya—sel logika, blok DSP, memori—dan kebutuhan daya dan pendingin. Desain hemat biaya dan berbasis baterai mungkin menggunakan perangkat lebih kecil dengan pendingin pasif, sementara sistem berkinerja tinggi mungkin memerlukan FPGA besar dengan pendingin aktif.

Keluarga perangkat berbeda dalam fitur yang tersedia; misalnya, beberapa mencakup ADC terintegrasi untuk mengurangi kompleksitas papan. Gunakan persyaratan untuk menyaring keluarga calon, kemudian sempitkan ke model spesifik saat estimasi sumber daya menjadi lebih jelas.

Mengimplementasikan Desain FPGA

Dengan perangkat calon yang dipilih dan fungsionalitas telah dipetakan, mulai implementasi menggunakan suite alat vendor—umumnya Xilinx Vivado atau Intel Quartus. Proses biasanya dimulai dengan desain tingkat atas, yang dapat diekspresikan sebagai diagram blok atau ditulis langsung dalam HDL (Verilog atau VHDL) atau bahasa sintesis tingkat tinggi seperti C/C++.

Ulangi melalui fase-fase berikut, menyempurnakan desain hingga bitstream yang berfungsi dihasilkan:

Design Entry
Definisikan logika sistem menggunakan HDL, diagram blok, atau kode C/C++. Artefak ini menggambarkan perilaku yang dimaksud tetapi tidak integrasi fisik.

I/O Planning
Tetapkan pin I/O, tetapkan standar sinyal, dan pertimbangkan keterbatasan fisik seperti penempatan pin dan panjang jejak untuk sinyal kecepatan tinggi. Keterbatasan I/O, bersama dengan keterbatasan waktu, memandu proses sintesis.

Synthesis
Konversi HDL menjadi netlist yang memetakan logika ke sumber daya FPGA yang dipilih. Jika keterbatasan tidak dapat dipenuhi, sintesis gagal dan desain harus ditinjau ulang.

Place and Route
Letakkan elemen logika netlist pada sumber daya FPGA tertentu sambil menghormati keterbatasan. Rute koneksi untuk menyelesaikan tata letak fisik. Hasilnya adalah konfigurasi yang sepenuhnya ditentukan.

Bitstream Generation
Buat file konfigurasi yang memuat SRAM internal FPGA. Bitstream ini analog dengan eksekusi perangkat lunak dan harus dimuat pada setiap siklus penyaluran daya, biasanya dari flash papan atau sumber eksternal.

Setelah bitstream dihasilkan, lakukan pengujian menyeluruh untuk memverifikasi keberalan fungsional.

Testing the Implementation
Uji di setiap tahap: simulasi logika HDL, validasi netlist yang disintesis, dan jalankan uji hardware-in-the-loop pada papan target. Pengujian komprehensif mengurangi bug yang jarang terjadi yang dapat merusak kredibilitas produk.

Bagian selanjutnya memberikan contoh praktis menggunakan papan Arty A7 dan suite alat Vivado.

Reprinted with permission from Packt Publishing. Copyright © 2021 Packt Publishing


Desain FPGA Terintegrasi: Proses Pengembangan LengkapJim Ledin adalah CEO Ledin Engineering, Inc. Ia membawa keahlian mendalam dalam desain dan pengembangan perangkat lunak dan hardware tersemat, pengujian, dan merupakan otoritas yang diakui dalam keamanan siber sistem tersemat. Dengan S.T. dalam teknik penerbangan dan antariksa dari Iowa State University dan M.S. dalam teknik elektro dan komputer dari Georgia Institute of Technology, Jim adalah insinyur profesional terlisensi di California, CISSP, CEH, dan CPT.

Konten Terkait:

Untuk lebih banyak konten Embedded, berlangganan newsletter harian mingguan Embedded.


Tertanam

  1. Merancang Sistem Kontrol Fail-Safe untuk Keamanan dan Keandalan
  2. Pemrograman Sistem Tertanam: Bahasa, Arsitektur, dan Aplikasi
  3. Chatbots 101: Proses Desain, Arsitektur, dan Wawasan Praktis
  4. Desain Sistem Tertanam: Langkah, Prinsip, dan Aplikasi Dunia Nyata
  5. Dasar-Dasar Sistem Tertanam & Aplikasi Dunia Nyata
  6. Analog Devices Menampilkan AI, Jaringan Industri, dan Solusi Daya di Embedded World 2019
  7. Axiomtek tBOX400-510-FL: PC Transport Dual-Prosesor dengan Switch PoE Kelola 10-Port Terintegrasi
  8. IBASE CMI300-988: Komputer Mini-ITX Ultra-Kompak dengan AMD Ryzen Embedded V1807B
  9. MicroSys Meluncurkan SoM miriac MPX-LS1028A: Komputasi Edge dengan IEEE TSN & Grafis 4K
  10. Memaksimalkan Produksi dengan Perangkat Lunak Manufaktur Aditif Canggih