-- ENTITY宣言部のLIBRARY宣言
LIBRARY IEEE, ARITHMETIC ;
USE IEEE.STD_LOGIC_1164.ALL ;
USE ARITHMETIC.STD_LOGIC_ARITH.ALL ;
ENTITY dff IS -- ENTITY名は、「dff」
PORT (
d : IN STD_LOGIC ; -- D入力
clock : IN STD_LOGIC ; -- クロック信号
clear : IN STD_LOGIC ; -- クリア信号
preset : IN STD_LOGIC ; -- プリセット信号
q : OUT STD_LOGIC ; -- 出力信号
qb : OUT STD_LOGIC -- qの反転出力
) ;
END dff ;
-- ARCHITECTURE本体部のLIBRARY宣言
LIBRARY IEEE, ARITHMETIC ;
USE IEEE.STD_LOGIC_1164.ALL ;
USE ARITHMETIC.STD_LOGIC_ARITH.ALL ;
ARCHITECTURE behave OF dff IS
-- ARCHITECTURE名は、「behave」
-- ENTITY名は、「dff」
SIGNAL l1,l2,l3,l4,lq,lqb : STD_LOGIC ;
BEGIN
-- 同時実行文 〜 ここから 〜
l1 <= NOT ( preset AND l4 AND l2 ) AFTER 5 NS ;
l2 <= NOT ( l1 AND clear AND clock ) AFTER 5 NS ;
l3 <= NOT ( l2 AND clock AND l4 ) AFTER 5 NS ;
l4 <= NOT ( l3 AND clear AND d ) AFTER 5 NS ;
lq <= NOT ( preset AND l2 AND lqb ) AFTER 5 NS ;
lqb <= NOT ( lq AND clear AND l3 ) AFTER 5 NS ;
q <= lq ;
qb <= lqb ;
-- 同時実行文 〜 ここまで 〜
END behave ;