使用FPGA EGO1 板卡上的按键 S0 提供时钟信号,拨码开关 SW0 作为输入,SW1 作为复位信号, SW2 作为使能信号,LED 灯 LD2_0 作为输出。约束文件为
时间: 2023-12-03 13:47:14 浏览: 189
对于EGO1板卡上的按键S0,我们可以将其约束为时钟信号,约束文件中添加以下内容:
```
set_property PACKAGE_PIN E3 [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}]
```
对于拨码开关SW0、SW1、SW2和LED灯LD2_0,我们可以将它们约束为输入输出信号,约束文件中添加以下内容:
```
set_property PACKAGE_PIN C1 [get_ports {sw0}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw0}]
set_property PACKAGE_PIN C2 [get_ports {sw1}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw1}]
set_property PACKAGE_PIN B1 [get_ports {sw2}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw2}]
set_property PACKAGE_PIN H5 [get_ports {led}]
set_property IOSTANDARD LVCMOS33 [get_ports {led}]
```
其中,PACKAGE_PIN表示引脚的物理位置,IOSTANDARD表示使用的电平标准。同时,我们还需要为SW0、SW1、SW2和LED灯LD2_0分配一个名称,方便在代码中使用。在本例中,我们将它们分别命名为sw0、sw1、sw2和led。
最后,我们还需要为SW1和SW2添加异步复位约束,保证这两个信号在上电时处于复位状态:
```
set_property ASYNC_REG true [get_cells rst_async_reg]
set_property ASYNC_REG true [get_cells en_async_reg]
```
完整的约束文件如下:
```
set_property PACKAGE_PIN E3 [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}]
set_property PACKAGE_PIN C1 [get_ports {sw0}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw0}]
set_property PACKAGE_PIN C2 [get_ports {sw1}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw1}]
set_property PACKAGE_PIN B1 [get_ports {sw2}]
set_property IOSTANDARD LVCMOS33 [get_ports {sw2}]
set_property PACKAGE_PIN H5 [get_ports {led}]
set_property IOSTANDARD LVCMOS33 [get_ports {led}]
set_property ASYNC_REG true [get_cells rst_async_reg]
set_property ASYNC_REG true [get_cells en_async_reg]
```
阅读全文