pp.120-121
今度はプロセス文で順序回路Dフリップフロップを作ってみる。
library IEEE; use IEEE.std_logic_1164.all; entity d_ff is port( CLK, D : in std_logic; Q : out std_logic ); end d_ff; architecture RTL of d_ff is begin process(CLK) -- CLKの変化したときにbegin以下が実行される。 begin -- =は代入ではなく等号。 -- 1ビットは' 'でくくり、複数ビットは" "でくくる。 -- 意味は「CLKが変化し、かつCLKが1の場合」。つまりrising edge。 -- CLKのrising edgeのタイミングで入力Dが出力Qに反映される。 if(CLK'event and CLK = '1') then Q <= D; end if; end process; end RTL;