在 BASYS 3 上使用时钟

Using the clock on BASYS 3

我想在我的项目中使用 BASYS 3 的时钟。当我搜索项目的约束时,我发现了以下代码:

set_property PACKAGE_PIN W5 [get_ports clk] 
set_property IOSTANDARD LVCMOS33 [get_ports clk] 
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]

有人能给我解释一下吗?我知道 clk 是时钟的输入,但在最后一行我该怎么办?我应该改变什么吗?还有什么时期 10.00 和 waveform{0 5} 是什么意思?你能帮帮我吗?

这些行是 Xilinx 设计约束 (XDC),是 Synopsys 设计约束 (SDC) 的一种。

首先你要区分物理约束(第 1-2 行)和时序约束(第 3 行)。这些在设计流程的不同步骤中都是必需的。

set_property PACKAGE_PIN W5 [get_ports clk]

此行将您的顶级端口 clk 连接到引脚 W5

set_property IOSTANDARD LVCMOS33 [get_ports clk]

此行设置了时序分析所需的 I/O 标准,用于引脚的上升和下降时间,导致 setup/hold 时间 window

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]

这为导线 clk 定义了一个 100 MHz 的时钟信号,占空比为 50%。如果你需要在另一个语句中引用这个时钟,你可以使用名称 sys_clk_pin.