1、同步复位
always@(posedge clk)
begin
if(!rst_n)
b <= 1’b0;
else
b <= 1’b1;
end
此段代码综合出来后就是二选一选择器由一个复位信号控制,当产生复位时复位信号随着时钟沿产生作用。
2、异步复位
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
b <= 1’b0;
else
b <= 1’b1;
end
对应的RTL视图
异步复位其复位信号的触发可以由于其复位信号本身触发,不受CLK时钟的限制。
3、异步复位同步释放
always@(posedge clk)
begin
rst_n_1 <= rst_n;
rst_n_2 <= rst_n_1;
end
always@(posedge clk or negedge rst_n_2)
begin
if(!rst_n_2)
b <= 1’b0;
else
b <= 1’b1;
end
先将异步复位信号打两拍消除亚稳态,再将信号送入功能模块产生复位。
同步复位 异步复位 同步复位异步释放三者间的区别
最新推荐文章于 2023-03-15 14:38:21 发布