Xilinx V2.1 manual Tips for creating a high performance design, Data Rate, Set ‘FAST’ Attribute

Models: V2.1

1 148
Download 148 pages 48.7 Kb
Page 132
Image 132
Tips for creating a high performance design

Xilinx System Generator v2.1 Reference Guide

vlog<file>

line for each Verilog wrapper that is listed in the verilogFiles file, another file produced by System Generator. The vsim line in the vsim.do file needs to be augmented by adding a

-L unisim

suffix.

Tips for creating a high performance design

The following are suggestions for some design practices in System Generator that will translate to an efficient and high performance design in your FPGA.

Register inputs and outputs of your design. This can be done by placing a Delay block with a latency of 1 or a Register block after the Gateway In blocks and before the Gateway Out blocks. Selecting any of the Register block features will add extra logic. For example if the Store Only Valid Data option is selected on the Register block, one level of logic will be added to the clock enable path.

Double registering the I/Os may also be beneficial. This can be performed by instantiating two separate Register blocks, or by instantiating two Delay blocks with latency of 1. This will allow one of the registers to be packed into the IOB and the other to be placed next to the logic in the FPGA fabric. A Delay block with latency set to 2 will not give the same results since this block is implemented using a SRL16 and cannot be packed into an IOB.

Use the IOB Timing Constraint option:

Data Rate, Set ‘FAST’ Attribute

on all Gateway In and Gateway Out blocks. When this attribute is selected on the Gateway blocks, the IOB delay is reduced, but the IO noise and power consumption increases.

In general it is important to insert pipeline registers wherever possible. Deep pipelines are efficiently implemented with the Delay blocks since the SRL16 primitive is used. If an initial value is needed on a register, the Register block supplies this functionality. In addition, the Sync block in the Xilinx Blockset Basic Elements library can help with retiming your design. The Color Space Conversion demo provides an example of this. (This demo, as well as others, can be found through the MATLAB Demos or by typing demo at the MATLAB console prompt.)

Up and down samplers have combinational feedthroughs. Whenever possible, place a register on the output of a sample rate converter. The Xilinx blocks Up Sample and Down Sample (in the Xilinx Blockset Basic Elements library) provide more information.

Saturation arithmetic and rounding have area and performance costs. Use only if necessary.

Use global port selections only if necessary. On the System Generator block parameters dialog box, only select the Create Global Clock Enable Port or Create Global Clear Port options if absolutely necessary. Global clock

132

Xilinx Development System

Page 132
Image 132
Xilinx V2.1 manual Tips for creating a high performance design, Data Rate, Set ‘FAST’ Attribute, Xilinx Development System