在用Verilog HDL对计数器进行建模时,异步置位和同步置位在代码中有什么不同?

2025-01-01 20:13:44
推荐回答(2个)
回答1:

楼上写得很详细啦。
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

回答2:

同步置位先判断时钟跳沿再判断置位信号的电平状态,异步置位与时钟跳沿是并列的
异步结构常见的描述是这样
@(posedge clk or negedge rst)

同步结构常见的描述是下面这样
@(posedge clk) begin
if (~rst) begin
//(***********************
end
end

两种写法的区别很明显的