1. assign语句
assign语句是连续赋值语句,一般是将一个变量的值不间断的赋值给另一个变量,两个变量之间就类似于被导线连接在了一起,习惯上当做连线用。
assign语句的基本格式是:
assign a = b (逻辑运算符)c…;
assign语句的功能属于组合逻辑的范畴,应用主要为以下几项:
- 持续赋值
- 连线
- 对wire型变量赋值。wire是线网,相当于实际的连线。(如果用assign连接,就需使用wire型变量,wire型变量的值可以随时更新)
assign举例:
assign dac_wra = dac_clka; //将信号dac_clka与线dac_wra相连
assign dac_sleep = 0; //将dac_sleep对应的管脚接地
assign dac_mode = 1; //将dac_mode对应管脚固定接高电平
assign end_cnt0 = add_cnt0 && cnt0==2-1; //语句含义如下图
2. always语句
always语句是条件循环语句,执行机制是通过对一个名称为敏感变量表的事件驱动来实现。
always语句基本格式:
always @(敏感事件)begin
程序语句
end
always语句的意思是:当敏感事件的条件满足时,执行一次“程序语句”;敏感事件每满足一次,就执行“程序语句”一次(类似于C语言中的while循环)