您的位置:首页 > 其它

[Xilinx]同步复位与异步复位

2013-05-04 11:11 155 查看
1.异步复位:是指复位信号和系统时钟信号的触发可以在任何时刻,二者相互独立。

  异步复位举例:

always@(posedge clk or negedge rst_n)
if(!rst_n)
b<=1'b0;
else
b<=a;




2.同步复位:和异步复位相比,没有用到寄存器的CLR端口,synthesis出来的实际电路只是把复位信号rst_n作为输入逻辑的使能信号,那么这样同步复位势必会增加FPGA内部资源的消耗。

  同步复位举例:

always@(posedge clk)
if(!rst_n)
b<=1'b0;
else
b<=a;




3.异步复位存在亚稳态问题





4.异步复位,同步释放

input clk;
input rst_n;
output rst_nr2;
reg rst_nr1,rst)nr2;

//两级层叠复位产生,低电平服务
always@(posedge clk or negedge rst_n)
if(!rst_n)
rst_nr1<=1'b0;
else
rst_nr1<=1'b1;

always@(posedge clk or negedge rst_n)
if(!rst_n)
rst_nr2<=1'b0;
else
rst_nr2<=rst_nr1;




即解决了异步复位的的亚稳态问题,又解决了同步复位的资源消耗问题,其根本思想就是将异步信号同步化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: