同步复位

只有当“时钟沿”到来时,才能完成复位。

异步复位

无论“时钟沿”是否到来,只要复位信号到来,就完成复位。

Example

以D触发器为例来说明同步复位和异步复位的区别。

  • code
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

ENTITY Reset IS PORT(
    clock, clear, d : IN STD_LOGIC;
    q : OUT STD_LOGIC
    );
END ENTITY Reset;

ARCHITECTURE one of Reset IS        -- 同步复位
BEGIN
    PROCESS(clock, clear)
    BEGIN
        IF clock'EVENT AND clock = '1' THEN 
            IF clear = '0' THEN
                q <= '0';
            ELSE
                q <= d;
            END IF;
        END IF;
    END PROCESS;
END ARCHITECTURE one;

ARCHITECTURE two of Reset IS    -- 异步复位
BEGIN
    PROCESS(clock, clear)
    BEGIN
        IF clear = '0' THEN
            q <= '0';
        ELSIF clock'EVENT AND clock = '1' THEN
            q <= d;
        END IF;
    END PROCESS;
END ARCHITECTURE two;

CONFIGURATION do of Reset IS
    FOR two
    END FOR;
END CONFIGURATION do;
  • 波形仿真图

同步复位

异步复位

仔细对比同步复位和异步复位的波形仿真图即可理解,不过多赘述。

Last modification:June 28th, 2020 at 11:25 am
如果觉得我的文章对你有用,请随意赞赏