【 Vivado 】使用工程模式
949
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:
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小时内删除侵权内容。