使用 BASYS 3 上的时钟

use*_*457 5 clock vhdl vivado

我想在我的项目中使用 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]
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下吗?我知道clk是时钟的输入,但在最后一行我应该做什么?我应该改变什么吗?还有 10:00 是什么时期waveform{0 5}?请你帮助我好吗?

Pae*_*els 5

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

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

set_property PACKAGE_PIN W5 [get_ports clk]
Run Code Online (Sandbox Code Playgroud)

这条线将您的顶级端口连接clk到 pin W5

set_property IOSTANDARD LVCMOS33 [get_ports clk]
Run Code Online (Sandbox Code Playgroud)

该行设置了引脚上升和下降时间时序分析所需的 I/O 标准,从而产生建立/保持时间窗口

create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]
Run Code Online (Sandbox Code Playgroud)

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