BIT ファイル形式とは?
.bit ファイルは、Xilinx(現 AMD)の EDA ツールによって生成されるバイナリ FPGA 構成ビットストリームです。これは、ルーティング、ロジック・セル構成、I/O 設定、RAM 初期化など、FPGA デバイスの完全なプログラミング・データをエンコードしており、チップにロードされてそのハードウェア動作を定義します。
このファイルは 2 部構成になっています。まず、デザイン名、ターゲット・デバイス、ビルド日時を記録した可変長の ASCII TLV(Tag-Length-Value)ヘッダーがあり、その後にバイナリ・ビットストリーム・ペイロードが続きます。ペイロードは 0xFF のダミー・パディング・バイトで始まり、次に同期ワード 0xAA995566、そして内部 FPGA レジスタ(FAR、FDRI、CMD、IDCODE)に書き込むタイプ 1 およびタイプ 2 の構成パケットが続きます。
AMD Vivado Design Suite は、7 シリーズ、UltraScale、および UltraScale+ FPGA 用の .bit ファイルを生成します。レガシーな ISE Design Suite(v14.7、現在もダウンロード可能ですが 2013 年以降の新しいリリースはありません)は、Spartan-6 や Virtex-4/5/6 などの古いファミリ用の .bit ファイルを生成します。Versal デバイスの場合、後継は .pdi です。関連する形式には .bin(TLV ヘッダーのない生のビットストリームで、SPI フラッシュのプログラミングに使用される)があります。
オプションの AES-256 暗号化と HMAC 認証により、IP 盗用から保護されます。ビットストリームの最後には CRC が付加され、FPGA は構成ロード中にこれを検証します。openFPGALoader や xc3sprog などのオープンソース・ツールを使用して、.bit ファイルから直接 FPGA をプログラムすることも可能です。
セキュリティと安全性
リスク: LOWFPGA ハードウェアを構成することのみが可能なバイナリ・ファイルであり、PC の CPU 上で実行することはできません。ビューアでファイルを開くことによるマルウェアのリスクはありません。悪意のあるビットストリームを FPGA ハードウェアにロードすると、ハードウェアの機能が損なわれる可能性がありますが、これは物理的なアクセスを伴う攻撃シナリオです。
形式の詳細
概要- X11 ビットマップ (XBM) - 一部のソースでは .bit を X11 ビットマップ画像形式(プレーンテキストの ASCII ピクセルアート)に関連付けていますが、これは稀であり、通常その形式は .xbm を使用します。
- BitTorrent 未完了ダウンロード - 一部の BitTorrent クライアントは、不完全なダウンロードのマーカーとして .bit を使用しますが、これは FPGA とは無関係です。
BIT ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディング | バイナリ |
| バイト順序 | ビッグエンディアン(32ビット構成パケット) |
| ヘッダー形式 | ASCII TLV - フィールド: «a» デザイン名、«b» ターゲット・デバイス、«c» ビルド日付、«d» ビルド時刻、«e» ペイロード・バイト長 |
| 同期ワード | 0xAA995566 - バイナリ・ビットストリーム・ペイロードの開始を示します |
| ビットストリーム・プリアンブル | 同期ワードの前に配置される 0xFF ダミー・バイト |
| 暗号化サポート | オプションの AES-256。暗号化キーはデバイス上の BBRAM または eFUSE に保存されます |
| 認証 | 暗号化されたビットストリーム用のオプションの HMAC |
| 整合性チェック | ビットストリームの末尾に CRC が付加されます。FPGA は構成ロード時にこれを検証します |
| 圧縮オプション | Vivado は、特定のデバイス・ファミリに対してオプションの圧縮ビットストリームをサポートしています |
| FPGA ファミリ | Spartan-6 (ISE); 7 シリーズ、UltraScale、UltraScale+ (Vivado) |
| 一般的なファイルサイズ | 300 KB - 100 MB (Spartan: 約 300 KB; 大規模な UltraScale+: 50-100 MB) |
| 生成ツール | AMD Vivado (現行); Xilinx ISE 14.7 (レガシー、2013年10月以降リリースなし) |
| 生形式の代替案 | .bin - TLV ヘッダーなし。直接的な SPI フラッシュ・プログラミングに使用されます |
| Versal 後継形式 | .pdi (Program Device Image)、2020年に Versal ACAP ファミリで導入 |
| リリース日 | ~1985 (with early Xilinx FPGA toolchain) |
| 最新バージョン | Vivado 2025.1 bitstream (7-series, UltraScale, UltraScale+, Versal) |
| 仕様書 | docs.amd.com |
BIT の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。BIT ファイルについて最初の質問をしてみましょう。