一 基本概念
同步复位和异步复位
同步复位就是指复位信号在时钟上升沿到来时,才能有效。否则,不复位
异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位
二 优缺点
| 优点 | 缺点 |
同步复位 | 1.便于仿真器的仿真 2. 便于系统同步化(同步复位可以使你的系统成为完全的同步时序电路,便于时序分析,而 fmax一般较高) 3.便于滤除高频毛刺(他采用clk打一拍可以消除高频毛刺) | 1. 复位信号的有效时要大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素 2. 浪费资源(由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源) |
异步复位 | 1.节省资源(大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源) 2.设计相对简单。 3.异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。 | 1.在复位信号释放的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。 2.复位信号容易受到毛刺的影响。 |
三 处理方法
推荐使用:异步复位,同步释放 + 复位信号低电平有效
异步复位,同步释放 : 就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。
下面是一个复位信号综合器的VHDL描述:
-------------------------------------------------------------------------------------
-- Copyright (C), 2010, XGXC.Co.,Ltd, All right Reserved
-- File name : rst_module.vhd
-- Description : Synchronous reset and asynchronous release
-- Platform : QuartusII 9.1 & Modelsim_AE 6.3g
-- Devices : EP3C25E144
-- Author : Kevin
-- Last Vision : V1.00
-- Creat Date : 2010-07-23
-- Department : R&D Department
----------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity rst_module is
port(
sys_clk : in std_logic;
rst_in : in std_logic;
rst_out : out std_logic
);
end rst_module;
architecture behave of rst_module is
begin
rst_pro : process(sys_clk,rst_in)
begin
if rst_in = '0' then
rst_out <= '0';
elsif rising_edge(sys_clk) then
rst_out <= '1';
end if;
end process rst_pro;
end behave;
使用复位信号综合器可以很好地将同步和异步复位的优点结合起来,而消除他们缺点。因此在FPGA/CPLD的逻辑设计中可以很好的提高复位的可靠性,从而保证电路工作的稳定可靠性。
用户377235 2012-12-7 15:57
谢谢,弱弱的问一下,异步复位如果用了全局复位管脚的话就是全局复位信号了?