Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
xst.pdf
Скачиваний:
141
Добавлен:
11.06.2015
Размер:
5.64 Mб
Скачать

R

XST FPGA Constraints (Non-Timing)

Shift Register Extraction (SHREG_EXTRACT)

Shift Register Extraction (SHREG_EXTRACT) enables or disables shift register macro inference.

Shift Register Extraction values are:

yes (default)

no

true (XCF only)

false (XCF only)

Enabling Shift Register Extraction for FPGA devices results in the usage of dedicated hardware resources such as SRL16 and SRLC16. For more information, see “Shift Registers HDL Coding Techniques.”

Shift Register Extraction Architecture Support

Shift Register Extraction applies to all FPGA devices. Shift Register Extraction does not apply to CPLD devices.

Shift Register Extraction Applicable Elements

Shift Register Extraction applies globally, or to design elements and signals.

Shift Register Extraction Propagation Rules

Shift Register Extraction applies to design elements or signals to which it is attached.

Shift Register Extraction Syntax Examples

Following are syntax examples using Shift Register Extraction with particular tools or methods. If a tool or method is not listed, Shift Register Extraction may not be used with it.

Shift Register Extraction VHDL Syntax Example

Before using Shift Register Extraction, declare it with the following syntax:

attribute shreg_extract : string;

After declaring Shift Register Extraction, specify the VHDL constraint:

attribute shreg_extract of {signal_name|entity_name}: {signal|entity} is "{yes|no}";

Shift Register Extraction Verilog Syntax Example

Place Shift Register Extraction immediately before the module or signal declaration:

(* shreg_extract = "{yes|no}" *)

Shift Register Extraction XCF Syntax Example One

MODEL "entity_name" shreg_extract={yes|no|true|false};

Shift Register Extraction XCF Syntax Example Two

BEGIN MODEL "entity_name"

NET "signal_name" shreg_extract={yes|no|true|false};

END;

XST User Guide

www.xilinx.com

413

10.1

Chapter 5: XST Design Constraints

R

Shift Register Extraction XST Command Line Syntax Example

Define Shift Register Extraction globally with the –shreg_extract command line option of the run command:

-shreg_extract {yes|no}

The default is yes.

Shift Register Extraction Project Navigator Syntax Example

Define Shift Register Extraction globally in Project Navigator > Process

Properties > HDL Options > Shift Register Extraction.

Slice Packing (–slice_packing)

Slice Packing (-slice_packing) enables the XST internal packer. The packer attempts to pack critical LUT-to-LUT connections within a slice or a CLB. This exploits the fast feedback connections among the LUTs in a CLB.

Slice Packing Architecture Support

Slice Packing applies to all FPGA devices. Slice Packing does not apply to CPLD devices.

Slice Packing Applicable Elements

Slice Packing applies globally.

Slice Packing Propagation Rules

Not applicable

Slice Packing Syntax Examples

Following are syntax examples using Slice Packing with particular tools or methods. If a tool or method is not listed, Slice Packing may not be used with it.

Slice Packing XST Command Line Syntax Example

Define Slice Packing globally with the –slice_packing command line option of the run command:

-slice_packing {yes|no}

Slice Packing Project Navigator Syntax Example

Define Slice Packing globally in Project Navigator > Process Properties > Xilinx-Specific Options > Slice Packing.

Use Low Skew Lines (USELOWSKEWLINES)

Use Low Skew Lines (USELOWSKEWLINES) is a basic routing constraint. During synthesis, Use Low Skew Lines prevents XST from using dedicated clock resources and logic replication, based on the value of the “Max Fanout (MAX_FANOUT)” constraint.Use Low Skew Lines specifies the use of low skew routing resources for any net. For more information, see “USELOWSKEWLINES” in the Xilinx Constraints Guide.

414

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

XOR Collapsing (XOR_COLLAPSE)

XOR Collapsing (XOR_COLLAPSE) controls whether cascaded XORs should be collapsed into a single XOR.

XOR Collapsing values are:

yes (default)

no

true (XCF only)

false (XCF only)

XOR Collapsing Architecture Support

XOR Collapsing applies to all FPGA devices. XOR Collapsing does not apply to CPLD devices.

XOR Collapsing Applicable Elements

XOR Collapsing applies to cascaded XORs.

XOR Collapsing Propagation Rules

Not applicable

XOR Collapsing Syntax Examples

