contents.gifindex.gif

Using Clock Enable

When targeting an XC9500 device, any FDCE or FDPE primitives in your design will be expanded into an ordinary D-type flip-flop with its Q-feedback multiplexed into its D-input. This implementation will be similar to the way the FDCPE macro is expanded in the XC9000 schematic library.

When targeting an XC9500XL or XC9500XV device, logic connected to the clock enable (CE) input of a FDCE or FDPE primitive in your design will only be implemented using the clock enable p-term of the XC9500XL or XC9500XV macrocell when the logic can be completely implemented using a single p-term. Only the FDCE and FDPE primitives use the clock enable p-term.

If you have a CPLD design containing FDCE or FDPE flop primitives and you want to prevent the Fitter from using the clock enable p-term in the XC9500XL or XC9500XV macrocell, you should replace the flop primitive with an FDCP primitive or use the FDCPE macro, each of which does not allow the clock enable p-term to be used. The FDCPE component is a macro which always gets expanded into a simple D-type flip-flop with its Q-feedback multiplexed into its D-input; the clock enable p-term is not used. After substitution, the unconnected PRE or CLR input to the FDCPE will be automatically trimmed away by the CPLD fitter.

If you have a CPLD design containing FDCE or FDPE primitives and you want to force the logic connected to the CE input of the components to be implemented using the clock enable p-term in the XC9500XL or XC9500XV macrocell, you can apply the REG=CE attribute on the FDCE or FDPE instance or its output net. This will force the fitter to use the CE pin. If you force the useage of the CE pin you may find that the logic connected to the clock enable input on those components may not get optimized into the same macrocell as the flip-flop. The XC9500XL and XC9500XV macrocells contain only a single product-term to implement clock enable input logic. The CPLD fitter does not attempt to transform your clock enable input logic onto the D-input of the flip-flop if it cannot be completely implemented using the clock enable p-term. In general, only primary inputs (device input pins or macrocell feedbacks), their complements or positive-logic AND-gate functions of primary inputs or their complements can be completely implemented using the p-term. If you connect a more complex logic function to the clock enable input of an FDCE or FDPE component and it does not get completely implemented on the clock enable p-term, your design may incur extra macrocell resources and combinational macrocell feedback delays. Useage of the REG=CE attribute when targeting XC9500 devices has no effect.


See Also

Specifying Clock Enable Manually in ABEL

Specifying Clock Enable Manually in VHDL and Verilog