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

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

3天内不再提示

基于FPGA开发设计,为何模块看到一个严重警告?

YCqV_FPGA_EETre 来源:互联网 作者:佚名 2018-04-28 09:06 次阅读

早在2017年1月初,我们宣布Xilinx IP目录中的所有IP使用xci和xcix格式的文件,这已经不是什么新鲜事了,其实我们之前一直在说这是我们多年来的主要建议,这其中包括很多重要的原因,xci文件是一个xml格式的文件,它能够搜集ip所有的配置信息,更重要的是包括Vivado指向的ip所生成的大量文件,比如上下文综合、约束和模拟文件等。根据xci文件Vivado可以确定IP是否已经“完全生成”或者缺少哪些文件。

许多客户都更喜欢与ISE core生成器接近的生成模型,因为这样会生成单个文件,将.dcp文件从生成目录拷贝到Vivado工程目录,作为源文件代替之前使用的.xci文件,我们尝试支持这种模式,但是这种方法存在很多问题我们还无法解决,因此从某种意义上讲,我们正远离这一点,并试图引导我们的客户使用我们所推荐的流程。

为此从2017年1月开始,如果用户向工程中添加.dcp文件,尤其是涉及Xilinx IP目录中的模块将会看到一个严重的警告,提示他们不推荐这样做,这个流程将继续像以前一样持续,并且保持2017年1月之前就存在的一些限制条件。

我们还修改了IP OOC综合的工作方式,为了避免约束多余的应用,在2017年1月初,OOC dcp文件将不再包含任何约束信息,如果你遵循我们的建议使用IP xci文件,那么之前的约束信息将能够重新应用于IP,通过将约束信息从dcp文件中移除,我们能够确保不会有重复的信息。

我将用一分钟时间向大家展示一个示例:

如果客户在工程中使用了RTL代码,并且开启了OOC综合或者使用“自下而上的综合”,那么这个流程不会受到影响,并且仍然会像之前那样正常工作,这些更改仅适用于Xilinx IP目录内的IP和用户自定义封装的IP模块。

下图展示了使用.xci文件和.dcp文件工作流程的差异,这有助于让我们理解使用独立的dcp格式的文件:

当读取xci文件时,Vivado会读取生成的dcp文件,跳过嵌入的约束信息,采用的是原始IP的约束文件,这是我们推荐的流程,可以确保应用的约束信息符合IP设计者的想法。

另一方面,当单独读取dcp文件时,Vivado并不会涉及原始的IP约束文件,DCP文件会被解压到一个临时目录,读取网表信息并且应用DCP文件中嵌入的约束信息,理解这个问题的根源在于原始ip xdc文件和嵌入到dcp中的xdc文件之间的差异,生成的DCP文件包括用于OOC综合的约束信息,这是一个“关乎上下文的”综合过程,需要合理的约束才能生成正确的网表,但是这些约束信息并不关心外部的设计。

还有一些问题用户可能还没有意识到,.xci文件指向的IP模块还需要其他一些必需的文件,dcp文件中没有嵌入关键的内存初始化信息,比如elf和coe文件等,当我们使用dcp文件时,工具无法访问层次信息,这有助于我们确定是否存在控制MIG校准的嵌入式MicroBlaze处理器,所以DDR的MIG流程使用独立的dcps文件无法正确工作时,我们需要引入xci文件。

除此之外,使用.dcp进行的模拟操作发生在结构化后综合的网表文件中,这与行为描述的RTL文件(由.xci文件指向和传递)相比速度会非常的慢,大约会慢100倍。

其他通常会发生的问题是丢失.xci文件——它包含有IP的配置信息,IP不能通过dcp文件重新生成——因此用户必须保持对.xci文件的跟踪,在早期IP的支持中,Vivado会大量的文件,我们非常努力的减少这些文件的数量,现在的文件数量相比2014年减少了2/3,因此用户检查所有生成文件的版本控制会比之前容易的多,至少用户可以使用.xci文件来重新生成IP或者检查所有生成的文件从而减少编译时间。

这些问题可以通过使用.xci或者.xcix文件来避免,这是我们测试和支持的—我们没有测试独立的dcps文件。

现在的情况比之前少了很多,与几年前相比,用户看到的文件数量和大小都减少了很多,这是对使用.xci和.dcp脚本进行的单行更改,用户仍然可以完全控制使用.xci的生成过程,因此不应该有太多的阻力就可以转移到这个流程。

.xcix文件会提供一个文件,可以用来进行版本控制,它保留了我们建议流程的优势。

下面是一些帮助用户了解我们设计流程建议的资源,通常人们想要使用dcp文件的原因可以归结于版本控制方法,我们创建了快速入门视频教程和示例来帮助用户理解我们的建议,你可以参考用户指南:• 版本控制快速入门视频:https://www.xilinx.com/video/hardware/vivado-design-suite-revision-contr...• 版本控制设计示例和脚本:https://github.com/xilinx/revCtrl• 版本控制教程用户指南(最后更新2016.3):https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_3/ug1...• 使用IP设计用户指南:https://www.xilinx.com/support/documentation/sw_manuals/xilinx20171/ug89...

