source code
module key_led(
input sys_clk , //系统时钟
input sys_rst_n, //系统复位,低电平有效
input [1:0] key, //按键
output [1:0] led //LED灯
);
reg [25:0] cnt ;
wire [1:0] led_pattern1;
wire [1:0] led_pattern2;
wire [1:0] led_pattern3;
//*****************************************************
//** main code
//*****************************************************
//对计数器的值进行判断,以输出LED的状态
assign led_pattern1 = (cnt < 26'd2500_0000) ? 2'b01 : 2'b10 ;
assign led_pattern2 = (cnt < 26'd2500_0000) ? 2'b00 : 2'b11 ;
assign led_pattern3 = 2'b11 ;
assign led = (key[0]==0)? led_pattern1:((key[1]==0)?led_pattern2:led_pattern3);
//assign led = (cnt < 26'd5) ? 2'b01 : 2'b10 ; //仅用于仿真
//计数器在0~5000_000之间进行计数
always @ (posedge sys_clk or negedge sys_rst_n) begin
if(!sys_rst_n)
cnt <= 26'd0;
else if(cnt < 26'd5000_0000)
// else if(cnt < 26'd10) //仅用于仿真
cnt <= cnt + 1'b1;
else
cnt <= 26'd0;
end
endmodule
xdc文件
set_property -dict {PACKAGE_PIN U18 IOSTANDARD LVCMOS33} [get_ports sys_clk]
set_property -dict {PACKAGE_PIN N16 IOSTANDARD LVCMOS33} [get_ports sys_rst_n]
set_property -dict {PACKAGE_PIN H15 IOSTANDARD LVCMOS33} [get_ports {led[0]}]
set_property -dict {PACKAGE_PIN L15 IOSTANDARD LVCMOS33} [get_ports {led[1]}]
set_property -dict {PACKAGE_PIN L14 IOSTANDARD LVCMOS33} [get_ports {key[0]}]
set_property -dict {PACKAGE_PIN K16 IOSTANDARD LVCMOS33} [get_ports {key[1]}]
标签:控制,set,led,PIN,PACKAGE,sys,实验,按键,dict
From: https://www.cnblogs.com/xzh-personal-issue/p/17321599.html