FPGA(2)基础语法 -- 按键控制led(alway@语句)

目录

1、module 文件名(端口)

2、声明关键字

3、always@语句

代码


1、module 文件名(端口)

 注:这里最好养成习惯,只在文件名后面的括号中声明引脚变量,输入输出、关键字类型等等都放到后面定义。

//verilog基础语法(always)
module my_and(key1, led1);
//注:一旦在module后面的括号中指定了input/output,后面就不能再增加类型了,
//所以最好不要在括号内定义input/output类型

2、声明关键字

这里分别定义输入线key1、和输出寄存器led1。

input wire key1;		//key1:设置输入、wire型(输入不能用wire型)
output reg led1;		//led1:设置输出,reg型(always语句中需要reg类型变量)

3、always@语句

注意:只有reg型变量能在always@语句中被赋值(不能再用前面的assign直接赋值)。 

always@(key1)			//变量变化一次就执行一次(key1变化)
	begin 
		led1 = key1;	//按键按下执行
		//注:这里led1是reg型,reg型不能再用assign连线直接赋值
	end

代码

//verilog基础语法(always)
module my_and(key1, led1);
//注:一旦在文件名后面的括号中指定了input/output,后面就不能再增加类型了,
//所以最好不要在括号内定义input/output类型

input wire key1;		//key1:设置输入、wire型(输入不能用wire型)
output reg led1;		//led1:设置输出,reg型(always语句中需要reg类型变量)

always@(key1)			//变量变化一次就执行一次(key1变化)
	begin 
		led1 = key1;	//按键按下执行
		//注:这里led1是reg型,reg型不能再用assign连线直接赋值
	end
	
endmodule

执行效果:按键按下,灯亮。

猜你喜欢

转载自blog.csdn.net/great_yzl/article/details/121374915