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

Chapter 5: XST Design Constraints

R

Cores Search Directories Syntax Examples

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

Cores Search Directories XST Command Line Syntax Example

Define Cores Search Directories globally with the –sd command line option of the run command. Allowed values are names of directories. For more information, see “Names With Spaces in Command Line Mode.”

-sd {directory_path [directory_path]}

There is no default.

Cores Search Directories Project Navigator Syntax Example

Define Cores Search Directories globally in Project Navigator > Process

Properties > Synthesis Options > Cores Search Directory.

Decoder Extraction (DECODER_EXTRACT)

Decoder Extraction (DECODER_EXTRACT) enables or disables decoder macro inference.

Decoder Extraction Architecture Support

Decoder Extraction applies to all FPGA devices. Decoder Extraction does not apply to CPLD devices.

Decoder Extraction Applicable Elements

Decoder Extraction applies globally or to an entity, module or signal.

Decoder Extraction Propagation Rules

When attached to a net or signal, Decoder Extraction applies to the attached signal.

When attached to an entity or module, Decoder Extraction is propagated to all applicable elements in the hierarchy within the entity or module.

Decoder Extraction Syntax Examples

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

Decoder Extraction VHDL Syntax Example

Before using Decoder Extraction, declare it with the following syntax:

attribute decoder_extract: string;

After declaring Decoder Extraction, specify the VHDL constraint:

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

Decoder Extraction Verilog Syntax Example

Place Decoder Extraction immediately before the module or signal declaration:

(* decoder_extract "{yes|no}" *)

376

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

Decoder Extraction XCF Syntax Example One

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

Decoder Extraction XCF Syntax Example Two

BEGIN MODEL "entity_name"

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

END;

Decoder Extraction XST Command Line Syntax Example

Define Decoder Extraction globally with the -decoder_extract command line option of the run command:

-decoder_extract {yes|no}

The default is yes.

Decoder Extraction Project Navigator Syntax Example

Define Decoder Extraction globally in Project Navigator > Process Properties > HDL Options > Decoder Extraction.

Decoder Extraction values are:

yes (default)

no (check box in not checked)

DSP Utilization Ratio (DSP_UTILIZATION_RATIO)

DSP Utilization Ratio (DSP_UTILIZATION_RATIO) defines the number of DSP slices (in absolute number or percent of slices) that XST must not exceed during synthesis optimization. The default is 100% of the target device.

DSP slices in the design may come not only from DSP inference processes, but also from instantiation. Instantiated DSP slices are the primary candidates for available DSP resources. The inferred DSPs are placed on the remaining DSP resources. If the number of instantiated DSPs exceeds the number of available resources, XST does not modify the instantiations and implement them as block DSP slices. The same behavior occurs if you force specific macro implementation to be implemented as DSP slices by using the “Use DSP48 (USE_DSP48)” constraint. If there are no resources, XST respects user constraints even if the number of DSP slices is exceeded.

If the number of user-specified DSP slices exceeds the number of available DSP resources on the target FPGA device, XST issues a warning, and uses only available DSP resources on the chip for synthesis.

You can disable automatic DSP resource management (for example, to see how many DSPs XST can potentially infer for a specific design) by specifying -1 (or any negative value) as a constraint value.

XST User Guide

www.xilinx.com

377

10.1

Chapter 5: XST Design Constraints

R

DSP Utilization Ratio Architecture Support

DSP Utilization Ratio applies to the following FPGA devices only:

Spartan-3A D

Virtex-4

Virtex-5

DSP Utilization Ratio does not apply to CPLD devices.

DSP Utilization Ratio Applicable Elements

DSP Utilization Ratio applies globally.

DSP Utilization Ratio Propagation Rules

Not applicable

DSP Utilization Ratio Syntax Examples

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

DSP Utilization Ratio XST Command Line Syntax Example

Define DSP Utilization Ratio globally with the dsp_utilization_ratio command line option of the run command:

-dsp_utilization_ratio number[%|#]

where

<integer> range is [-1 to 100] when % is used or the both % and # are omitted.

To specify a percent of total slices use %. To specify an absolute number of slices use #. The default is %. For example:

To specify 50% of DSP blocks of the target device enter the following:

-dsp_utilization_ratio 50

To specify 50% of DSP blocks of the target device enter the following:

-dsp_utilization_ratio 50%

To specify 50 DSP blocks enter the following:

-dsp_utilization_ratio 50#

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

DSP Utilization Ratio Project Navigator Syntax Example

Define DSP Utilization Ratio globally in Project Navigator > Process

Properties > Synthesis Options > DSP Utilization Ratio.

In Project Navigator, you can define the value of DSP Utilization Ratio only as a percentage. You can not define the value as an absolute number of slices.

378

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

FSM Style (FSM_STYLE)

FSM Style (FSM_STYLE) can make large FSMs more compact and faster by implementing them in the block RAM resources provided in Virtex™ and later technologies. Use FSM_STYLE to direct XST to use block RAM resources rather than LUTs (default) to implement FSMs. FSM_STYLE is both a global and a local constraint.

FSM Style Architecture Support

FSM Style applies to all FPGA devices. FSM Style does not apply to CPLD devices.

FSM Style Applicable Elements

FSM Style applies globally, or to a VHDL entity, Verilog module, or signal.

FSM Style Propagation Rules

FSM Style applies to the entity, module, or signal to which it is attached.

FSM Style Syntax Examples

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

FSM Style VHDL Syntax Example

Before using FSM_STYLE, declare it with the following syntax:

attribute fsm_style: string;

After declaring FSM_STYLE, specify the VHDL constraint:

attribute fsm_style of {entity_name|signal_name}: {entity|signal} is "{lut|bram}";

The default is lut.

FSM Style Verilog Syntax Example

Place FSM_STYLE immediately before the instance, module, or signal declaration:

(* fsm_style = "{lut|bram}" *)

FSM Style XCF Syntax Example One

MODEL "entity_name" fsm_style = {lut|bram};

FSM Style XCF Syntax Example Two

BEGIN MODEL "entity_name"

NET "signal_name" fsm_style = {lut|bram};

END;

FSM Style XCF Syntax Example Three

BEGIN MODEL "entity_name"

INST "instance_name" fsm_style = {lut|bram};

END;

XST User Guide

www.xilinx.com

379

10.1

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