|
FUNCTION CARRY (in) RETURNS (out);
COMPONENT CARRY PORT (a_in : IN STD_LOGIC; a_out: OUT STD_LOGIC); END COMPONENT;
The CARRY primitive is provided only for backward compatibility with MAX+PLUS® II designs. New projects should use CARRY_SUM exclusively. |
The CARRY
primitive designates the carry-out logic for a function, and acts as the carry-in to another function. The carry function implements fast carry-chain logic for functions such as adders and counters.
The CARRY primitive is not supported for MAX® 3000 or MAX 7000 devices. In APEX 20K, APEX II, and ARM®-based Excalibur, devices the Quartus® II software assigns the starting point of a counter to the first logic cell (LC1) in a Logic Array Block (LAB); non-counter carry chains can start in any logic cell. In FLEX® 6000 devices the Quartus II software assigns the starting point of a counter to the second logic cell (LC2) in a LAB; carry chains can start in any logic cell except LC1. |
When you use a CARRY
primitive, you must observe the following rules:
A CARRY
primitive can feed one or two cones of logic. If the CARRY
primitive feeds two cones of logic, then one and only one of the cones of logic must be buffered by another CARRY
primitive. In this case, both cones of logic are implemented in the same logic cell. You must follow this rule to tie down the sum and carry-out functions for the first stage of an adder or counter.
A cone of logic that feeds a CARRY
primitive can have up to two inputs. A third input is allowed only if it is a CARRY
input.
The CARRY
primitive cannot feed an OUTPUT
pin.
The CARRY
primitive cannot be fed by an INPUT
pin.
Two CARRY
primitives cannot feed the same gate.
If you use the CARRY
primitive incorrectly, it is ignored and the Compiler issues a warning.
If you have a CARRY buffer in the design, you must turn on the Auto Carry Chains logic option. When it is turned off, any CARRY buffer is ignored. CARRY_SUM buffers are not affected. If you turn on the Auto Carry Chains logic option and the Compiler does not recognize the CARRY buffer, use the CARRY_SUM buffer. |
When you turn on the Ignore CARRY Buffers logic option, the Compiler automatically converts all CARRY
buffers to wires.
- PLDWorld - |
|
Created by chm2web html help conversion utility. |