Xilinx Bit文件格式详解

简介: Xilinx Bit文件格式详解

Xilinx FPGA支持多种程序文件格式,如.bit/.bin/.rbt/.isc,最常用的为.bit格式,一般用于调试时下载到FPGA片内RAM,掉电会丢失,量产时将.bit文件转换为.mcs格式文件,固化到外部Flash内。


比如在一些特定情况下,我们只有一个.bit文件,我们如何获取到以下信息呢?

  • Bit文件所对应的FPGA芯片信息,如型号,封装等
  • Bit文件所对应的FPGA工程的顶层设计名称
  • Bit文件所生成的时间,日期信息
  • 用户指定的ID号码(8位十六进制数)


相比于mcs文件,bit文件包括的信息更多,mcs文件只包含bit文件中的数据部分,上一篇文章介绍了MCS文件格式,本文简单介绍Xilinx bit文件的基本构成。


Xilinx Bit文件如何生成

Xilinx ISE开发环境,支持多种程序文件文件生成,.bit/.bin/.rbt/.isc,其中.bin格式文件不能下载到FPGA内部,也不能用来转换为mcs。


ISE生成文件类型,可以在生成下载文件选项中进行选择:

640.jpg


选择所需要的程序文件格式:

640.jpg


还可以在Bit文件中指定用户代码,可以作为版本号或识别码。

640.jpg


Xilinx Bit文件格式

bit文件是二进制编码的文件,不能使用文本工具打开,可以使用二进制编辑工具查看。


使用Binary Viewer打开一个bit文件:demo.bit

640.jpg


我们好像发现了一些信息:

  • top.ncd,表示生成当前bit文件的顶层设计名称为:top
  • 6Slx9ftg256,bit文件所对应的FPGA型号:Spartan-6系列XC6SLX9,FTG256封装。
  • 2021/07/25 14:22:26,bit文件生成的时间:2021-07-25 14:22:26
  • 0x12345678,指定的用户ID


更简单的一种方式,我们可以使用file命令直接查看文件信息,file命令支持Xilinx系列Bit文件解析。


如果是Linux系统,我们可以直接使用file命令查看文件信息,Windows下,我们可以在GitCygwin64 Terminal等终端工具中使用file命令:

whik@WangChaoLaptop MINGW64 /d/MyFile
$ file ./demo.bit
demo.bit: Xilinx BIT data - from top.ncd;HW_TIMEOUT=FALSE;UserID=0x12345678 - for 6slx9ftg256 - built 2021/07/25(14:22:26) - data length 0x5327c


运行结果:

640.jpg


file命令开源地址:

https://github.com/file/file/blob/master/magic/Magdir/xilinx


640.jpg


master/magic/Magdir/xilinx文件简单介绍了Bit文件的格式。

目录
相关文章
|
编解码 Linux
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
1429 0
|
Ubuntu Linux Windows
Linux下音频开发: 读取声卡PCM数据保存到文件(alsa-lib库)
Linux下音频开发: 读取声卡PCM数据保存到文件(alsa-lib库)
1566 0
Linux下音频开发: 读取声卡PCM数据保存到文件(alsa-lib库)
|
6月前
NUC980修改内核支持spi-nand
NUC980修改内核支持spi-nand
78 2
|
算法 异构计算
基于FPGA的HDB3编译码verilog实现,包括testbench
基于FPGA的HDB3编译码verilog实现,包括testbench
209 0
|
存储 算法 数据格式
Xilinx MCS(HEX)文件格式详解
Xilinx MCS(HEX)文件格式详解
790 0
Xilinx MCS(HEX)文件格式详解
|
存储 芯片 异构计算
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
836 0
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
195 0
|
编解码 Ubuntu 编译器
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
538 0
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
|
Linux C语言 内存技术
Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)
Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)
1409 0
|
芯片 SoC 传感器
带你读《小创客趣玩micro bit开发板编程》之一:什么是 microt:bit
本书从 micro:bit介绍、micro:bit开发方式、Makecode图形化编程和创意编程案例实践4个维度带领大家逐步理解和学习 micro:bit的使用方法。