0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DFX设计中Bitstream文件详解

FPGA技术驿站 来源:FPGA技术驿站 2023-12-07 10:45 次阅读

DFX设计中有4类Bitstream文件,包括:

Full configuration bitstreams

Partialbitstreams

Blanking bitstreams

Clearingbitstreams

Full configuration bitstreams

Fullconfiguration bitstreams对应的是静态区加动态区的完整设计,因此,该文件与传统的非DFX工程生成的bitstream从文件格式到文件结构均是一致的。同时使用方法也是一致的。另外,一些特征如对bitstream文件进行加密和压缩也是支持的。另一方面,这里的RP可以是黑盒子,即RP没有任何功能,这样可以最大程度缩减bitstream大小,如果再结合bitstream的压缩特性,那么就可以进一步提升FPGA初始配置时间。Fullconfiguration bitstreams的加载过程如下图所示。加载完成且验证通过,DONE信号就会抬高,FPGA就进入用户模式,图中绿色标记。

92e79656-94aa-11ee-939d-92fbcf53809c.png

Partial bitstreams

当Full configuration bitstreams加载完成之后,就可以根据需要加载Partialbitstreams已切换动态区的功能,这正是DFX的本质。Partialbitstream有着和Full configuration bitstreams相同的文件结构,不同之处在于Partial bitstream仅针对FPGA指定区域也就是动态区。此外,针对DFX,Partial bitstreams还具有帧CRC检测和自动初始化(加载Partial bitstream后动态区可以进入已知状态)功能,同样也支持加密和压缩功能。Partial bitstream文件的大小和动态区的大小是成正比的,例如:RP大小是整个FPGA大小的20%,那么基本上Partial bitstream的大小也是Full configuration bitstream大小的20%。Partial bitstream是独立的,包含了地址、头、尾等具体信息,需要采用从模式加载如JTAG,Slave Serial或者Slave SelectMap,ICAP,PCAP(针对Zynq7000 SoC)和MCAP(针对UltraScale和UltraScale+)。Partial bitstream可通过命令write_bitstream自动生成,也就是在生成Fullconfiguration bitstream的时候会自动生成Partial bitstream文件,而无需额外操作。Partial bitstream的文件名也是有特定的规律的,假如

Fullconfiguration bitstream文件为

top_first.bit,

RP对应的Pblock名字为pblock_red,

那么Partial bitstream文件名就为

top_first_pblock_red_partial.bit。

当FPGA进入用户模式时就可以加载Partial bitstream文件,如下图所示。对于UltraScale,在加载Partialbitstream之前先要加载Clearing bitstream,这时DONE信号为低,加载完Clearing bitstream之后,DONE信号依然保持低电平,之后加载Partial bitstream,完成之后DONE信号才会抬高。

92ec509c-94aa-11ee-939d-92fbcf53809c.png

Blankingbitstream

Blankingbitstream是一种特定的partial bitstream,它是在初始Configuration(静态区+完整动态区)的基础上,将静态区替换为黑盒子,同时将相应I/O插入LUT,这被称为会盒子(Greybox,注意和Blackbox是不同的)如下图所示。尽管这时动态区的逻辑功能已经被移除,但需要注意如果静态区要从动态区穿过也就是静态区使用了动态区的一些布线资源,那么这些布线资源仍然会被保留。

92f70636-94aa-11ee-939d-92fbcf53809c.png

在Vivado图形界面方式下,可以很容易将动态区配置为Greybox,如下图所示。如果采用Tcl脚本则需要注意使用两次update_design命令,前者将动态区替换为Blackbox,后者对动态区相应I/O插入LUT。

9301e90c-94aa-11ee-939d-92fbcf53809c.png

9306de62-94aa-11ee-939d-92fbcf53809c.png

当对输出端口插入LUT时,默认情况下LUT输出为低电平,但可通过如下Tcl脚本修改其输出值,这里用到了属性HD.PARTPIN_TIEOFF。

9318ece2-94aa-11ee-939d-92fbcf53809c.png

Clearing bitstreams

Clearingbitstreams只是针对UltraScale芯片(不包括UltraScale+芯片),这是器件结构本身需求所决定的。Clearing bitstreams本身并不是Partialbitstreams,它只包含了动态区小于10%的Frame,因此其大小也就小于对应动态Partial bitstreams的10%。它需要和相应的Partial bitstream一起使用。例如设计中有一个RP,该RP下有两个RM,分别为RM1和RM2,那么就会生成两个Clearing bitstream文件:

rm1_rp1_partial_clear.bit

rm2_rp1_partial_clear.bit

也会生成两个Partial bitstream文件:

rm1_rp1_partial.bit

rm2_rp1_partial.bit

