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

Chapter 5: XST Design Constraints

R

Mux Style Applicable Elements

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

Mux Style Propagation Rules

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

Mux Style Syntax Examples

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

Mux Style VHDL Syntax Example

Before using Mux Style, declare it with the following syntax:

attribute mux_style: string;

After declaring Mux Style, specify the VHDL constraint:

attribute mux_style of {signal_name|entity_name}: {signal|entity} is "{auto|muxf|muxcy}";

The default is auto.

Mux Style Verilog Syntax Example

Place Mux Style immediately before the module or signal declaration:

(* mux_style = "{auto|muxf|muxcy}" *)

The default is auto.

Mux Style XCF Syntax Example One

MODEL "entity_name" mux_style={auto|muxf|muxcy};

Mux Style XCF Syntax Example Two

BEGIN MODEL "entity_name"

NET "signal_name" mux_style={auto|muxf|muxcy};

END;

Mux Style XST Command Line Syntax Example

Define Mux Style globally with the mux_style command line option of the run command:

-mux_style {auto|muxf|muxcy}

The default is auto.

Mux Style Project Navigator Syntax Example

Define Mux Style globally in Project Navigator > Process Properties > HDL Options > Mux Style.

Number of Global Clock Buffers (–bufg)

Number of Global Clock Buffers (-bufg) controls the maximum number of BUFGs created by XST. The value is an integer. The default value depends on the target device, and is equal to the maximum number of available BUFGs.

396

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

Number of Global Clock Buffers Architecture Support

Number of Global Clock Buffers applies to all FPGA devices. Number of Global Clock Buffers does not apply to CPLD devices.

Number of Global Clock Buffers Applicable Elements

Number of Global Clock Buffers applies globally.

Number of Global Clock Buffers Propagation Rules

Not applicable

Number of Global Clock Buffers Syntax Examples

Following are syntax examples using Number of Global Clock Buffers with particular tools or methods. If a tool or method is not listed, Number of Global Clock Buffers may not be used with it.

Number of Global Clock Buffers XST Command Line Syntax Example

Define Number of Global Clock Buffers globally with the -bufg command line option of the run command:

-bufg integer

The value is an integer. The default values are different for different architectures. The defaults for selected architectures are shown in Table 5-6, “Default Values of Number of Global Clock Buffers.” The number of BUFGs cannot exceed the maximum number of BUFGs for the target device.

Table 5-6: Default Values of Number of Global Clock Buffers

 

Devices

Default Value

 

 

 

Virtex

4

Virtex-E

 

 

 

 

Virtex-II

16

• Virtex-II Pro

 

 

 

 

Virtex-4

32

Virtex-5

 

 

 

 

Spartan-II

4

Spartan-IIE

 

 

 

 

Spartan-3

8

 

 

 

Spartan-3E

24

Spartan-3A

 

Spartan-3A D

 

 

 

 

Number of Global Clock Buffers Project Navigator Syntax Example

Define Number of Global Clock Buffers globally in Project Navigator > Process Properties > Xilinx-Specific Options > Number of Clock Buffers.

XST User Guide

www.xilinx.com

397

10.1

Chapter 5: XST Design Constraints

R

Number of Regional Clock Buffers (–bufr)

Number of Regional Clock Buffers (-bufr) controls the maximum number of BUFRs created by XST. The value is an integer. The default value depends on the target device, and is equal to the maximum number of available BUFRs.

Number of Regional Clock Buffers Architecture Support

Number of Regional Clock Buffers:

May be used with Virtex-4 devices only.

May NOT be used with Virtex-5 devices.

Does not apply to CPLD devices.

Number of Regional Clock Buffers Applicable Elements

Number of Regional Clock Buffers applies globally.

Number of Regional Clock Buffers Propagation Rules

Not applicable

Number of Regional Clock Buffers Syntax Examples

Following are syntax examples using Number of Regional Clock Buffers with particular tools or methods. If a tool or method is not listed, Number of Regional Clock Buffers may not be used with it.

Number of Regional Clock Buffers XST Command Line Syntax Example

Define Number of Regional Clock Buffers globally with the –bufr command line option of the run command:

-bufr integer

The value is an integer.

The number of BUFRs cannot exceed the maximum number of BUFRs for the target device.

Number of Regional Clock Buffers Project Navigator Syntax Example

Define Number of Regional Clock Buffers globally in Project Navigator > Process

Properties > Xilinx-Specific Options > Number of Regional Clock Buffers.

Optimize Instantiated Primitives (OPTIMIZE_PRIMITIVES)

By default, XST does not optimize instantiated primitives in Hardware Description Languages (HDLs). Use Optimize Instantiated Primitives (OPTIMIZE_PRIMITIVES) to deactivate the default. Optimize Instantiated Primitives allows XST to optimize Xilinx library primitives that have been instantiated in an HDL.

Optimization of instantiated primitives is limited by the following factors:

If an instantiated primitive has specific constraints such as “RLOC” attached, XST preserves it as is.

398

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

Not all primitives are considered by XST for optimization. Such hardware elements as MULT18x18, BRAMs, and DSP48 are not optimized (modified) even if optimization of instantiated primitives is enabled.

Optimize Instantiated Primitives Architecture Support

Optimize Instantiated Primitives applies to all FPGA devices. Optimize Instantiated

Primitives does not apply to CPLD devices.

Optimize Instantiated Primitives Applicable Elements

Optimize Instantiated Primitives applies to hierarchical blocks, components, and instances.

Optimize Instantiated Primitives Propagation Rules

Optimize Instantiated Primitives applies to the component or instance to which it is attached.

Optimize Instantiated Primitives Syntax Examples

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

Optimize Instantiated Primitives Schematic Syntax Examples

Attach to a valid instance

Attribute Name OPTIMIZE_PRIMITIVES

Attribute Values

yes

no (default)

Optimize Instantiated Primitives VHDL Syntax Example

Before using Optimize Instantiated Primitives, declare it with the following syntax:

attribute optimize_primitives: string;

After declaring Optimize Instantiated Primitives, specify the VHDL constraint:

attribute optimize_primitives of

{component_name|entity_name|label_name}: {component|entity|label} is "{yes|no}";

Optimize Instantiated Primitives Verilog Syntax Example

Place Optimize Instantiated Primitives immediately before the instance, module or signal declaration:

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

Optimize Instantiated Primitives XCF Syntax Example

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

XST User Guide

www.xilinx.com

399

10.1

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