Recommended Design Flow
CLB resources are inferred for generic design logic and do not require instantiation. Good HDL design is sufficient. A few items to note:
- CLB flip-flops have either a set or a reset. The designer must not use both set andreset.
- Flip-flops are abundant. Pipelining should be considered to improve performance.
- Control inputs are shared across a slice or CLB. The number of unique control inputs required for a design should be minimized. Control inputs include clock, clock enable,set/reset, and write enable.
- A 6-input LUT can be used as a 32-bit shift register for efficient implementation.
- A 6-input LUT can be used as a 64 x 1 memory for small storage requirements.
- Dedicated carry logic implements arithmetic functions effectively.
These steps indicate the recommended design flow:
- Implement the design using preferred methodologies (HDL, IP, etc.).
- Evaluate utilization reports to determine resources used.Check to make sure arithmetic logic, distributed RAM, and SRL are used, when helpful.
- Consider flip-flop usage.
a. Pipeline for performance.
b. Use dedicated flip-flops at the outputs of dedicated resources (block RAM, DSP)
c. Allow shift registers to use SRL (avoid set/resets) - Minimize the use of set/resets
Carry Logic Applications/DSP48E
Designs that include simple counters, comparators or adder/subtractors automatically infer the carry logic. A small arithmetic function can be faster and lower power using the CLB carry logic rather than using an entire DSP48E1 slice.
The DSP48E1 slices support many independent functions including multiply, multiply accumulate, multiply add, three-input add, barrel shift, wide-bus multiplexing, magnitude comparator, bitwise logic functions, pattern detection, and wide counter. The architecture also supports cascading multiple DSP48E1 slices to form wide math functions, DSP filters, and complex arithmetic.
The carry logic runs vertically up every other column of slices (SLICEL and SLICEM). The Xilinx tools automatically place logic in a column when the carry logic is used.