zoukankan      html  css  js  c++  java
  • [Xilinx]同步复位与异步复位

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

      异步复位举例:

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

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

      同步复位举例:

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

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

    4.异步复位,同步释放

     1 input clk;
     2 input rst_n;
     3 output rst_nr2;
     4 reg rst_nr1,rst)nr2;
     5 
     6 //两级层叠复位产生,低电平服务
     7 always@(posedge clk or negedge rst_n)
     8     if(!rst_n)
     9         rst_nr1<=1'b0;
    10     else
    11         rst_nr1<=1'b1;
    12 
    13 always@(posedge clk or negedge rst_n)
    14     if(!rst_n)
    15         rst_nr2<=1'b0;
    16     else
    17         rst_nr2<=rst_nr1;

    即解决了异步复位的的亚稳态问题,又解决了同步复位的资源消耗问题,其根本思想就是将异步信号同步化

  • 相关阅读:
    centos安装git
    centos安装nginx和配置
    centos安装samba服务和配置
    合理选择css3动画实现方式
    display:table-cell实现水平垂直居中
    活动的四种启动模式
    我是怎么选搜索引擎的
    这么用Mac才叫爽!
    Linux学习笔记
    软件测试暑期实习总结(2016)
  • 原文地址:https://www.cnblogs.com/spartan/p/3059055.html
Copyright © 2011-2022 走看看