DPL (D Latch)

D latch with positive clock. Level-sensitive D-type latch with active-low set/reset.

LATCH

Model

D C NS NR Q

Operation

The latch is **transparent** when the clock (C) is High (1). It latches the value on the falling edge of C. Any prefix of DL or DPL can be used to reference this primitive.

Note: DNL is the negative clock version, which is transparent when C is Low (0).

NR NS C D Q (Next) Comment
0 1 0 Reset (Async)
1 0 1 Set (Async)
0 0 1* Dominant Set
1 1 1 0 0 Transparent 0
1 1 1 1 1 Transparent 1
1 1 0 Latched Storage Mode
X/Z 1 X (unless Q=0) Unknown Reset

*Note: Set dominates when both NR and NS are low.

Timing Checks

Timing checks can be assigned by a TIMING-CHECKS block. Simic verifies the following constraints for DL:

Unspecified timing checks default to 0 (disabled).

Example Usage

part=FF1 type=DL i=reset,set,clk,data o=q1 $
timing-checks= $
BEGIN; $
    SETUP = 5;      $ # All setups are 5 units
    HOLD.D = 10;    $ # Hold from D is 10
    HOLD = 5;       $ # All other holds are 5
    PW = 4;         $ # All pulse-widths are 4
    PW.C.L = 3;     $ # Clock-low pulse-width is 3
END;

Equivalent Type Statement

Type=DPL i=NR,NS,C,D o=Q
Type=DL i=NR,NS,C,D o=Q

Note: DL is an alias for DPL.