Following are syntax examples using XOR Collapsing with particular tools or methods. If a tool or method is not listed, XOR Collapsing may not be used with it.

XOR Collapsing VHDL Syntax Example

Before using XOR Collapsing, declare it with the following syntax:

attribute xor_collapse: string;

After declaring XOR Collapsing, specify the VHDL constraint:

attribute xor_collapse {signal_name|entity_name}: {signal|entity} is

"{yes|no}";

The default is yes.

XOR Collapsing Verilog Syntax Example

Place XOR Collapsing immediately before the module or signal declaration:

(* xor_collapse = "{yes|no}" *)

The default is yes.

XOR Collapsing XCF Syntax Example One

MODEL "entity_name" xor_collapse={yes|no|true|false};

XOR Collapsing XCF Syntax Example Two

BEGIN MODEL "entity_name"

NET "signal_name" xor_collapse={yes|no|true|false};

XOR Collapsing END;

XST User Guide

www.xilinx.com

415

10.1

Chapter 5: XST Design Constraints

R

XOR Collapsing XST Command Line Syntax Example

Define XOR Collapsing globally with the xor_collapse command line option of the run command:

-xor_collapse {yes|no}

XOR Collapsing The default is yes.

XOR Collapsing Project Navigator Syntax Example

Define XOR Collapsing globally in Project Navigator > Process Properties > HDL Options > XOR Collapsing.

Slice (LUT-FF Pairs) Utilization Ratio (SLICE_UTILIZATION_RATIO)

Slice (LUT-FF Pairs) Utilization Ratio (SLICE_UTILIZATION_RATIO) defines the area size in absolute numbers or percent of total numbers of

LUT-FF pairs (Virtex-5 devices)

slices (all other devices)

that XST must not exceed during timing optimization.

If the area constraint cannot be satisfied, XST will make timing optimization regardless of the area constraint. To disable automatic resource management, specify -1 as a constraint value. For more information, see “Speed Optimization Under Area Constraint.”

Slice (LUT-FF Pairs) Utilization Ratio Architecture Support

Slice (LUT-FF Pairs) Utilization Ratio applies to all FPGA devices. Slice (LUT-FF Pairs) Utilization Ratio does not apply to CPLD devices.

Slice (LUT-FF Pairs) Utilization Ratio Applicable Elements

Slice (LUT-FF Pairs) Utilization Ratio applies globally, or to a VHDL entity or Verilog module.

Slice (LUT-FF Pairs) Utilization Ratio Propagation Rules

Slice (LUT-FF Pairs) Utilization Ratio applies to the entity or module to which it is attached.

Slice (LUT-FF Pairs) Utilization Ratio Syntax Examples

Following are syntax examples using Slice (LUT-FF Pairs) Utilization Ratio with particular tools or methods. If a tool or method is not listed, Slice (LUT-FF Pairs) Utilization Ratio may not be used with it.

Slice (LUT-FF Pairs) Utilization Ratio VHDL Syntax Examples

Before using Slice (LUT-FF Pairs) Utilization Ratio, declare it with the following syntax:

attribute slice_utilization_ratio: string;

After declaring Slice (LUT-FF Pairs) Utilization Ratio, specify the VHDL constraint:

attribute slice_utilization_ratio of entity_name : entity is "integer";

attribute slice_utilization_ratio of entity_name : entity is "integer%";

416

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

attribute slice_utilization_ratio of entity_name : entity is "integer#";

In the preceding example, XST interprets the integer values in the first two attributes as a percentage and in the last attribute as an absolute number of slices or FF-LUT pairs.

Slice (LUT-FF Pairs) Utilization Ratio Verilog Syntax Examples

Place Slice (LUT-FF Pairs) Utilization Ratio immediately before the module declaration or instantiation:

(* slice_utilization_ratio = "integer" *)

(* slice_utilization_ratio = "integer%" *)

(* slice_utilization_ratio = "integer#" *)

In the preceding examples, XST interprets the integer values in the first two attributes as a percentage and in the last attribute as an absolute number of slices

Slice (LUT-FF Pairs) Utilization Ratio XCF Syntax Example One

MODEL "entity_name" slice_utilization_ratio=integer;

Slice (LUT-FF Pairs) Utilization Ratio XCF Syntax Example Two

MODEL "entity_name" slice_utilization_ratio="integer%";

Slice (LUT-FF Pairs) Utilization Ratio XCF Syntax Example Three

