Wat is het BIT-bestandsformaat?
Een .bit-bestand is een binaire FPGA-configuratiebitstream geproduceerd door Xilinx (nu AMD) EDA-tools. Het codeert de volledige programmeergegevens voor een FPGA-apparaat - routering, logische celconfiguratie, I/O-instellingen en RAM-initialisatie - en wordt in de chip geladen om het hardwaregedrag te definiëren.
Het bestand heeft een structuur uit twee delen: een ASCII TLV-header (Tag-Length-Value) van variabele lengte die de ontwerpnaam, het doelapparaat en de build-datum/tijd registreert, gevolgd door de binaire bitstream-payload. De payload begint met 0xFF dummy padding-bytes, daarna het synchronisatiewoord 0xAA995566, en vervolgens type-1 en type-2 configuratiepakketten die naar interne FPGA-registers schrijven (FAR, FDRI, CMD, IDCODE).
AMD Vivado Design Suite genereert .bit-bestanden voor 7-serie, UltraScale en UltraScale+ FPGA's. De verouderde ISE Design Suite (v14.7, nog steeds te downloaden maar geen nieuwe releases sinds 2013) produceert .bit-bestanden voor oudere families zoals Spartan-6 en Virtex-4/5/6. Voor Versal-apparaten is de opvolger .pdi. Gerelateerde formaten zijn onder meer .bin (ruwe bitstream zonder de TLV-header, gebruikt voor SPI-flashprogrammering).
Optionele AES-256-versleuteling en HMAC-authenticatie beschermen tegen IP-diefstal. Een CRC wordt aan de bitstream toegevoegd; de FPGA verifieert deze tijdens het laden van de configuratie. Open-source tools zoals openFPGALoader en xc3sprog kunnen FPGA's rechtstreeks programmeren vanuit .bit-bestanden.
Beveiliging & veiligheid
RISICO: LOWBinair bestand dat alleen FPGA-hardware kan configureren - kan niet worden uitgevoerd op een PC-CPU. Geen malware-risico bij het openen van het bestand in een viewer. Het laden van een kwaadaardige bitstream op FPGA-hardware zou de functie van de hardware kunnen ondermijnen, maar dit is een scenario voor fysieke toegangsaanvallen.
Formaatdetails
in een notendop- X11 Bitmap (XBM) - Sommige bronnen associëren .bit met het X11 bitmap-afbeeldingsformaat (platte tekst ASCII pixel art); dit is zeldzaam en het formaat gebruikt normaal gesproken .xbm.
- BitTorrent Incomplete Download - Sommige BitTorrent-clients gebruiken .bit als markering voor een gedeeltelijke download - niet gerelateerd aan FPGA.
Programma's die BIT-bestanden openen
Technische details
diepe specificaties| Codering | Binair |
| Byte-volgorde | Big-endian (32-bits configuratiepakketten) |
| Header-indeling | ASCII TLV - velden: „a” ontwerpnaam, „b” doelapparaat, „c” build-datum, „d” build-tijd, „e” payload byte-lengte |
| Sync-woord | 0xAA995566 - markeert het begin van de binaire bitstream-payload |
| Bitstream-preambule | 0xFF dummy-bytes voorafgaand aan het sync-woord |
| Ondersteuning voor versleuteling | Optioneel AES-256; versleutelingssleutel opgeslagen in BBRAM of eFUSE op het apparaat |
| Authenticatie | Optioneel HMAC voor versleutelde bitstreams |
| Integriteitscontrole | CRC toegevoegd aan het einde van de bitstream; FPGA verifieert bij laden van configuratie |
| Compressie-optie | Vivado ondersteunt optionele gecomprimeerde bitstreams voor geselecteerde apparaatfamilies |
| FPGA-families | Spartan-6 (ISE); 7-serie, UltraScale, UltraScale+ (Vivado) |
| Typische bestandsgrootte | 300 KB - 100 MB (Spartan: ~300 KB; grote UltraScale+: 50-100 MB) |
| Genererende tools | AMD Vivado (actueel); Xilinx ISE 14.7 (verouderd, geen releases sinds oktober 2013) |
| Alternatief ruw formaat | .bin - geen TLV-header; gebruikt voor directe SPI-flashprogrammering |
| Versal-opvolgerformaat | .pdi (Program Device Image), geïntroduceerd met de Versal ACAP-familie in 2020 |
| Uitgebracht | ~1985 (with early Xilinx FPGA toolchain) |
| Laatste versie | Vivado 2025.1 bitstream (7-series, UltraScale, UltraScale+, Versal) |
| Specificatie | docs.amd.com |
BIT conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over BIT-bestanden.