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

Chapter 5: XST Design Constraints

R

Optimize Instantiated Primitives Project Navigator Syntax Example

Define Optimize Instantiated Primitives globally in Project Navigator > Process

Properties > Xilinx-Specific Options > Optimize Instantiated Primitives.

Pack I/O Registers Into IOBs (IOB)

Pack I/O Registers Into IOBs (IOB) packs flip-flops in the I/Os to improve input/output path timing.

When IOB is set to auto, the action XST takes depends on the Optimization setting:

If Optimization is set to area, XST packs registers as tightly as possible to the IOBs in order to reduce the number of slices occupied by the design.

If Optimization is set to speed, XST packs registers to the IOBs provided they are not covered by timing constraints (in other words, they are not taken into account by timing optimization). For example, if you specify a period constraint, XST packs a register to the IOB if it is not covered by the period constraint. If a register is covered by timing optimization, but you do want to pack it to an IOB, you must apply the IOB constraint locally to the register.

For more information, see “IOB” in the Xilinx Constraints Guide.

Priority Encoder Extraction (PRIORITY_EXTRACT)

Priority Encoder Extraction (PRIORITY_EXTRACT) enables or disables priority encoder macro inference.

Priority Encoder Extraction values are:

yes (default)

no

true (XCF only)

force (XCF only)

For each identified priority encoder description, based on some internal decision rules, XST actually creates a macro or optimize it with the rest of the logic. The force value allows you to override those decision rules, and force XST to extract the macro.

Priority Encoder Extraction Architecture Support

Priority Encoder Extraction applies to all FPGA devices. Priority Encoder Extraction does not apply to CPLD devices.

Priority Encoder Extraction Applicable Elements

Priority Encoder Extraction applies globally or to an entity, module, or signal.

Priority Encoder Extraction Propagation Rules

Priority Encoder Extraction applies to the entity, module, or signal to which it is attached.

400

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

Priority Encoder Extraction Syntax Examples

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

Priority Encoder Extraction VHDL Syntax Example

Before using Priority Encoder Extraction, declare it with the following syntax:

attribute priority_extract: string;

After declaring Priority Encoder Extraction, specify the VHDL constraint:

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

The default is yes.

Priority Encoder Extraction Verilog Syntax Example

Place Priority Encoder Extraction immediately before the module or signal declaration:

Priority Encoder Extraction XCF Syntax Example One

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

Priority Encoder Extraction XCF Syntax Example Two

BEGIN MODEL "entity_name"

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

END;

Priority Encoder Extraction XST Command Line Syntax Example

Define Priority Encoder Extraction globally with the -priority_extract command line option of the run command:

-priority_extract {yes|no|force}

The default is yes.

Priority Encoder Extraction Project Navigator Syntax Example

Define Priority Encoder Extraction globally in Project Navigator > Process

Properties > HDL Options > Priority Encoder Extraction.

RAM Extraction (RAM_EXTRACT)

RAM Extraction (RAM_EXTRACT) enable or disables RAM macro inference.

RAM Extraction values are:

yes (default)

no

true (XCF only)

false (XCF only)

RAM Extraction Architecture Support

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

XST User Guide

www.xilinx.com

401

10.1

Chapter 5: XST Design Constraints

R

RAM Extraction Applicable Elements

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

RAM Extraction Propagation Rules

RAM Extraction applies to the entity, module, or signal to which it is attached.

RAM Extraction Syntax Examples

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

RAM Extraction VHDL Syntax Example

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

attribute ram_extract: string;

After declaring RAM Extraction, specify the VHDL constraint:

attribute ram_extract of {signal_name|entity_name}: {signal|entity} is

"{yes|no}";

RAM Extraction Verilog Syntax Example

Place RAM Extraction immediately before the module or signal declaration:

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

RAM Extraction XCF Syntax Example One

RAM Extraction Syntax MODEL "entity_name" ram_extract={yes|no|true|false};

RAM Extraction XCF Syntax Example Two

BEGIN MODEL "entity_name"

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

END;

RAM Extraction XST Command Line Syntax Example

Define RAM Extraction globally with the -ram_extract command line option of the run command:

-ram_extract {yes|no}

The default is yes.

RAM Extraction Project Navigator Syntax Example

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

402

www.xilinx.com

XST User Guide

 

 

10.1

R

XST FPGA Constraints (Non-Timing)

RAM Style (RAM_STYLE)

RAM Style (RAM_STYLE) controls the way the macrogenerator implements the inferred RAM macros.

RAM Style values are:

auto (default)

block

distributed

pipe_distributed

block_power1

block_power2

The default is auto. XST looks for the best implementation for each inferred RAM.

You must use block_power1 and block_power2 in order to achieve power-oriented BRAM optimization. For more information, see “Power Reduction (POWER).”

The implementation style can be manually forced to use block RAM or distributed RAM resources.

You can specify pipe_distributed, block_power1, and block_power2 only through VHDL or Verilog or XCF constraints.

RAM Style Architecture Support

RAM Style applies to all FPGA devices. RAM Style does not apply to CPLD devices. Block_power1 and block_power2 are supported for Virtex-4 and Virtex-5 devices only.

RAM Style Applicable Elements

RAM Style applies globally or to an entity, module, or signal.

RAM Style Propagation Rules

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

RAM Style Syntax Examples

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

RAM Style VHDL Syntax Example

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

attribute ram_style: string;

After declaring RAM Style, specify the VHDL constraint:

attribute ram_style of {signal_name|entity_name}: {signal|entity} is "{auto|block|distributed|pipe_distributed|block_power1|block_power2}";

The default is auto.

RAM Style Verilog Syntax Example

Place RAM Style immediately before the module or signal declaration:

XST User Guide

www.xilinx.com

403

10.1

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