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

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

3天内不再提示

如何在Post Synthesis工程中加入XCI文件

XILINX开发者社区 来源:XILINX开发者社区 2023-06-08 15:43 次阅读

本文作者:AMD 赛灵思工程师Hong Han

当使用第三方综合器比如 Synopsys Synplify Pro 或 Mentor Graphics Precision 来综合包含 AMD Xilinx IP 的设计时,UG896 推荐的方式是创建并定制 IP,生成这些 IP 的 output product (包括 IP 的 dcp);然后把第三方生成的网表文件和 IP XCI 的相关文件都加到 Vivado 的 post-synthesis 工程中。

此时第三方综合器只是综合用户的 RTL 代码,IP 代码的综合实际还是由 Vivado 完成,然后在新的 Vivado 工程中把这些 IP 的网表和第三方综合器生成的顶层网表合并(在 Vivado 中的 link_design 步骤实现)。

第三方综合器由于并不实际综合 IP 的代码,在第三方综合器综合的过程中,只需要提供 IP 的黑盒文件,让第三方综合器了解 IP 模块的接口即可,生成 IP output product 时得到的 stub 文件就是黑盒文件(_stub.v /_stub.vhdl)。

af009848-05cf-11ee-962d-dac502259ad0.png

以下是在 GUI 下创建 Post-synthesis 工程的界面:

af289744-05cf-11ee-962d-dac502259ad0.png

UG896 中提供的示意 Tcl 脚本如下:

af2e9e32-05cf-11ee-962d-dac502259ad0.png

在 Vivado 2022.2,尝试使用以上的脚本编译一个例子工程看看是否会遇到困难。
实验使用的脚本如下:

af4c964e-05cf-11ee-962d-dac502259ad0.png

结果 IP char_fifo 没能加到新的工程中,并报出以下的错误:

af644154-05cf-11ee-962d-dac502259ad0.png

之所以报错的原因是为了新建工程,我们移动了 IP 的 XCI 文件,但是却没有移动 IP 原来生成在 gen 目录的 output product。
直接用第三方编译器打开 XCI文件,查看 outputdir。这是之前的 output product 所在的目录相对于 XCI 文件的目录。

af821698-05cf-11ee-962d-dac502259ad0.png

在这里我们尝试手动修改一下outputdir,改成当前 IP 的 output product 所在的目录 "OUTPUTDIR": [ { "value": "../char_fifo" } ],同时把原来工程中生成的 output product 复制到这个目录中。

在 Vivado TCL CONSOLE 中重新运行一下加 XCI 文件的命令,可以看到以下输出:

af90cfb2-05cf-11ee-962d-dac502259ad0.png     afb78666-05cf-11ee-962d-dac502259ad0.png

这里可以看到 XCI 文件已经加到工程中,同时看到的 warning 是正常的,提醒用户在 post-synthesis 工程中,IP 是锁定的,无法修改。

在一些早期的 Vivado 版本中(Vivado 2022.2没有这个问题),即使 IP XCI 文件中 OUTPUTDIR 所指向的目录的确是 IP output product 存放的目录,依然会报 ERROR: [Project 1-680]。这里给大家介绍一下如何微调脚本解决这个问题。

新的脚本:

afd941c0-05cf-11ee-962d-dac502259ad0.png

这里差异在于在新工程设置为 post-synthesis 工程之前,先读入 XCI 文件并重新生成 IP 的 output product。这样就不必修改 XCI文件的 OUTPUTDIR 去指向之前 output product 的目录。

aff65eea-05cf-11ee-962d-dac502259ad0.png

使用 tcl 命令生成的工程文件 .xpr 文件可以在 Vivado 界面直接打开(File -> Project -> Open)。

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

    关注

    25

    文章

    5197

    浏览量

    132632
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119373
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • 综合器
    +关注

    关注

    0

    文章

    8

    浏览量

    6381
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65100

