| XC3000 | XC4000E | XC4000X | XC5200 | XC9000 | Spartan | SpartanXL | Virtex |
|---|---|---|---|---|---|---|---|
| N/A | Macro | Macro | Macro | Macro | Macro | Macro | Macro |

FTPLE is a toggle/loadable flip-flop with toggle and clock enable and asynchronous preset. When the asynchronous preset input (PRE) is High, all other inputs are ignored and output Q is set High. When the load enable input (L) is High and PRE is Low, the clock enable (CE) is overridden and the data (D) is loaded into the flip-flop during the Low-to-High clock transition. When L and PRE are Low and toggle-enable input (T) and CE are High, output Q toggles, or changes state, during the Low-to-High clock transition. When CE is Low, clock transitions are ignored.
For FPGAs, the flip-flop is asynchronously preset to output High, when global reset (GR for XC5200) or global set/reset (GSR for XC4000, Spartans, Virtex) is active. The GR/GSR active level defaults to active-High but can be inverted by adding an inverter in front of the GR/GSR input of the STARTUP or the STARTUP_VIRTEX symbol.
For CPLDs, the flip-flop is asynchronously cleared, output Low, when power is applied. The power-on condition can be simulated by applying a High-level pulse on the PRLD global net.
| Inputs | Outputs | |||||
|---|---|---|---|---|---|---|
| PRE | L | CE | T | D | C | Q |
| 1 | X | X | X | X | X | 1 |
| 0 | 1 | X | X | 1 | 1 | |
| 0 | 1 | X | X | 0 | 0 | |
| 0 | 0 | 0 | X | X | X | No Chg |
| 0 | 0 | 1 | 0 | X | X | No Chg |
| 0 | 0 | 1 | 1 | X | Toggle | |
Figure 5.63 FTPLE Implementation XC4000, XC5200, Spartans, Virtex |
Figure 5.64 FTPLE Implementation XC9000 |