我们还想说的是我们的IP用户设计指南中关于.xci文件的使用建议已经非常清晰了,很长一段时间使用dcp文件都会有局限性,这对用户来说应该并不奇怪,我们理解有时用户无法在短时间内跟上用户指南中大量的建议,这也是我们引入警告信息的原因,并且能够提示用户使用.xci文件的重要性。

遵循Xilinx的建议非常的重要,可以充分利用我们最新技术带来的便利,dcp文件的设计目的并不是为了完全符合IP复杂的设计流程,它实际上是网表/约束/路由设计信息的数据库,为了能够正确使用IP,你应该使用专为此而设计的.xci或.xcix文件。

作者简介

Greg Daughtry是一名产品营销总监,他的团队负责Vivado的核心基础架构:IDE、工程、Tcl脚本、部分可重配置、布局实现算法、逻辑优化、路由和所有相关分析功能,Greg拥有北卡罗莱纳州立大学计算机工程硕士学位,拥有25年的电子行业经验,曾主导过全定制化的ASIC器件设计、大容量母板设计、软件开发、应用工程和技术销售等业务,在Intel、多家初创公司中任过职,Greg已经在Xilinx工作了10年,专注于新一代开发工具和方法的研发,从而提高Xilinx用户的生产力和生产效率。

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

    关注

    1602

    文章

    21317

    浏览量

    593154
  • Xilinx
    +关注

    关注

    70

    文章

    2120

    浏览量

    119372

原文标题:【技术支持】:使用“独立的”.dcp文件代替.xci文件

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA编译警告问题,请高手指点

    就是这个。请问这个警告应该怎么解决?请高手们多多指点!有时候FPGA编译的后状态不稳定,每次编译后的load到板子里后的状态不样,请问这种问题该怎么解决呢,该从哪方面解决?请高手们
    发表于 07-08 21:23

    单音信号分2路由FPGA输入到DAC,然后在频谱仪上面看为何频谱不对呢?请问为何

    单音信号分2路由FPGA输入到DAC,然后在频谱仪上面看为何频谱不对呢?请问为何
    发表于 07-11 20:07

    例说FPGA连载8:FPGA开发流程

    比较高等级的FPGA开发流程,从项目的提上议程开始,设计者需要进行FPGA功能的需求分析,然后进行模块的划分,比较复杂和庞大的设计,则会通过模块
    发表于 07-13 17:25

    FPGA常见警告

    `FPGA常见警告`
    发表于 01-22 11:01

    与两MMCM共享时钟输入时的严重警告和错误

    严重警告,我看到ref_clk_1(时钟输入被馈送到两MMCM)变为“未固定”,并且在实现结束时,我得到如下的DRC错误:[DRC 23-20]规则违规(UCIO-1)无约束逻辑端口
    发表于 10-26 15:01

    使用synplify和生成器网表文件合成VIRTEX 7时报告严重警告

    当使用synplify和生成器网表文件合成VIRTEX 7时。通过vivado将V7网表用于P& R.日志文件报告严重警告,如下所示:这条消息有什么影响吗?严重警告[网表29-
    发表于 10-29 14:17

    Vivado生成的XDC约束的严重警告

    使用Vivado 2015.4我生成了两FIFO和Aurora Core。我收到与Vivado自动生成的时序约束相关的严重警告。由于我
    发表于 11-02 11:30

    实施过程中的严重警告

    有人可以帮我解决下面的严重警告: - 我正在使用采用XC7K325T-2FFG900C FPGA的KC705评估板[Vivado 12-1411]无法设置端口的LOC属性,无法合法地将实例
    发表于 11-05 11:30

    为何multisim中测量的值严重错误,而不烧毁?(我曾经看到别人multisim电路LED烧毁)

    如图,测量LED所在线路的为何电流会这么大?都3.89KA了,这与实际不符合啊,按照道理来说led的线路中最多30毫安左右啊?这是不是表示已经烧毁了啊!同样,串联
    发表于 01-08 18:23

    无法看到FPGA的spi内核

    嗨,我们在我们的项目中使用Artix7100t FPGA,我必须在这个FPGA中使用spi核心。在xilinx 14.7 coregen中,我无法
    发表于 04-13 09:58

    什么表明下面粘贴的严重警告

    嗨伙计,什么表明下面粘贴的严重警告?[Synth 8-5744]在顶层模块design_1_wrapper中没有为引脚fdata_out [14]创建Inout缓冲区,其他连接可能没有缓冲区连接如何从这个
    发表于 05-22 15:58

    来自FIFO的严重警告怎么解决?

    /design_1_fifo_generator_0_0_clocks.xdc":61]警告[共同17-55]是严重警告。我想也许wr_
    发表于 08-13 09:29

    使用LabVIEW FPGA模块和可重新配置I/O设备开发

    使用 LabVIEW FPGA 模块和可重新配置I/O 设备开发测量与控制应用通过使用LabVIEW FPGA 模块和可重新配置I/O(RI
    发表于 07-23 08:09 67次下载

    FPGA经常有哪些常见警告应该如何解决

    本文档的主要内容详细介绍的是FPGA经常有哪些常见警告应该如何解决。
    发表于 10-14 16:00 9次下载
    <b class='flag-5'>FPGA</b>经常有哪些常见<b class='flag-5'>警告</b>应该如何解决

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)技术的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字
    的头像 发表于 03-14 18:20 772次阅读