原文标题:开发者分享|如何在 Post Synthesis 工程中加入 XCI 文件

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Protel在线教程:如何在PCB文件中加汉字

    Protel在线教程:如何在PCB文件中加汉字 在PCB文件上面加上汉字一直都是很多网友比较感兴趣的事情。PROTEL早期的版本加
    发表于 04-22 09:09 4046次阅读
    Protel在线教程:如<b class='flag-5'>何在</b>PCB<b class='flag-5'>文件</b><b class='flag-5'>中加</b>汉字

    请教各位大侠如何在protel99中加入图片或公司LOGO

    教各位大侠如何在protel99中加入图片或公司LOGO
    发表于 11-26 13:33

    何在cadence中加入中文丝印

    何在cadence中加入中文丝印???谢谢
    发表于 12-21 12:13

    何在protues元件库中加入AD7755?

    何在protues元件库中加入AD7755
    发表于 04-18 10:20

    【求助】labview图像显示中加入标签的问题

    做了一个小程序,测两个圆圆心的距离,第一幅图是用视觉助手做出来的,可以看到在显示的部分会有所标记,但是生成LABVIEW程序后类似的标记没有了,想问一下如何在LABVIEW图像显示中加入这种点、线
    发表于 04-22 20:46

    IO Planning (PlanAhead) post-synthesis时报错

    各位大佬好:小弟刚刚接触FPGA验证,按照网上教程学习时,在RTL仿真结束,做UCF时,遇到如下问题:1. 如果双击IO Pin Planning - post-synthesis时,会报错,报错
    发表于 12-20 15:09

    何在文件系统中加入ssh命令?

    想要在根文件系统中加入ssh命令,这个应该怎么办?
    发表于 10-24 02:23

    请问如何在SoC设计中加入音频处理功能?

    何在SoC设计中加入音频处理功能?
    发表于 06-03 06:36

    华大单片机是如何向MDK中加入文件和库文件

    华大单片机如何向MDK中加入文件和库文件关键文件介绍加入文件大多数习惯于8位单片机开发的
    发表于 07-13 08:43

    请问如何在RTTHREAD STUDIO 中加入W601 MCU?

    请问如何在RTTHREAD STUDIO 中加入W601 MCU?
    发表于 02-22 14:16

    Vivado技巧:.dcp 文件代替 .xci 文件

    早在2017年1月初,我们宣布Xilinx IP目录中的所有IP使用xci和xcix格式的文件,这已经不是什么新鲜事了,其实我们之前一直在说这是我们多年来的主要建议,这其中包括很多重要的原因,xci
    发表于 05-02 08:50 4790次阅读
    Vivado技巧:.dcp <b class='flag-5'>文件</b>代替 .<b class='flag-5'>xci</b> <b class='flag-5'>文件</b>

    何在XHTML网页中加入CSS详细的五种方式说明

    本文档的主要内容详细介绍的是如何在XHTML网页中加入CSS详细的五种方式说明资料免费下载。
    发表于 06-13 16:58 5次下载

    赛灵思建议:使用IP xci文件代替dcp格式的文件

    当读取xci文件时,Vivado会读取生成的dcp文件,跳过嵌入的约束信息,采用的是原始IP的约束文件,这是我们推荐的流程,可以确保应用的约束信息符合IP设计者的想法。
    的头像 发表于 07-27 11:20 3481次阅读
    赛灵思建议:使用IP <b class='flag-5'>xci</b><b class='flag-5'>文件</b>代替dcp格式的<b class='flag-5'>文件</b>

    华大单片机如何向MDK中加入文件和库文件

    华大单片机如何向MDK中加入文件和库文件关键文件介绍加入文件大多数习惯于8位单片机开发的
    发表于 11-23 18:07 15次下载
    华大单片机如何向MDK<b class='flag-5'>中加入</b>头<b class='flag-5'>文件</b>和库<b class='flag-5'>文件</b>

    STM32程序HEX文件中加入固件版本信息

    使用MDK编译器,让STM32程序HEX文件中加入固件版本信息。
    的头像 发表于 08-14 16:13 3943次阅读