MODEL "entity_name" slice_utilization_ratio="integer#";

In the preceding examples, XST interprets the integer values in the first two lines as a percentage and in the last line as an absolute number of slices or FF-LUT pairs.

There must be no space between the integer value and the percent (%) or pound (#) characters.

The integer value range is -1 to 100 when percent (%) is used or both percent (%) and pound (#) are omitted.

You must surround the integer value and the percent (%) and pound (#) characters with double quotes ("...") because the percent (%) and pound (#) characters are special characters in the XST Constraint File (XCF)

Slice (LUT-FF Pairs) Utilization Ratio XST Command Line Syntax Examples

Define Slice (LUT-FF Pairs) Utilization Ratio globally with the slice_utilization_ratio command line option of the run command:

-slice_utilization_ratio integer

-slice_utilization_ratio integer%

-slice_utilization_ratio integer#

In the preceding example, XST interprets the integer values in the first two lines as a percentage and in the last line as an absolute number of slices or FF-LUT pairs.

The integer value range is -1 to 100 when percent (%) is used or both percent (%) and pound (#) are omitted.

Slice (LUT-FF Pairs) Utilization Ratio Project Navigator Syntax Example

Define Slice (LUT-FF Pairs) Utilization Ratio globally in Project Navigator > Process Properties > Synthesis Options > Slice Utilization Ratio or

XST User Guide

www.xilinx.com

417

10.1

Chapter 5: XST Design Constraints

R

Project Navigator > Process Properties > Synthesis Options > LUT-FF Pairs Utilization Ratio.

In Project Navigator, you can define the value of Slice (LUT-FF Pairs) Utilization Ratio only as a percentage. You can not define the value as an absolute number of slices.

Slice (LUT-FF Pairs) Utilization Ratio Delta

(SLICE_UTILIZATION_RATIO_MAXMARGIN)

Slice (LUT-FF Pairs) Utilization Ratio Delta (SLICE_UTILIZATION_RATIO_MAXMARGIN) is closely related to “Slice (LUT-FF Pairs) Utilization Ratio (SLICE_UTILIZATION_RATIO).” Slice (LUT-FF Pairs) Utilization Ratio Delta defines the tolerance margin for “Slice (LUT-FF Pairs) Utilization Ratio (SLICE_UTILIZATION_RATIO).” The value of the parameter can be defined in the form of percentage as well as an absolute number of slices or LUT-FF pairs.

If the ratio is within the margin set, the constraint is met and timing optimization can continue. For more information, see “Speed Optimization Under Area Constraint.”

Slice (LUT-FF Pairs) Utilization Ratio Delta Architecture Support

Slice (LUT-FF Pairs) Utilization Ratio Delta applies to all FPGA devices. Slice (LUT-FF Pairs) Utilization Ratio Delta does not apply to CPLD devices.

Slice (LUT-FF Pairs) Utilization Ratio Delta Applicable Elements

Slice (LUT-FF Pairs) Utilization Ratio Delta applies globally, or to a VHDL entity or Verilog module.

Slice (LUT-FF Pairs) Utilization Ratio Delta Propagation Rules

Slice (LUT-FF Pairs) Utilization Ratio Delta applies to the entity or module to which it is attached.

Slice (LUT-FF Pairs) Utilization Ratio Delta Syntax Examples

Following are syntax examples using Slice (LUT-FF Pairs) Utilization Ratio Delta with particular tools or methods. If a tool or method is not listed, Slice (LUT-FF Pairs) Utilization Ratio Delta may not be used with it.

Slice (LUT-FF Pairs) Utilization Ratio Delta VHDL Syntax Examples

Before using Slice (LUT-FF Pairs) Utilization Ratio Delta, declare it with the following syntax:

attribute slice_utilization_ratio_maxmargin: string;

After declaring Slice (LUT-FF Pairs) Utilization Ratio Delta, specify the VHDL constraint:

attribute slice_utilization_ratio_maxmargin of entity_name : entity is "integer";

attribute slice_utilization_ratio_maxmargin of entity_name : entity is

"integer%";

attribute slice_utilization_ratio_maxmargin of entity_name : entity is

"integer#";

In the preceding examples, XST interprets the integer values in the first two attributes as a percentage, and in the last attribute as an absolute number of slices or FF-LUT pairs.

418

www.xilinx.com

XST User Guide

 

 

10.1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]