01.07.2013 Views

Xilinx Constraints Guide

Xilinx Constraints Guide

Xilinx Constraints Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4: <strong>Xilinx</strong> <strong>Constraints</strong><br />

COOL_CLK (CoolCLOCK)<br />

Architecture Support<br />

Applicable Elements<br />

Propagation Rules<br />

COOL_CLK (CoolCLOCK) reduces clocking power within a CPLD device by combining<br />

clock division circuitry with the DualEDGE circuitry. Because the clock net can be<br />

a significant power drain, the clock power can be reduced by driving the net at half<br />

frequency, then doubling the clock rate using DualEDGE triggered macrocells.<br />

Applies to CoolRunner-II devices only.<br />

Applies to any input pad or internal signal driving a register clock.<br />

Applying COOL_CLK to a clock net is equivalent to passing the clock through a<br />

divide-by-two clock divider (CLK_DIV2) and replacing all flip-flops controlled by that<br />

clock with DualEDGE flip-flops. Using COOL_CLK does not alter your overall design<br />

functionality.<br />

Some restrictions apply:<br />

• You cannot use COOL_CLK on a clock that triggers any flip-flop on the low-going<br />

edge. The CoolRunner-II clock divider can be triggered only on the high-rising<br />

edge of the clock signal.<br />

• If there are any DualEDGE flip-flops in your design source, the clock that controls<br />

any of them cannot be specified as a COOL_CLK.<br />

• If there is already a clock divider in your design source, you cannot also use<br />

COOL_CLK. CoolRunner-II devices contain only one clock divider.<br />

Syntax Examples<br />

The following examples show how to use this constraint with particular tools or<br />

methods. If a tool or method is not listed, you cannot use this constraint with it.<br />

Schematic Syntax<br />

• Attach to a input pad or internal signal driving a register clock<br />

• Attribute Name<br />

COOL_CLK<br />

• Attribute Values<br />

– TRUE<br />

– FALSE<br />

VHDL Syntax<br />

Declare the VHDL constraint as follows:<br />

attribute cool_clk: string;<br />

Specify the VHDL constraint as follows:<br />

attribute cool_clk of signal_name: signal is “{TRUE | FALSE}”;<br />

For more information about basic VHDL syntax, see VHDL Attributes.<br />

<strong>Constraints</strong> <strong>Guide</strong><br />

88 www.xilinx.com UG625 (v. 13.2) July 6, 2011

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!