1

我正在用 FPGA 设计一个庞大的系统,以 320 MHz 的系统时钟运行。由于关键路径较长,某些操作必须在较慢的时钟 - 160MHz 下执行。我可以引入一个时钟使能信号,我们称之为 CE2,由围绕这种长操作的寄存器使用。

根据旧的赛灵思文档:http ://www.xilinx.com/itp/xilinx10/books/docs/timing_constraints_ug/timing_constraints_ug.pdf (第60页),我可以添加一个特殊的约束:

NET CE2 TNM = slow_exception;
NET clk TNM = normal;
TIMESPEC TS01 = PERIOD normal 8 ns;
TIMESPEC TS02 = FROM slow_exception TO slow_exception TS01*2;

定义这样的多周期时序约束。不幸的是,在较新版本的文档中没有描述上述情况,尤其是在 Vivado 工具的文档中。

有人知道如何在 Vivado 的 XDC 文件中解决上述问题吗?

4

1 回答 1

0

在 Vivado 中执行多周期约束的新方法指定了周期数,而不是直接周期。

您还可以对错误路径和时钟交叉使用 datapath_only 约束,这更直接类似于您在 ISE 中使用的约束 这是 datapath_only 约束:

create_clock -period 8.000 -name arbitraryClkName -waveform {0.000  4.000} [get_ports portName];
set_max_delay -from [get_pins {hierarchical_location_source/CLK}] -to [get_clocks arbitraryClkName] -datapath_only 16.000;

这是一个实际的多周期保持命令:

set_multicycle_path -hold 2 -from [get_pins {hierarchical_location_source/CLK}] -to [get_pins {hierarchical_location_sink/D}];

这是 Vivado 2014.3 的约束文档;您可以在第 79 页找到多周期路径文档: http ://www.xilinx.com/support/documentation/sw_manuals/xilinx2014_3/ug903-vivado-using-constraints.pdf

于 2014-12-17T21:57:34.790 回答