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

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

3天内不再提示

如果IP已经采用OOC综合那么是否可以将其修改为Global综合方式?

FPGA技术驿站 来源:FPGA技术驿站 2023-11-16 09:11 次阅读

本文将介绍Vivado Non-Project模式几个常见问题及解决方法。

问题1:如何读入IP?

问题2:如果IP已经采用OOC综合那么是否可以将其修改为Global综合方式?

问题3:如何对IP执行OOC综合?

问题4:如何对用户模块执行OOC综合并将其集成到整个设计流程中?

相比于Project模式,Vivado Non-Project模式可以提供用户更多的控制权,进而用户可以自主管理整个编译流程,可以根据需要选择是否生成相应的dcp文件或者相关报告。但也面临一个问题就是需要借助Tcl脚本,同时所用到的Tcl命令和Project模式有很大不同且两者不可混用。

问题1:Non-Project模式下如何导入IP,是用read_ip还是import_ip?

我们知道对于Vivado IP Catalog中的IP,只能采用Vivado进行综合。Vivado提供了两种综合方式:Global和Out-of-context(OOC),如下图所示。其中OOC模式就是单独对IP进行综合生成相应的dcp文件。

db4723fa-8413-11ee-939d-92fbcf53809c.png

对于设计中用到的IP,建议采用VivadoManage IP创建IP工程,单独对IP进行管理,如下图所示。

db66b1c0-8413-11ee-939d-92fbcf53809c.png

创建IP工程后即可定制IP,如下图所示,定制了两个IP:char_fifo和clk_core。其中前者采用OOC综合方式,可以看到其图标处有一个橙色方块。后者为Global综合方式。通常情况下,建议对IP采用OOC综合方式并在IP工程中完成对IP的单独综合。

db7f95dc-8413-11ee-939d-92fbcf53809c.png

这种情况下Non-Project模式读入IP时需要用命令read_ip,而不是import_ip,即使会报告如下图所示警告(忽略该警告,尽管这个警告是建议使用import_ip,但import_ip是在Project模式时使用的)。

db963af8-8413-11ee-939d-92fbcf53809c.png

实际上read_ip读入的不只是.xci文件,已经完成OOC综合所产生的所有输出文件都会被读入,包括dcp文件,因此这种情况下并不需要再次对IP综合,而是可以直接进行顶层设计的综合,相应脚本如下图所示。

其中代码第9行set_part命令用于指定当前工程用到的具体芯片型号,代码第17行用于验证read_ip读入的文件包括IP对应的dcp文件。

dbdd0726-8413-11ee-939d-92fbcf53809c.png

问题2:如果IP已经采用OOC综合那么是否可以将其修改为Global综合方式?







审核编辑:刘清

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

    关注

    3

    文章

    369

    浏览量

    43069
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16908
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65101
  • OOC
    OOC
    +关注

    关注

    0

    文章

    4

    浏览量

    4715

原文标题:Vivado Non-Project模式几个常见问题

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

收藏 人收藏

    评论

    相关推荐

    GSM给您解释解释XILINX XST综合的选项的含义(完成)

    采用这种模式;当然在综合和优化时,需要的时间较长。【Use Synthesis Constraints File】:使用综合约束文件。如果选择了该选项,
    发表于 02-24 10:44

    verilog HDL 可综合模型的结构

    综合模型的结构如果程序只用于仿真,那么几乎所有的语法和编程语句都可以使用。但如果程序是用于硬件实现,
    发表于 10-20 08:10

    浅谈IC设计中逻辑综合

    很明显,这里就没有论述到。在通常情况下,依照上述的这些方法就能够优化设计并满足要求。如果采用上述方法后还不能消除关键路径达到设计要求,就需要改进系统级设计,修改RTL代码,再重新进行综合
    发表于 05-16 20:02

    verilog可综合与不可综合-学习一下

    ,casez,wand,triand,wor,trior,real,disable,forever,arrays,memories,repeat,task(当task中程序是组合逻辑时就可以综合
    发表于 01-05 19:42

    verilog 循环以及@(clock)的综合

    1,在一个verilog程序里,如果循环是一个循环次数不可定的循环,那么它能被综合工具综合吗2,如果程序里有always @(clock)里
    发表于 02-03 15:29

    xilinx EDF已经综合过的网表文件怎样添加到Vivado工程中?

    xilinx EDF已经综合过的网表文件怎样添加到Vivado工程中?买了一个第三方的IP,给出了端口列表和核心模块发射机的.edf已经综合
    发表于 09-07 11:34

    是否可以综合和实施流程保留不同的约束文件?

    大家好,至于综合和实现流程中的“编辑时序约束”(见下文),它们是否应该与相同的文件相关?我可以保留文件,这些文件将在综合过程中考虑,在实施过程中不予考虑,反之亦然?实际上我在合成流的“
    发表于 10-29 11:50

    Linux Vivado怎么实现一次运行四个或更多OOC模块 ?

    项目中的相同OOC模块一次编译四个,而在我的Linux机器上,OOC模块一次只编译一个。我尝试了以下TCL命令,但它似乎没有解决我的问题:launch_runs synth_1 -jobs 4如果有人有任何
    发表于 04-29 10:03

    如何从综合中排除特定的OOC模块?

    相当大的设计,需要大约一个半小时才能构建。我发现OOC模块占用了大约三分之一的时间,并且想知道是否有办法从合成中排除未修改IP块。我尝试使用以下TCL命令从
    发表于 04-29 07:43

    FPGA的逻辑仿真以及逻辑综合的一些原则

    设计的综合l分块综合当设计规模很大时,综合也会耗费很多时间。如果设计只更改某个模块时,可以分块综合
    发表于 05-15 07:00

    网络综合布线的特点

    线路自成独立系统,在改建或扩建时互相不会影响。综合布线系统的所有布线部件采用积木式的标准件和模块化设计。因此,部件容易更换,便于排除障碍,且采用集中管理方式,有利于分析、检查、测试和维
    发表于 06-13 13:54

    Vivado逻辑分析仪使用教程

    的全局(Global综合方式,将顶层之下的所有逻辑模块都进行综合,但是设置为OOC方式的模块除
    发表于 04-17 16:33

    关于高阻态和OOC(out of context)综合方式

    Xilinx Vivado工具支持仅将系统设计的一部分进行综合,即OOC(out of context)综合方式OOC
    发表于 03-21 09:50 5464次阅读

    修改BRAM初始化值的避免综合与实现

    1、引言 以交换机设计为例。在交换机设计前期,转发表项是固化在交换机内部的(给FPGA片内BRAM初始值),但是在测试过程中,往往需要对表项进行修改如果直接修改BRAM的coe文件,则需要重新
    的头像 发表于 11-30 15:37 2253次阅读
    <b class='flag-5'>修改</b>BRAM初始化值的避免<b class='flag-5'>综合</b>与实现

    Vivado使用技巧分享:OOC综合技术运行流程

    创建综合运行 一个“运行(run)”是指定义和配置设计在综合过程中的各方面,包括:使用 的Xilinx器件、应用的约束集、启动单个或多个综合的选项、控制综合引擎结果的选项。点击Flow
    的头像 发表于 01-02 09:03 3187次阅读
    Vivado使用技巧分享:<b class='flag-5'>OOC</b><b class='flag-5'>综合</b>技术运行流程