LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY dff_control IS
PORT (
clk: IN STD_LOGIC;
aclr: IN STD_LOGIC;
aload: IN STD_LOGIC;
adata: IN STD_LOGIC;
ena: IN STD_LOGIC;
data: IN STD_LOGIC;
q: OUT STD_LOGIC
);
END dff_control;
ARCHITECTURE rtl OF dff_control IS
BEGIN
PROCESS (clk, aclr, aload, adata)
BEGIN
IF (aclr = '1') THEN
q <= '0';
ELSIF (aload = '1') THEN
q <= adata;
ELSE
IF (clk = '1' AND clk'event) THEN
IF (ena ='1') THEN
q <= data;
END IF;
END IF;
END IF;
END PROCESS;
END rtl;