楼上写得很详细啦。
always @ (posedge clk or negedge rst_a) begin //rst_a是异步复位信号
if(rst_a==0) //跟上一行negedge rst_a构成一个是异步复位,
a<=0; //若是高电平置位的话,应该是posedge rst_a ....if(rst_a==1)....
else if( rst_n==0) //这是同步复位
a<=0; //同步复位你可以理解为触发器D端的一个使能
else
.....
end
同步置位先判断时钟跳沿再判断置位信号的电平状态,异步置位与时钟跳沿是并列的
异步结构常见的描述是这样
@(posedge clk or negedge rst)
同步结构常见的描述是下面这样
@(posedge clk) begin
if (~rst) begin
//(***********************
end
end
两种写法的区别很明显的