3.1 XDC
set_property PACKAGE_PIN K22 [get_ports {CLK_IN_D_0_clk_p[0]}]
set_property IOSTANDARD DIFF_SSTL12 [get_ports {CLK_IN_D_0_clk_p[0]}]
set_property PACKAGE_PIN H13 [get_ports ext_reset_in_0]
set_property IOSTANDARD LVCMOS33 [get_ports ext_reset_in_0]
set_property PACKAGE_PIN J13 [get_ports i_button_0]
set_property IOSTANDARD LVCMOS33 [get_ports i_button_0]
set_property PACKAGE_PIN H12 [get_ports led_0]
set_property IOSTANDARD LVCMOS33 [get_ports led_0]
set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
connect_debug_port dbg_hub/clk [get_nets clk]
重点解释下与 ILA 相关的约束,它们用于配置调试核心(debug core)和连接调试端口。
1)set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
- 这条命令设置调试核心的输入时钟频率为300 MHz(300,000,000 Hz)。这意味着调试核心将以300 MHz的频率运行。
2)set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
- 这条命令禁用时钟分频器。也就是说,调试核心将直接使用输入时钟频率,而不会进行分频。
3)set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
- 这条命令设置用户扫描链的数量为1。扫描链用于调试和测试目的,允许多个调试核心串联在一起。
4)connect_debug_port dbg_hub/clk [get_nets clk]:
- 这条命令将调试核心的时钟端口(dbg_hub/clk)连接到设计中的时钟网络(clk)。这确保调试核心能够接收到正确的时钟信号。
3.2 Debug
抓取按键下降沿:
抓取按键上升沿: