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

R

XST General Constraints

“Timegroup (TIMEGRP)”

“Timing Ignore (TIG)”

TIMESPEC

TSIDENTIFIER

These timing constraints influence synthesis optimization, and can be passed on to place and route by selecting the Write Timing Constraints command line option.

These timing constraints are supported by the following architectures:

Spartan-II, Spartan-IIE

Spartan-3, Spartan-3E

Spartan-3A, Spartan-3A D

Virtex, Virtex-E

Virtex-II, Virtex-II Pro

Virtex-4, Virtex-5

For more information as to the Value and Target of each constraint, see the Xilinx

Constraints Guide.

XST General Constraints

This section lists general constraints for use with XST. These constraints apply to FPGA devices, CPLD devices, VHDL, and Verilog. You can set some of these options in Project Navigator > Process Properties > Synthesis Options. This section discusses the following constraints:

“Add I/O Buffers (–iobuf)”

“BoxType (BOX_TYPE)”

“Bus Delimiter (–bus_delimiter)”

“Case (–case)”

“Case Implementation Style (–vlgcase)”

“Verilog Macros (-define)”

“Duplication Suffix (–duplication_suffix)”

“Full Case (FULL_CASE)”

“Generate RTL Schematic (–rtlview)”

“Generics (-generics)”

“Hierarchy Separator (–hierarchy_separator)”

“I/O Standard (IOSTANDARD)”

“Keep (KEEP)”

“Keep Hierarchy (KEEP_HIERARCHY)”

“Library Search Order (–lso)”

“LOC”

“Netlist Hierarchy (-netlist_hierarchy)”

“Optimization Effort (OPT_LEVEL)”

“Optimization Goal (OPT_MODE)”

“Parallel Case (PARALLEL_CASE)”

XST User Guide

www.xilinx.com

329

10.1

Chapter 5: XST Design Constraints

R

“RLOC”

“Save (S / SAVE)”

“Synthesis Constraint File (–uc)”

“Translate Off (TRANSLATE_OFF) and Translate On (TRANSLATE_ON)”

“Use Synthesis Constraints File (–iuc)”

“Verilog Include Directories (–vlgincdir)”

“Verilog 2001 (–verilog2001)”

“HDL Library Mapping File (–xsthdpini)”

“Work Directory (–xsthdpdir)”

Add I/O Buffers (–iobuf)

Add I/O Buffers (-iobuf) enables or disables I/O buffer insertion. XST automatically inserts Input/Output Buffers into the design. If you manually instantiate I/O Buffers for some or all the I/Os, XST inserts I/O Buffers only for the remaining I/Os. If you do not want XST to insert any I/O Buffers, set -iobuf to no. Add I/O Buffers is useful to synthesize a part of a design to be instantiated later on.

Add I/O Buffers values are:

yes (default)

no

When yes is selected, IBUF and IOBUF primitives are generated. IBUF and OBUF primitives are connected to I/O ports of the top-level module. When XST is called to synthesize an internal module that is instantiated later in a larger design, you must select the no option. If I/O buffers are added to a design, this design cannot be used as a submodule of another design.

Add I/O Buffers Architecture Support

Add I/O Buffers is architecture independent.

Add I/O Buffers Applicable Elements

Add I/O Buffers applies globally.

Add I/O Buffer Propagation Rules

Add I/O Buffers applies to design primary IOs.

Add I/O Buffers Syntax Examples

Following are syntax examples using Add I/O Buffers with particular tools or methods. If a tool or method is not listed, Add I/O Buffers not be used with it.

Add I/O Buffers XST Command Line Syntax Example

Define Add I/O Buffers globally with the iobuf command line option of the run command:

-iobuf {yes|no|true|false|soft}

The default is yes.

330

www.xilinx.com

XST User Guide

 

 

10.1

R

XST General Constraints

Add I/O Buffers Project Navigator Syntax Example

Define Add I/O Buffers globally in Project Navigator > Process Properties > Xilinx-Specific Options > Add I/O Buffers.

BoxType (BOX_TYPE)

Box Type (BOX_TYPE) is a synthesis constraint.

Box Type values are:

primitive

black_box

user_black_box

These values instruct XST not to synthesize the behavior of a module.

The black_box value is equivalent to primitive. It will eventually become obsolete.

If user_black_box is specified, XST reports inference of a black box in the log file. It does not do so if primitive is specified.

If Box Type is applied to at least a single instance of a block of a design, Box Type is propagated to all other instances of the entire design. This feature was implemented for Verilog and XST Constraint File (XCF) in order to have a VHDL-like support, where Box Type can be applied to a component.

Box Type Architecture Support

Box Type is architecture independent.

Box Type Applicable Elements

Box Type applies to the following design elements:

VHDL component, entity

Verilog

module, instance

XCF

model, instance

Box Type Propagation Rules

Box Type applies to the design element to which it is attached.

Box Type Syntax Examples

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

Box Type VHDL Syntax Example

Before using Box Type, declare it with the following syntax:

attribute box_type: string;

XST User Guide

www.xilinx.com

331

10.1

Chapter 5: XST Design Constraints

R

After declaring Box Type, specify the VHDL constraint:

attribute box_type of {component_name|entity_name}: {component|entity} is "{primitive|black_box|user_black_box}";

Box Type Verilog Syntax Example

Place this attribute immediately before the black box instantiation:

(* box_type = "{primitive|black_box|user_black_box}" *)

Box Type XCF Syntax Example One

MODEL "entity_name" box_type="{primitive|black_box|user_black_box}";

Box Type XCF Syntax Example Two

BEGIN MODEL "entity_name"

INST "instance_name" box_type="{primitive|black_box|user_black_box}";

END;

Bus Delimiter (–bus_delimiter)

The Bus Delimiter (-bus_delimiter) command line option defines the format used to write the signal vectors in the result netlist. The available possibilities are:

<> (default)

[]

{}

()

Bus Delimiter Architecture Support

Bus Delimiter is architecture independent.

Bus Delimiter Applicable Elements

Bus Delimiter applies to syntax.

Bus Delimiter Propagation Rules

Not applicable

Bus Delimiter Syntax Examples

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

Bus Delimiter XST Command Line Syntax Example

Define Bus Delimiter globally with the –bus_delimiter command line option of the run command:

-bus_delimiter {<>|[]|{}|()}

The default is <>.

332

www.xilinx.com

XST User Guide

 

 

10.1

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