Xilinx Spartan 3AN FPGA's memiliki flash internal yang membuatnya tidak mudah menguap. Pertanyaan Anda sebenarnya adalah beberapa pertanyaan.
1) Apakah FPGA volatile atau non-volatile? Sebagian besar bersifat volatile, membutuhkan bitstream konfigurasi untuk dibaca ke dalam FPGA dari perangkat penyimpanan nonvolatile eksternal pada setiap power on. Ada beberapa yang tidak mudah menguap. Seperti Xilinx S3AN yang saya sebutkan.
2) Bagaimana Anda melindungi bitstream konfigurasi? Ada beberapa jawaban untuk pertanyaan ini.
Anda dapat mengenkripsi bitstream; yang berarti mengatakan bahwa bitstream yang disimpan pada perangkat penyimpanan nonvolatile yang dibahas di atas adalah ciphertext unik yang hanya dapat didekripsi oleh fpga tunggal dengan kunci yang sesuai. Ini akan melindungi fungsionalitas bitstream agar tidak ditemukan oleh rekayasa terbalik. Artinya, bahkan jika bitstream terenkripsi dapat diekstraksi dari perangkat penyimpanan nonvolatile, baik in-situ atau cara yang lebih merusak, akal tidak akan dapat dibuat dari file yang diekstrak karena dienkripsi.
Anda juga dapat mengatur bitstream agar dilarang dibaca kembali. Antarmuka JTAG yang digunakan seseorang untuk memprogram FPGA pada waktu debug umumnya dapat digunakan untuk membaca bitstream konfigurasi kembali dari FPGA. Menetapkan opsi NO_READBACK melarang ini.