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

R

XST General Constraints

Bus Delimiter Project Navigator Syntax Example

Define Bus Delimiter globally in Project Navigator > Process Properties > Synthesis Options > Bus Delimiter.

Case (–case)

The Case (-case) command line option determines if instance and net names are written in the final netlist using all lower or upper case letters, or if the case is maintained from the source. The case can be maintained for either Verilog or VHDL synthesis flow.

Case Architecture Support

Case is architecture independent.

Case Applicable Elements

Case applies to syntax.

Case Propagation Rules

Not applicable

Case Syntax Examples

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

Case XST Command Line Syntax Example

Define Case globally with the –case command line option of the run command:

-case {upper|lower|maintain}

The default is maintain.

Case Project Navigator Syntax Example

Define Case globally in Project Navigator > Process Properties > Synthesis Options > Case.

Case Implementation Style (–vlgcase)

Case Implementation Style (-vlgcase) is valid for Verilog designs only.

Case Implementation Style instructs XST how to interpret Verilog Case statements. It has three possible values: full, parallel and full-parallel.

If the option is not specified, XST implements the exact behavior of the case statements.

If full is used, XST assumes that the case statements are complete, and avoids latch creation.

If parallel is used, XST assumes that the branches cannot occur in parallel, and does not use a priority encoder.

If full-parallel is used, XST assumes that the case statements are complete, and that the branches cannot occur in parallel, therefore saving latches and priority encoders.

XST User Guide

www.xilinx.com

333

10.1

Chapter 5: XST Design Constraints

R

For more information, see “Multiplexers HDL Coding Techniques,” “Full Case (FULL_CASE),” and “Parallel Case (PARALLEL_CASE).”

Case Implementation Style Architecture Support

Case Implementation Style is architecture independent.

Case Implementation Style Applicable Elements

Case Implementation Style applies globally.

Case Implementation Style Propagation Rules

Not applicable

Case Implementation Style Syntax Examples

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

Case Implementation Style XST Command Line Syntax Example

Define Case Implementation Style globally with the -vlgcase command line option of the run command:

-vlgcase {full|parallel|full-parallel}

By default, there is no value.

Case Implementation Style Project Navigator Syntax Example

Define Case Implementation Style globally in Project Navigator > Process

Properties > HDL Options > Case Implementation Style.

Case Implementation Style values are:

Full

Parallel

Full-Parallel

By default, the value is blank.

Verilog Macros (-define)

Verilog Macros (-define) is valid for Verilog designs only. Verilog Macros allows you to define (or redefine) Verilog macros. This allows you to easily modify the design configuration without any Hardware Description Language (HDL) source modifications, such as for IP core generation and testing flows. If the defined macro is not used in the design, no message is given.

Verilog Macros Architecture Support

Verilog Macros is architecture independent.

Verilog Macros Applicable Elements

Verilog Macros applies to the entire design.

334

www.xilinx.com

XST User Guide

 

 

10.1

R

XST General Constraints

Verilog Macros Propagation Rules

Not applicable

Verilog Macros Syntax Examples

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

Verilog Macros XST Command Line Syntax Example

Define Verilog Macros globally with the -define command line option of the run command:

-define {name[=value] name[=value] -}

where

name is a macro name

value is a macro text

The default is an empty definition:

-define {}

Note:

Values for macros are not mandatory.

Place the values inside curly braces ({...}).

Separate the values with spaces.

Macro text can be specified between quotation marks ("..."), or without them. If the macro text contains spaces, you must use quotation marks ("...").

-define {macro1=Xilinx macro2="Xilinx Virtex4"}

Verilog Macros Project Navigator Syntax Example

Define Verilog Macros globally in Project Navigator > Process Properties > Synthesis Options > Verilog Macros.

Do not use curly braces ({...}) when specifying values in Project Navigator.

acro1=Xilinx macro2="Xilinx Virtex4"

Duplication Suffix (–duplication_suffix)

Duplication Suffix (-duplication_suffix) controls how XST names replicated flipflops. By default, when XST replicates a flip-flop, it creates a name for the new flip-flop by taking the name of the original flip-flop and adding _n to the end of it, where n is an index number.

For example, if the original flip-flop name is my_ff, and this flip-flop was replicated three times, XST generates flip-flops with the following names:

my_ff_1

my_ff_2

my_ff_3

Use Duplication Suffix to specify a text string to append to the end of the default name. Use the %d escape character to specify where in the name the index number appears.

XST User Guide

www.xilinx.com

335

10.1

Chapter 5: XST Design Constraints

R

For example, for the flip-flop named my_ff, if you specify _dupreg_%d with the

Duplication Suffix option, XST generates the following names:

my_ff_dupreg_1

my_ff_dupreg_2

my_ff_dupreg_3

The %d escape character can be placed anywhere in the suffix definition.

For example, if the Duplication Suffix value is specified as _dup_%d_reg, XST generates the following names:

my_ff_dup_1_reg

my_ff_dup_2_reg

my_ff_dup_3_reg

Duplication Suffix Architecture Support

Duplication Suffix is architecture independent.

Duplication Suffix Applicable Elements

Duplication Suffix applies to files.

Duplication Suffix Propagation Rules

Not applicable

Duplication Suffix Syntax Examples

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

Duplication Suffix XST Command Line Syntax Example

Define Duplication Suffix globally with the duplication_suffix command line option of the run command:

-duplication_suffix string%dstring

The default is _%d.

Duplication Suffix Project Navigator Syntax Example

Define Duplication Suffix globally in Project Navigator > Process Properties > Synthesis Options > Other.

For more information about coding details, see “Duplication Suffix XST Command Line Syntax Example.”

Full Case (FULL_CASE)

Full Case (FULL_CASE) is valid for Verilog designs only. Full Case indicates that all possible selector values have been expressed in a case, casex or casez statement. The

336

www.xilinx.com

XST User Guide

 

 

10.1

R

XST General Constraints

Full Case directive prevents XST from creating additional hardware for those conditions not expressed. For more information, see “Multiplexers HDL Coding Techniques.”

Full Case Architecture Support

Full Case is architecture independent.

Full Case Applicable Elements

Full Case applies to case statements in Verilog meta comments.

Full Case Propagation Rules

Not applicable

Full Case Syntax Examples

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

Full Case Verilog Syntax Example

The Verilog 2001 syntax is as follows:

(* full_case *)

Since Full Case does not contain a target reference, the attribute immediately precedes the selector:

(* full_case *) casex select

4'b1xxx: res = data1; 4'bx1xx: res = data2; 4'bxx1x: res = data3; 4'bxxx1: res = data4;

endcase

Full Case is also available as a meta comment in the Verilog code. The syntax differs from the standard meta comment syntax as shown in the following:

// synthesis full_case

Since Full Case does not contain a target reference, the meta comment immediately follows the selector:

casex select // synthesis full_case 4'b1xxx: res = data1;

4'bx1xx: res = data2; 4'bxx1x: res = data3; 4'bxxx1: res = data4;

endcase

Full Case XST Command Line Syntax Example

Define Full Case globally with the –vlgcase command line option of the run command:

-vlgcase {full|parallel|full-parallel}

XST User Guide

www.xilinx.com

337

10.1

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