当由RM1切换到RM2时,先加载rm1_rp1_partial_clear.bit,紧随其后加载rm2_rp1_partial.bit。反之,由RM2切换到RM1时,需要先加载rm2_rp1_partial_clear.bit,再加载rm1_rp1_partial.bit。工具会自动生成Clearingbitstream文件,它和Partial bitstream文件的名字不同之处是在结尾多了“_clear”。

Copyright@FPGA技术驿站 转载事宜请私信|获得授权后方可转载

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593201
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • bit
    bit
    +关注

    关注

    0

    文章

    47

    浏览量

    31853
  • dfx设计
    +关注

    关注

    0

    文章

    6

    浏览量

    65

原文标题:DFX设计中有哪些bit文件?

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是DFX技术?DFX设计一定要执行设计规则检查吗?

    DFX(Dynamic Function eXchange)的前身是PR(部分可重配置,Partial Reconfiguration)。
    的头像 发表于 09-21 09:21 3302次阅读
    什么是<b class='flag-5'>DFX</b>技术?<b class='flag-5'>DFX</b>设计一定要执行设计规则检查吗?

    write_bitstream日志出现错误

    嗨,由于write_bitstream日志中出现以下错误,我无法为Viviado 2016.2的VCU110评估板生成比特流:....加载数据文件...加载站点数据...加载路径数据...处理选项
    发表于 10-26 15:02

    CentOS上的PlanAhead 14.7无法将Bitstream导出到SDK

    (File-Export-Export Hardware for SDK)的选项不允许复选框“include bitstream ...”,这是灰色的。在那里有任何人有同样的问题,或者更好,任何有帮助提示的人?提前
    发表于 11-28 15:15

    请问怎么在Vivado中保存Bitstream文件

    亲爱的大家,如何将比特流文件(* .bit和* .bmm)保存到一个众所周知的目录,以便我可以将其专门下载到FPGA。我有很多版本的设计具有不同的参数值。我想在目录中保存与参数的不同值相关
    发表于 03-19 10:43

    请问如何在Vivado更改比特流文件的位置?

    有没有办法改变比特流文件位于Vivado(2016.1)内的位置?我知道我可以在Tcl控制台上输入tcl命令“write_bitstream”(https://forums.xilinx.com
    发表于 05-12 09:23

    BMP图片文件详解

    BMP图片文件详解,很好的资料,快来学习吧
    发表于 02-18 14:16 0次下载

    GIF文件格式详解

    GIF文件格式详解 GIF文件格式详解 GIF文件格式详解
    发表于 05-24 10:53 2次下载

    PCB板DFX工艺性要求

    PCB板DFX工艺性要求PCB板DFX工艺性要求
    发表于 07-26 16:29 0次下载

    详解如何用AD生成Gerber文件

    详解如何用AD生成Gerber文件
    发表于 11-23 11:07 0次下载

    简述DFX理念与产品研发(一)

    随着市场竞争的日益激烈,产品低价格、高质量、交货周期短已成趋势,在电子制造业中,躺着赚钱的日子一去不返,越来越多的企业开始重视DFX,然而DFX如何快速融入企业及产品开发中呢? 传统的产品开发与生产
    的头像 发表于 09-28 16:01 2718次阅读

    简要分析DFX实施流程

    新产品开发,尤其是电子产品的开发过程,通常包含了硬件设计、软件开发、结构设计、DFX等等,DFX作为其中不可或缺的一部分,它也应同硬件开发、软件开发一样贯穿与整个开发流程,笔者认为,它也应该有
    的头像 发表于 09-28 16:14 3009次阅读

    KEIL中启动文件详解(汇编语言)

    KEIL中启动文件详解(汇编语言)
    发表于 12-04 12:06 8次下载
    KEIL中启动<b class='flag-5'>文件</b><b class='flag-5'>详解</b>(汇编语言)

    DFX模式下如何读入模块的网表文件

    DFX模式下要求在设计的顶层文件,每个RP对应的RM只以一个空的接口形式存在,这样对顶层综合时,RM就是黑盒子。而对每个RM要采用OOC的综合方式。OOC综合本质上就是工具不会对设计的输入/输出端口
    的头像 发表于 09-27 09:45 302次阅读

    芯片DFX:Coresight架构

    最近接触到了一些产线的Test的东西,然后发现这里面有一些DFX的相关东西。
    的头像 发表于 11-05 17:04 644次阅读
    芯片<b class='flag-5'>DFX</b>:Coresight架构

    DFX可制造性设计与组装技术

    今天分享是《DFX可制造性设计与组装技术》 资料
    的头像 发表于 12-11 11:10 372次阅读
    <b class='flag-5'>DFX</b>可制造性设计与组装技术