2016-03-19 15 views
2

От того, что я серфинг, как только мощность отключается в FPGA, вы должны запрограммировать ее снова. Но я пытаюсь реализовать систему безопасности на основе FPGA, используя verilog. В этом случае я хочу, чтобы пароль системы постоянно сохранялся, т. Е. Даже когда питание отключается, пароль не следует удалять. Будет также хорошо, если программа также может быть сохранена. Я являюсь beginner в FPGA. Поэтому, пожалуйста, скажите мне, как это сделать. Устройство XC3S400 Spartan 3 Family.Как хранить данные и программу навсегда в FPGA?

ответ

1

Как правило, при каждом включении FPGA снова загружается из флэш-памяти какого-либо типа, а поток бит, который он загружен, небезопасен, то есть любой может его хранить, а затем воспроизводить и даже теоретически реконструировать.

Однако некоторые FPGA могут быть защищены, например, посредством наличия в нем уникального криптографического ключа для записи, который может быть зашифрован битовым потоком. Затем вы можете запрограммировать пароль в своем верилоговом коде и проверить его по мере его ввода.

Если ваш ключ или пароль должны часто меняться или должны быть разными в каждой копии устройства, вы должны хранить его во внешней памяти FLASH/EEPROM с помощью шифрования, предоставляемого постоянным секретным ключом внутри FPGA.

4

Если у вас есть ПЛИС на основе SRAM, например, Spartan 3, вам необходимо запрограммировать его каждый раз, когда он включен. Причиной этого является то, что SRAM, который сохраняет конфигурацию, является энергозависимым и теряет запрограммированную конфигурацию после выключения питания.

Spartan 3 AN - один из немногих Xilinx FPGA, которые предлагают некоторое количество внутренней флеш-памяти, но я не могу дать никаких подробностей, так как я никогда не использовал эту функцию самостоятельно.

В качестве альтернативы существуют ПЛИС на основе флэш-памяти, которые предлагают энергонезависимое хранилище конфигурации, то есть вам не нужно читать в файле конфигурации каждый раз, когда включается FPGA. Вам все равно нужно настроить его один раз, но он сохраняет конфигурацию после выключения питания. При следующем включении он уже будет настроен и готов к работе.

Все сводится к тому, есть ли у вас энергонезависимая память внутри вашей ПЛИС или нет. В противном случае вам необходимо использовать внешние ИС.

В качестве альтернативного решения для вашего пользовательского пароля: многие поставщики предлагают поддержку инструмента для шифрования битового потока конфигурации. Логика конфигурации, встроенная внутри FPGA, может дешифровать поток бит «на ходу», пока он настроен. Все будет возможно, чтобы каждый мог прочитать бит-поток из конфигурации PROM, но поскольку он зашифрован, он будет мало полезен.