Что такое формат файла BIT?
Файл .bit - это бинарный поток конфигурации FPGA, созданный инструментами проектирования Xilinx (ныне AMD). Он кодирует полные данные программирования для устройства FPGA - трассировку, конфигурацию логических ячеек, настройки ввода-вывода и инициализацию RAM - и загружается в чип для определения его аппаратного поведения.
Файл имеет двухчастную структуру: заголовок ASCII TLV (Tag-Length-Value) переменной длины, содержащий имя проекта, целевое устройство, дату и время сборки, за которым следует полезная нагрузка бинарного потока. Полезная нагрузка начинается с фиктивных байтов заполнения 0xFF, затем следует синхрослово 0xAA995566, а после - пакеты конфигурации типа 1 и типа 2, которые записывают данные во внутренние регистры FPGA (FAR, FDRI, CMD, IDCODE).
AMD Vivado Design Suite генерирует файлы .bit для FPGA серий 7-series, UltraScale и UltraScale+. Устаревший пакет ISE Design Suite (v14.7, все еще доступен для скачивания, но не обновлялся с 2013 года) создает файлы .bit для более старых семейств, таких как Spartan-6 и Virtex-4/5/6. Для устройств Versal преемником является формат .pdi. Связанные форматы включают .bin (чистый битовый поток без заголовка TLV, используемый для программирования SPI-flash).
Дополнительное шифрование AES-256 и аутентификация HMAC защищают от кражи интеллектуальной собственности. В конец битового потока добавляется CRC; FPGA проверяет его во время загрузки конфигурации. Инструменты с открытым исходным кодом, такие как openFPGALoader и xc3sprog, позволяют программировать FPGA напрямую из файлов .bit.
Безопасность и защита
РИСК: LOWБинарный файл, который может только настраивать аппаратное обеспечение FPGA - он не может исполняться на процессоре ПК. Риск заражения вредоносным ПО при открытии файла в просмотрщике отсутствует. Загрузка вредоносного битового потока в оборудование FPGA может нарушить функции устройства, но это сценарий атаки с физическим доступом.
Детали формата
в двух словах- X11 Bitmap (XBM) - Некоторые источники связывают .bit с форматом растровых изображений X11 (текстовый ASCII-арт); это встречается редко, и обычно формат использует расширение .xbm.
- Незавершенная загрузка BitTorrent - Некоторые BitTorrent-клиенты используют .bit как маркер частично загруженного файла - не имеет отношения к FPGA.
Программы, открывающие файлы BIT
Технические подробности
глубокая спецификация| Кодировка | Бинарная |
| Порядок байтов | Big-endian (32-битные пакеты конфигурации) |
| Формат заголовка | ASCII TLV - поля: «a» имя проекта, «b» целевое устройство, «c» дата сборки, «d» время сборки, «e» длина полезной нагрузки в байтах |
| Синхрослово | 0xAA995566 - отмечает начало полезной нагрузки бинарного потока |
| Преамбула битового потока | Байты-заполнители 0xFF, предшествующие синхрослову |
| Поддержка шифрования | Опционально AES-256; ключ шифрования хранится в BBRAM или eFUSE на устройстве |
| Аутентификация | Опционально HMAC для зашифрованных битовых потоков |
| Проверка целостности | CRC добавляется в конец потока; FPGA проверяет его при загрузке конфигурации |
| Опция сжатия | Vivado поддерживает опциональное сжатие битовых потоков для некоторых семейств устройств |
| Семейства FPGA | Spartan-6 (ISE); 7-series, UltraScale, UltraScale+ (Vivado) |
| Типичный размер файла | 300 КБ - 100 МБ (Spartan: ~300 КБ; большие UltraScale+: 50-100 МБ) |
| Инструменты генерации | AMD Vivado (актуальный); Xilinx ISE 14.7 (устаревший, нет релизов с октября 2013) |
| Альтернативный «сырой» формат | .bin - без заголовка TLV; используется для прямого программирования SPI-flash |
| Формат-преемник для Versal | .pdi (Program Device Image), представлен в семействе Versal ACAP в 2020 году |
| Выпущен | ~1985 (with early Xilinx FPGA toolchain) |
| Последняя версия | Vivado 2025.1 bitstream (7-series, UltraScale, UltraScale+, Versal) |
| Спецификация | docs.amd.com |
Конвертации BIT
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах BIT.