【 Vivado 】UCF到XDC之间的转换

举报
李锐博恩 发表于 2021/07/15 05:16:51 2021/07/15
【摘要】 有时候会有这样的需求,就是之前在ISE上的工程,现在需要用Vivado来操作,这样其中的一部分工作就是将ISE上的时序约束文件UCF转换为XDC文件。 如下图1所示为UCF与SDC的约束命令比较,可以发现常用的命令都能对应上。 (图1) 下面简单举例说明: Clock Period: UCF : NET "clka" TNM_NET = "clka"; TI...

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

 

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

 

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/85294344

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。