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

R

XST HDL Constraints

User Three will also set:

XSTHDPDIR = c:\temp

Work Directory Architecture Support

Work Directory is architecture independent.

Work Directory Applicable Elements

Work Directory applies to directories.

Work Directory Propagation Rules

Not applicable

Work Directory Syntax Examples

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

Work Directory XST Command Line Syntax Example

Define Work Directory globally with the set xsthdpdir command line option before running the run command:

set -xsthdpdir directory

Work Directory can accept a single path only. You must specify the directory. There is no default.

Work Directory Project Navigator Syntax Example

Define Work Directory globally in Project Navigator > Process Properties > Synthesis Options > VHDL Work Directory.

To view Work Directory, select Edit > Preferences > Processes > Property Display Level > Advanced.

XST HDL Constraints

This section describes Hardware Description Language (HDL) design constraints that can be used with XST. This section discusses the following constraints:

“Automatic FSM Extraction (FSM_EXTRACT)”

“Enumerated Encoding (ENUM_ENCODING)”

“Equivalent Register Removal (EQUIVALENT_REGISTER_REMOVAL)”

“FSM Encoding Algorithm (FSM_ENCODING)”

“Mux Extraction (MUX_EXTRACT)”

“Register Power Up (REGISTER_POWERUP)”

“Resource Sharing (RESOURCE_SHARING)”

“Safe Recovery State (SAFE_RECOVERY_STATE)”

“Safe Implementation (SAFE_IMPLEMENTATION)”

“Signal Encoding (SIGNAL_ENCODING)”

XST User Guide

www.xilinx.com

355

10.1

Chapter 5: XST Design Constraints

R

About XST HDL Constraints

The constraints described in this section apply to FPGA devices, CPLD devices, VHDL, and Verilog. Most of the constraints can be set globally in Project Navigator > Process Properties > HDL Options. The only constraints that cannot be set in Process Properties are:

“Enumerated Encoding (ENUM_ENCODING)”

“Safe Recovery State (SAFE_RECOVERY_STATE)”

“Signal Encoding (SIGNAL_ENCODING)”

Automatic FSM Extraction (FSM_EXTRACT)

Automatic FSM Extraction (FSM_EXTRACT) enables or disables finite state machine extraction and specific synthesis optimizations. In order to set values for the FSM Encoding Algorithm and FSM Flip-Flop Type, Automatic FSM Extraction must be enabled.

Automatic FSM Extraction Architecture Support

Automatic FSM Extraction is architecture independent.

Automatic FSM Extraction Applicable Elements

Automatic FSM Extraction applies globally, or to a VHDL entity, Verilog module, or signal

Automatic FSM Extraction Propagation Rules

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

Automatic FSM Extraction Syntax Examples

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

Automatic FSM Extraction VHDL Syntax Example

Before using Automatic FSM Extraction, declare it with the following syntax:

attribute fsm_extract: string;

After declaring Automatic FSM Extraction, specify the VHDL constraint:

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

"{yes|no}";

Automatic FSM Extraction Verilog Syntax Example

Place Automatic FSM Extraction immediately before the module or signal declaration:

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

Automatic FSM Extraction XCF Syntax Example One

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

356

www.xilinx.com

XST User Guide

 

 

10.1

R

XST HDL Constraints

Automatic FSM Extraction XCF Syntax Example Two

BEGIN MODEL "entity_name"

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

END;

Automatic FSM Extraction XST Command Line Syntax Example

Define Automatic FSM Extraction globally with the fsm_extract command line option of the run command:

-fsm_extract {yes|no}

The default is yes.

Automatic FSM Extraction Project Navigator Syntax Example

Set Automatic FSM Extraction (-fsm_extract) and FSM Encoding (-fsm_encoding) options in Project Navigator > Process Properties > HDL Options > FSM Encoding Algorithm. These options are:

If FSM Encoding Algorithm is set to None, and -fsm_extract is set to no, - fsm_encoding does not influence synthesis.

In all other cases, -fsm_extract is set to yes, and -fsm_encoding is set to the selected value. For more information about -fsm_encoding, see “FSM Encoding Algorithm (FSM_ENCODING).”

Enumerated Encoding (ENUM_ENCODING)

Enumerated Encoding (ENUM_ENCODING) applies a specific encoding to a VHDL enumerated type. The value is a string containing space-separated binary codes. You can specify Enumerated Encoding only as a VHDL constraint on the considered enumerated type.

When describing a Finite State Machine (FSM) using an enumerated type for the state register, you may specify a particular encoding scheme with Enumerated Encoding. In order for this encoding to be used by XST, set “FSM Encoding Algorithm (FSM_ENCODING)” to user for the considered state register.

Enumerated Encoding Architecture Support

Enumerated Encoding is architecture independent.

Enumerated Encoding Applicable Elements

Enumerated Encoding applies to a type or signal.

Because Enumerated Encoding must preserve the external design interface, XST ignores Enumerated Encoding when it is used on a port.

Enumerated Encoding Propagation Rules

Enumerated Encoding applies to the type or signal to which it is attached.

Enumerated Encoding Syntax Examples

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

XST User Guide

www.xilinx.com

357

10.1

Chapter 5: XST Design Constraints

Enumerated Encoding VHDL Syntax Example

R

Specify Enumerated Encoding as a VHDL constraint on the considered enumerated type:

...

architecture behavior of example is type statetype is (ST0, ST1, ST2, ST3);

attribute enum_encoding of statetype : type is "001 010 100 111"; signal state1 : statetype;

signal state2 : statetype; begin

...

Enumerated Encoding XCF Syntax Example

BEGIN MODEL "entity_name"

NET "signal_name" enum_encoding="string";

END;

Equivalent Register Removal (EQUIVALENT_REGISTER_REMOVAL)

Equivalent Register Removal (EQUIVALENT_REGISTER_REMOVAL) enables or disables removal of equivalent registers described at the RTL Level. By default, XST does not remove equivalent flip-flops if they are instantiated from a Xilinx® primitive library. Flipflop optimization includes removing:

Equivalent flip-flops for FPGA and CPLD devices

Flip-flops with constant inputs for CPLD devices

This processing increases the fitting success as a result of the logic simplification implied by the flip-flops elimination.

Equivalent Register Removal values are:

yes (default)

Flip-flop optimization is allowed.

no

Flip-flop optimization is inhibited. The flip-flop optimization algorithm is time consuming. For fast processing, use no.

true (XCF only)

false (XCF only)

Equivalent Register Removal Architecture Support

Equivalent Register Removal is architecture independent.

Equivalent Register Removal Applicable Elements

Equivalent Register Removal applies globally, or to an entity, module, or signal.

Equivalent Register Removal Propagation Rules

Equivalent Register Removal removes equivalent flip-flops and flip-flops with constant inputs.

358

www.xilinx.com

XST User Guide

 

 

10.1

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