Vivado 】UCF到XDC之间的转换

网友投稿 898 2022-05-30

有时候会有这样的需求,就是之前在ISE上的工程,现在需要用Vivado来操作,这样其中的一部分工作就是将ISE上的时序约束文件UCF转换为XDC文件。

如下图1所示为UCF与SDC的约束命令比较,可以发现常用的命令都能对应上。

(图1)

下面简单举例说明:

Clock Period:

UCF :

NET "clka" TNM_NET = "clka";

TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns HIGH 50.00%;

XDC :

create_clock -name clka -period 13.330 -waveform {0 6.665} [get_ports clka]

Input Port:

UCF :

OFFSET = IN 8 BEFORE clka;

XDC :

set_input_delay -clock clka 2 [all_inputs]

注: clock period = 10 ns.

Output Port:

【 Vivado 】UCF到XDC之间的转换

UCF :

OFFSET = OUT 12 AFTER clkc;

XDC :

set_output_delay -clock clkc 8 [all_outputs]

注:clock period = 20 ns.

除了以上约束命令的差别外,UCF和XDC间的主要差别如下:

1.  XDC是顺序执行约束,每个约束指令有优先级

2.  UCF一般约束nets对象,而XDC约束类型是pins, ports和cells对象

3.  UCF约束默认不对异步时钟间路径进行时序分析,而XDC约束默认所有时钟是相关的,会分析所有路径,可以通过设置时钟组(set_clock_groups)取消时钟间的相关性。

下面介绍一下在Vivado中添加XDC文件以及加入约束命令的方法:

首先在Project Manager中展开Constraints类,选择Add Sources即可添加或者新建XDC约束文件,如下图2所示。

(图2)

选择新建的XDC文件,双击打开,选择左侧的Templates,其中有XDC约束命令的实例,所有的约束命令都可以在其中找到,非常方便,如图3、4所示。

(图3)                                                                                        (图4)

XDC约束文件可以在编译综合和实现过程中使用时,在综合和实现设置中都能选择需要的约束,如图5。通过创建约束文件集,如图6,设计者可以使能不同的约束集合测试FPGA设计的性能;在约束文件集中可以包含多个XDC约束文件,在FPGA设计比较复杂时,可以分模块或者IP核约束,相应的则有多个XDC约束文件,这样设计和维护效率都能得到提高。

(图5)

(图6)

单片机

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:机器人编程实践-ROS2基础与应用-
下一篇:FusionInsight测试系列之:NameNode随机写性能测试
相关文章