DNL / DNPL (D Latch)

D latch with negative 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 Low (0). It latches the value on the rising edge of C. Any prefix of DNL or DNPL can be used to reference this primitive.

Note: DL is the positive clock version, which is transparent when C is High (1).

NR NS C D Q (Next) Comment
0 1 0 Reset (Async)
1 0 1 Set (Async)
0 0 1* Dominant Set
1 1 0 0 0 Transparent 0
1 1 0 1 1 Transparent 1
1 1 1 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 DNL:

Unspecified timing checks default to 0 (disabled).

Example Usage

part=FF1 type=DNL 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=DNL i=NR,NS,C,D o=Q
Type=DNPL i=NR,NS,C,D o=Q