目录
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
执行效果:按键按下,灯亮。