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文件的格式。

目录
相关文章
|
3天前
|
存储 算法 物联网
MCU的最佳存储方案CS创世 SD NAND
MCU的最佳存储方案CS创世 SD NAND
21 7
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
各种CPU的ELF编码,ELF并没有为龙芯分配253-256
135 0
|
存储 算法 数据格式
Xilinx MCS(HEX)文件格式详解
Xilinx MCS(HEX)文件格式详解
659 0
Xilinx MCS(HEX)文件格式详解
|
存储 芯片 异构计算
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
673 0
使用ISE iMPACT实现一键bit转mcs,bit文件下载,mcs文件下载
|
芯片 数据格式 异构计算
音频DA转换芯片CS4334及基于FPGA的时钟配置
音频DA转换芯片CS4334及基于FPGA的时钟配置
音频DA转换芯片CS4334及基于FPGA的时钟配置
|
编解码 Ubuntu 编译器
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
466 0
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
|
Ubuntu 编译器
ubuntu下交叉编译libyuv到RK3399平台(ARM64)((提高YUV图像转换效率)
ubuntu下交叉编译libyuv到RK3399平台(ARM64)((提高YUV图像转换效率)
602 0
ubuntu下交叉编译libyuv到RK3399平台(ARM64)((提高YUV图像转换效率)
|
Oracle 关系型数据库 Java
Can't load AMD 64-bit .dll on a IA 32-bit platform错误消息的处理
Can't load AMD 64-bit .dll on a IA 32-bit platform错误消息的处理
Can't load AMD 64-bit .dll on a IA 32-bit platform错误消息的处理
|
芯片 SoC 传感器
带你读《小创客趣玩micro bit开发板编程》之一:什么是 microt:bit
本书从 micro:bit介绍、micro:bit开发方式、Makecode图形化编程和创意编程案例实践4个维度带领大家逐步理解和学习 micro:bit的使用方法。
|
Web App开发 编解码 Android开发
NGcodec谈FPGA编码与HEVC和AV1
随着HEVC、AV1等更复杂算法的Codec份额逐步增长,实现高质量视频编解码需要硬件支持,软件的方式无论在服务器端和移动端都非最佳的方案。
2339 0