【 Vivado 】UCF到XDC之间的转换

有时候会有这样的需求,就是之前在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

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)

 

本文来自于互联网上文档,作者不详,据说是赛灵思中文社区收集。

 

 

 

猜你喜欢

转载自blog.csdn.net/Reborn_Lee/article/details/85294344