文章首发于我的个人博客
同步复位
只有当“时钟沿”到来时,才能完成复位。
异步复位
无论“时钟沿”是否到来,只要复位信号到来,就完成复位。
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' TH