TNCF
T flip-flop with negative clock. Toggle Flip-Flop with active-low set/reset.
Model
Note: Simic's built-in TCF is a fixed toggle flip-flop. It
does not have an external T data input; it toggles on every active clock edge unless held
by Set/Reset.
Operation
The TCF or TNCF toggles its state on the falling (negative) edge of
C. Any prefix of these names can be used.
Note: TPCF is the T flip-flop with positive toggle, which
triggers on the rising edge of C.
| NR | NS | C | Q (Next) | Comment |
|---|---|---|---|---|
| 0 | 1 | — | 0 | Reset (Async) |
| 1 | 0 | — | 1 | Set (Async) |
| 0 | 0 | — | 1* | Dominant Set |
| 1 | 1 | ↓ / ↑ | Q | Toggle State |
| 1 | 1 | Static | Q | No Change |
*Note: Set dominates when both NR and NS are low.
- TCF / TNCF: Negative-edge triggered (toggles on falling edge).
- TPCF: Positive-edge triggered (toggles on rising edge).
Timing Checks
Timing checks can be assigned by a TIMING-CHECKS block. Simic verifies the following
constraints for TCF:
- SETUP: Specifies the duration that an input must be stable prior to the active
clock edge (fall).
SETUP.NR: Setup from trailing edge of reset.SETUP.NS: Setup from trailing edge of set.
- HOLD: Specifies the duration that an input must be stable after the active clock
edge (fall).
HOLD.NR: Hold from reset.HOLD.NS: Hold from set.
- PULSE-WIDTHS: Specifies the minimum width of a pulse on control lines.
PW.NR,PW.NS: Pulse-width reset/set.PW.C.H,PW.C.L: High and low pulse-width clock.
Unspecified timing checks default to 0 (disabled).
Example Usage
part=FF1 type=TCF i=reset,set,clk o=q1 $
timing-checks= $
BEGIN; $
SETUP = 5; $ # All setups are 5 units
HOLD = 5; $ # All 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=TNCF i=NR,NS,C o=Q
Type=TCF i=NR,NS,C o=Q
Note: TCF is an alias for TNCF.