FD: D flip-flop
FD is a D-type flip-flop. The data on the D input is loaded to the Q output on the low-to-high transition of the clock (C) input. |
Verilog
module FD( input D, C, output reg Q); always @(posedge C) Q <= D; endmodule
VHDL
library IEEE; use IEEE.std_logic_1164.all; entity FD is port ( D, C : in std_logic; Q : out std_logic); end entity FD; architecture A of FD is begin process (C) is begin if rising_edge(C) then Q <= D; end if; end process; end architecture A;
Testbench
DUT { module FD(input D, C, output Q) // 'reg' keyword is optional create_clock C [D, C] -> [Q] } [ 0, .C] -> [0] // initialise [ 1, .C] -> [1] // 0 -> 1 transition [ 0, .C] -> [0] // 1 -> 0 transition