边沿触发事件控制

一般事件控制符号@

  1. posedge
    信号发生边沿正向跳变
  2. negedge
    发生负向边沿跳变
  3. 未指明跳变方向时:
    则 2 种情况的边沿变化都会触发相关事件\

命名事件控制

使用event声明事件变量,触发信号使用->表示

event     start_receiving ;  
always @(posedge clk_samp) begin  
        -> start_receiving ;       
        //采样时钟clk_samp上升沿作为时间触发时刻  
end  
   
always @(start_receiving) begin  
    data_buf = {data_if[0], data_if[1]} ; 
	    //触发时刻,对多维数据整合  
end

敏感列表

多个信号或事件中任意一个发生变化都能够触发,使用关键字or来来连接多个事件或信号,这些事件组成了敏感列表。or也可以使用 ,代替。

always @(posedge clk or negedge rstn)
begin
if(! rstn) begin
	q <= 1'b;
	end
	else begin
	q <= d;
	end
end

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注