vivado约束方法1

关于约束方法

设计约束定义了编译流必须满足的要求,以便设计要在板上发挥作用。中的所有步骤都不使用所有约束编译流程。例如,物理约束仅在实施过程中使用步骤(即通过放置器和路由器)。因为AMD Vivado™集成设计环境(IDE)的综合与实现算法是定时驱动的,您必须创建适当的定时约束。过度约束或设计约束不足会使时间闭合变得困难。你必须使用合理的与您的应用程序需求相对应的约束。

组织约束

Vivado IDE允许您使用一个或多个约束文件。使用单个约束文件时因为整个编译流程看起来更方便,所以维护所有程序可能是一个挑战随着设计变得越来越复杂,限制也越来越大。这种情况通常适用于使用由不同团队开发的几个IP核心或大块。导入时间和物理约束后,与数量无关源文件,或者无论设计是在项目模式还是非项目模式下,所有约束都可以使用write_xdc命令导出为单个文件。约束被写入指定的输出文件,其顺序与将它们读入项目或设计的顺序相同。这个命令行选项write_xdc-type可以用于选择约束的子集(定时,物理或弃权)。

项目流程

您可以在创建期间将Xilinx设计约束(XDC)文件添加到约束集新项目,或更高版本。下图显示了项目中的两个约束集,它们是单XDC或多XDC。这个第一个约束集包括两个XDC文件。第二个约束集仅使用一个XDC文件包含所有约束。

还可以将Tcl脚本添加到约束集中,作为非托管约束或非托管Tcl脚本。Vivado Design Suite不会将修改后的约束写回非托管Tcl剧本Tcl脚本和XDC文件的加载顺序与Vivado IDE中显示的顺序相同

(如果它们属于同一PROCESSING_ORDER组)或由命令报告report_compile_order-约束。

如果需要,可以在多个约束集中使用XDC文件或Tcl脚本。

非项目流程

在非项目模式下,在执行编译之前,必须单独读取每个文件命令。

下面的示例脚本显示了如何使用一个或多个XDC文件进行合成和实施

read_verilog [glob src/*.v]
read_xdc wave_gen_timing.xdc
read_xdc wave_gen_pins.xdc
synth_design -top wave_gen -part xc7k325tffg900-2
opt_design
place_design
route_design

断章取义的约束

在使用动态函数eXchange(DFX)的设计中,通常会合成断章取义的设计(OOC)方法。当使用这样的流时,一些约束可以是仅为OOC合成指定。例如,在输入边界传播的时钟当块被OOC合成时,必须定义块的。这些时钟是定义的在OOC XDC文件中。

在项目模式下:

add_file constraints_ooc.xdc
set_property USED_IN {synthesis out_of_context} [get_files
constraints_ooc.xdc]

也可以通过GUI(文件上的属性constraints_oc.xdc)。

非工程模式:
read_xdc -mode out_of_context constraints_ooc.xdc

合成和实现约束文件

默认情况下,添加到约束集的所有XDC文件和Tcl脚本都用于合成和实施在上设置USED_IN_SYNTHESIS和USED_IN_IMPLEMENTATION属性XDC文件或Tcl脚本来改变这种行为。此属性的值可以为正确或错误。

例如,要仅将约束文件用于实现,请执行以下操作:

1.在“源”窗口中选择约束文件。

2.在“源文件属性”窗口中:

a.取消选中“合成”。

b.检查执行情况。

The equivalent Tcl commands are:
set_property USED_IN_SYNTHESIS false [get_files wave_gen_pins.xdc]
set_property USED_IN_IMPLEMENTATION true [get_files wave_gen_pins.xdc]

在非项目模式下运行Vivado时,可以直接读入任何流程的步骤。属性USED_IN_SYNTHESIS和USED_IN_IMPLEMENTATION做在这种模式下无关紧要。下面的编译Tcl脚本显示了如何为的不同步骤读取两个XDC文件流量:

read_verilog [glob src/*.v]
read_xdc wave_gen_timing.xdc
synth_design -top wave_gen -part xc7k325tffg900-2
read_xdc wave_gen_pins.xdc
opt_design
place_design
route_design
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值