Co to jest format pliku BIT?
Plik .bit to binarny strumień bitów konfiguracji FPGA generowany przez narzędzia EDA firmy Xilinx (obecnie AMD). Koduje on kompletne dane programowania dla urządzenia FPGA - połączenia (routing), konfigurację komórek logicznych, ustawienia I/O oraz inicjalizację pamięci RAM - i jest ładowany do układu, aby zdefiniować jego zachowanie sprzętowe.
Plik ma strukturę dwuczęściową: nagłówek ASCII TLV (Tag-Length-Value) o zmiennej długości, rejestrujący nazwę projektu, urządzenie docelowe oraz datę/godzinę kompilacji, a następnie binarny ładunek strumienia bitów. Ładunek zaczyna się od bajtów wypełnienia (dummy padding) 0xFF, po których następuje słowo synchronizacji 0xAA995566, a następnie pakiety konfiguracyjne typu 1 i typu 2, które zapisują dane do wewnętrznych rejestrów FPGA (FAR, FDRI, CMD, IDCODE).
AMD Vivado Design Suite generuje pliki .bit dla układów FPGA z serii 7, UltraScale oraz UltraScale+. Starszy pakiet ISE Design Suite (v14.7, wciąż dostępny do pobrania, ale bez nowych wydań od 2013 roku) tworzy pliki .bit dla starszych rodzin, takich jak Spartan-6 i Virtex-4/5/6. Dla urządzeń Versal następcą jest format .pdi. Powiązane formaty obejmują .bin (surowy strumień bitów bez nagłówka TLV, używany do programowania pamięci flash SPI).
Opcjonalne szyfrowanie AES-256 i uwierzytelnianie HMAC chronią przed kradzieżą własności intelektualnej (IP). Do strumienia bitów dołączana jest suma kontrolna CRC; układ FPGA weryfikuje ją podczas ładowania konfiguracji. Narzędzia open-source, takie jak openFPGALoader i xc3sprog, mogą programować układy FPGA bezpośrednio z plików .bit.
Bezpieczeństwo
RYZYKO: LOWPlik binarny, który może jedynie konfigurować sprzęt FPGA - nie może zostać uruchomiony na procesorze PC. Brak ryzyka złośliwego oprogramowania przy otwieraniu pliku w przeglądarce. Załadowanie złośliwego strumienia bitów do sprzętu FPGA mogłoby zakłócić funkcję sprzętu, ale jest to scenariusz ataku wymagający fizycznego dostępu.
Szczegóły formatu
w pigułce- X11 Bitmap (XBM) - Niektóre źródła kojarzą rozszerzenie .bit z formatem obrazu bitmapowego X11 (tekstowa grafika ASCII); jest to rzadkie, a format ten normalnie używa rozszerzenia .xbm.
- BitTorrent Incomplete Download - Niektóre klienty BitTorrent używają .bit jako oznaczenia częściowo pobranego pliku - nie ma to związku z FPGA.
Programy otwierające pliki BIT
Szczegóły techniczne
specyfikacja| Kodowanie | Binarne |
| Kolejność bajtów | Big-endian (32-bitowe pakiety konfiguracyjne) |
| Format nagłówka | ASCII TLV - pola: „a” nazwa projektu, „b” urządzenie docelowe, „c” data kompilacji, „d” godzina kompilacji, „e” długość ładunku w bajtach |
| Słowo synchronizacji | 0xAA995566 - oznacza początek binarnego ładunku strumienia bitów |
| Preambuła bitstreamu | Bajty wypełnienia 0xFF poprzedzające słowo synchronizacji |
| Obsługa szyfrowania | Opcjonalne AES-256; klucz szyfrowania przechowywany w BBRAM lub eFUSE na urządzeniu |
| Uwierzytelnianie | Opcjonalne HMAC dla zaszyfrowanych strumieni bitów |
| Kontrola integralności | CRC dołączone na końcu strumienia bitów; FPGA weryfikuje przy ładowaniu konfiguracji |
| Opcja kompresji | Vivado obsługuje opcjonalnie skompresowane strumienie bitów dla wybranych rodzin urządzeń |
| Rodziny FPGA | Spartan-6 (ISE); seria 7, UltraScale, UltraScale+ (Vivado) |
| Typowy rozmiar pliku | 300 KB - 100 MB (Spartan: ~300 KB; duże UltraScale+: 50-100 MB) |
| Narzędzia generujące | AMD Vivado (aktualne); Xilinx ISE 14.7 (starsze, brak wydań od października 2013) |
| Alternatywny surowy format | .bin - brak nagłówka TLV; używany do bezpośredniego programowania flash SPI |
| Następca dla Versal | .pdi (Program Device Image), wprowadzony wraz z rodziną Versal ACAP w 2020 roku |
| Wydano | ~1985 (with early Xilinx FPGA toolchain) |
| Najnowsza wersja | Vivado 2025.1 bitstream (7-series, UltraScale, UltraScale+, Versal) |
| Specyfikacja | docs.amd.com |
Konwersje BIT
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki BIT.