Che cos'è il formato di file BIT?
Un file .bit è un bitstream di configurazione FPGA binario prodotto dagli strumenti EDA Xilinx (ora AMD). Codifica i dati di programmazione completi per un dispositivo FPGA - routing, configurazione delle celle logiche, impostazioni I/O e inizializzazione della RAM - e viene caricato nel chip per definirne il comportamento hardware.
Il file ha una struttura in due parti: un'intestazione ASCII TLV (Tag-Length-Value) a lunghezza variabile che registra il nome del progetto, il dispositivo di destinazione e la data/ora di compilazione, seguita dal payload del bitstream binario. Il payload inizia con byte di riempimento dummy 0xFF, seguiti dalla sync word 0xAA995566, quindi pacchetti di configurazione di tipo 1 e tipo 2 che scrivono nei registri interni dell'FPGA (FAR, FDRI, CMD, IDCODE).
AMD Vivado Design Suite genera file .bit per gli FPGA delle serie 7-series, UltraScale e UltraScale+. La versione legacy ISE Design Suite (v14.7, ancora scaricabile ma senza nuovi rilasci dal 2013) produce file .bit per famiglie più vecchie come Spartan-6 e Virtex-4/5/6. Per i dispositivi Versal il successore è .pdi. I formati correlati includono .bin (bitstream grezzo senza l'intestazione TLV, utilizzato per la programmazione flash SPI).
La crittografia opzionale AES-256 e l'autenticazione HMAC proteggono dal furto di IP. Un CRC viene aggiunto al bitstream; l'FPGA lo verifica durante il caricamento della configurazione. Strumenti open source come openFPGALoader e xc3sprog possono programmare gli FPGA direttamente dai file .bit.
Sicurezza e incolumità
RISCHIO: LOWFile binario che può solo configurare l'hardware FPGA - non può essere eseguito sulla CPU di un PC. Nessun rischio di malware aprendo il file in un visualizzatore. Il caricamento di un bitstream malevolo sull'hardware FPGA potrebbe sovvertire la funzione dell'hardware, ma si tratta di uno scenario di attacco con accesso fisico.
Dettagli del formato
in sintesi- X11 Bitmap (XBM) - Alcune fonti associano .bit al formato immagine bitmap X11 (pixel art ASCII in testo semplice); questo è raro e il formato utilizza normalmente .xbm.
- Download incompleto BitTorrent - Alcuni client BitTorrent utilizzano .bit come marcatore di download parziale - non correlato agli FPGA.
Programmi che aprono file BIT
Dettagli tecnici
specifiche approfondite| Codifica | Binario |
| Ordine dei byte | Big-endian (pacchetti di configurazione a 32 bit) |
| Formato intestazione | ASCII TLV - campi: «a» nome progetto, «b» dispositivo target, «c» data build, «d» ora build, «e» lunghezza byte payload |
| Sync word | 0xAA995566 - segna l'inizio del payload del bitstream binario |
| Preambolo bitstream | Byte dummy 0xFF che precedono la sync word |
| Supporto crittografia | Opzionale AES-256; chiave di crittografia memorizzata in BBRAM o eFUSE sul dispositivo |
| Autenticazione | HMAC opzionale per bitstream crittografati |
| Controllo integrità | CRC aggiunto alla fine del bitstream; l'FPGA lo verifica al caricamento della configurazione |
| Opzione compressione | Vivado supporta bitstream compressi opzionali per selezionate famiglie di dispositivi |
| Famiglie FPGA | Spartan-6 (ISE); 7-series, UltraScale, UltraScale+ (Vivado) |
| Dimensione tipica del file | 300 KB - 100 MB (Spartan: ~300 KB; grandi UltraScale+: 50-100 MB) |
| Strumenti di generazione | AMD Vivado (attuale); Xilinx ISE 14.7 (legacy, nessun rilascio da ottobre 2013) |
| Alternativa formato grezzo | .bin - nessuna intestazione TLV; usato per programmazione flash SPI diretta |
| Formato successore Versal | .pdi (Program Device Image), introdotto con la famiglia Versal ACAP nel 2020 |
| Rilasciato | ~1985 (with early Xilinx FPGA toolchain) |
| Ultima versione | Vivado 2025.1 bitstream (7-series, UltraScale, UltraScale+, Versal) |
| Specifica | docs.amd.com |
Conversioni BIT
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file BIT.