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

Chapter 5: XST Design Constraints

R

Implementation non-timing constraints such as:

“RLOC”

“Keep (KEEP)”

If you specify timing constraints in the XST Constraint File (XCF), Xilinx recommends that you use a forward slash (/) as a hierarchy separator instead of an underscore (_). For more information, see “Hierarchy Separator (–hierarchy_separator)”

XCF Syntax Limitations

XST Constraint File (XCF) syntax has the following limitations:

Nested model statements are not supported.

Instance or signal names listed between the BEGIN MODEL statement and the END statement are only the ones visible inside the entity. Hierarchical instance or signal names are not supported.

Wildcards in instance and signal names are not supported, except in timing constraints.

Not all native User Constraint File (UCF) constraints are supported. For more information, see the Xilinx Constraints Guide.

Constraints Priority

Constraints priority depends on the file in which the constraint appears. A constraint in a file accessed later in the design flow overrides a constraint in a file accessed earlier in the design flow. Priority is as follows, from highest to lowest:

1.Synthesis Constraint File

2.Hardware Description Language (HDL) file

3.Project Navigator > Process Properties, or the command line

XST-Specific Non-Timing Options

Table 5-1, “XST-Specific Non-Timing Options,” shows:

Allowed values for each constraint

Type of objects to which they can be applied

Usage restrictions

In many cases, a particular constraint can be applied globally to an entire entity or model, or alternatively, it can be applied locally to individual signals, nets or instances.

Table 5-1: XST-Specific Non-Timing Options

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“BoxType (BOX_TYPE)”

primitive

entity

module

model

N/A

N/A

 

black_box

inst

inst

inst (in model)

 

 

 

user_black_box

 

 

 

 

 

 

 

 

 

 

 

 

“Map Logic on BRAM

yes

entity

module

model

N/A

N/A

(BRAM_MAP)”

no

 

 

 

 

 

 

 

 

 

 

 

 

318

www.xilinx.com

XST User Guide

 

 

10.1

R

XST-Specific Non-Timing Options

Table 5-1: XST-Specific Non-Timing Options (Cont’d)

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“Buffer Type (BUFFER_TYPE)”

bufgdll

signal

signal

net (in model)

N/A

N/A

 

ibufg

 

 

 

 

 

 

bufg

 

 

 

 

 

 

bufgp

 

 

 

 

 

 

ibuf

 

 

 

 

 

 

bufr

 

 

 

 

 

 

none

 

 

 

 

 

 

 

 

 

 

 

 

“Clock Signal

yes

primary

primary

net (in model)

-bufgce

yes

(CLOCK_SIGNAL)”

no

clock

clock

 

 

no

 

 

signal

signal

 

 

default: no

 

 

 

 

 

 

 

“Clock Signal

yes

clock

clock

clock

N/A

N/A

(CLOCK_SIGNAL)”

no

signal

signal

signal

 

 

 

 

 

 

net (in model)

 

 

 

 

 

 

 

 

 

“Decoder Extraction

yes

entity

entity

model

–decoder_extract

yes

(DECODER_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Enumerated Encoding

string

type

signal

net (in model)

N/A

N/A

(ENUM_ENCODING)”

containing

 

 

 

 

 

 

space-

 

 

 

 

 

 

separated

 

 

 

 

 

 

binary codes

 

 

 

 

 

 

 

 

 

 

 

 

“Equivalent Register Removal

yes

entity

module

model

–equivalent_register_

yes

(EQUIVALENT_REGISTER_R

no

signal

signal

net (in model)

removal

no

EMOVAL)”

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

 

 

 

 

 

 

“FSM Encoding Algorithm

auto

entity

module

model

–fsm_encoding

auto

(FSM_ENCODING)”

one-hot

signal

signal

net (in model)

 

one-hot

 

compact

 

 

 

 

compact

 

sequential

 

 

 

 

sequential

 

gray

 

 

 

 

gray

 

johnson

 

 

 

 

johnson

 

speed1

 

 

 

 

speed1

 

user

 

 

 

 

user

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“Automatic FSM Extraction

yes

entity

module

model

–fsm_extract

yes

(FSM_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“FSM Style (FSM_STYLE)”

lut

entity

module

model

–fsm_style

lut

 

bram

signal

signal

net (in model)

 

bram

 

 

 

 

 

 

default: lut

 

 

 

 

 

 

 

“Full Case (FULL_CASE)”

N/A

N/A

case statement

N/A

N/A

N/A

 

 

 

 

 

 

 

“Incremental Synthesis

yes

entity

module

model

N/A

N/A

(INCREMENTAL_SYNTHESIS

no

 

 

 

 

 

)”

 

 

 

 

 

 

 

 

 

 

 

 

 

“Pack I/O Registers Into IOBs

true

signal

signal

net (in model)

–iob

true

(IOB)”

false

instance

instance

inst (in model)

 

false

 

auto

 

 

 

 

auto

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“I/O Standard

string

signal

signal

net (in model)

N/A

N/A

(IOSTANDARD)”

For more

instance

instance

inst (in model)

 

 

 

information,

 

 

 

 

 

 

see the Xilinx

 

 

 

 

 

 

Constraints

 

 

 

 

 

 

Guide.

 

 

 

 

 

 

 

 

 

 

 

 

XST User Guide

www.xilinx.com

319

10.1

Chapter 5: XST Design Constraints

Table 5-1: XST-Specific Non-Timing Options (Cont’d)

R

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“Keep (KEEP)”

true

signal

signal

net (in model)

N/A

N/A

 

false

 

 

 

 

 

 

 

 

 

 

 

 

“Keep Hierarchy

yes

entity

module

model

–keep_hierarchy

yes

(KEEP_HIERARCHY)”

no

 

 

 

 

no

 

soft

 

 

 

 

soft

 

 

 

 

 

 

default (FPGA): no

 

 

 

 

 

 

default (CPLD): yes

 

 

 

 

 

 

 

“LOC”

string

signal

signal

net (in model)

N/A

N/A

 

 

(primary IO)

(primary IO)

inst (in model)

 

 

 

 

instance

instance

 

 

 

 

 

 

 

 

 

 

“Map Entity on a Single LUT

yes

entity

module

model

N/A

N/A

(LUT_MAP)”

no

architecture

 

 

 

 

 

 

 

 

 

 

 

“Max Fanout

integer

entity

module

model

–max_fanout

integer

(MAX_FANOUT)”

 

signal

signal

net (in model)

 

default: see detailed

 

 

 

 

 

 

description

 

 

 

 

 

 

 

“Move First Stage

yes

entity

module

model

–move_first_stage

yes

(MOVE_FIRST_STAGE)”

no

primary

primary

primary clock

 

no

 

 

clock

clock

signal

 

default: yes

 

 

signal

signal

net (in model)

 

 

 

 

 

 

 

 

 

“Move Last Stage

yes

entity

module

model

–move_last_stage

yes

(MOVE_LAST_STAGE)”

no

primary

primary

primary clock

 

no

 

 

clock

clock

signal

 

default: yes

 

 

signal

signal

net (in model

 

 

 

 

 

 

 

 

 

“Multiplier Style

auto

entity

module

model

–mult_style

auto

(MULT_STYLE)”

block

signal

signal

net (in model)

 

block

 

pipe_block

 

 

 

 

pipe_block

 

kcm

 

 

 

 

kcm

 

csd

 

 

 

 

csd

 

lut

 

 

 

 

lut

 

pipe_lut

 

 

 

 

pipe_lut

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“Mux Extraction

yes

entity

module

model

–mux_extract

yes

(MUX_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

force

 

 

 

 

force

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Mux Style (MUX_STYLE)”

auto

entity

module

model

–mux_style

auto

 

muxf

signal

signal

net (in model)

 

muxf

 

muxcy

 

 

 

 

muxcy

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“No Reduce (NOREDUCE)”

yes

signal

signal

net (in model)

N/A

N/A

 

no

 

 

 

 

 

 

 

 

 

 

 

 

“Optimization Effort

1

entity

module

model

–opt_level

1

(OPT_LEVEL)”

2

 

 

 

 

2

 

 

 

 

 

 

default: 1

 

 

 

 

 

 

 

“Optimization Goal

speed

entity

module

model

–opt_mode

speed

(OPT_MODE)”

area

 

 

 

 

area

 

 

 

 

 

 

default: speed

 

 

 

 

 

 

 

“Optimize Instantiated

yes

entity

module

model

–optimize_primitives

yes

Primitives

no

instance

instance

instance

 

no

(OPTIMIZE_PRIMITIVES)”

 

 

 

(in model)

 

default: no

 

 

 

 

 

 

 

“Parallel Case

N/A

N/A

case statement

N/A

N/A

N/A

(PARALLEL_CASE)”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

320

 

 

www.xilinx.com

 

XST User Guide

 

 

 

 

 

 

10.1

R

XST-Specific Non-Timing Options

Table 5-1: XST-Specific Non-Timing Options (Cont’d)

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“Power Reduction (POWER)”

yes

entity

module

model

-power

yes

 

no

 

 

 

 

no

 

 

 

 

 

 

default: no

 

 

 

 

 

 

 

“Priority Encoder Extraction

yes

entity

module

model

–priority_extract

yes

(PRIORITY_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

force

 

 

 

 

force

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“RAM Extraction

yes

entity

module

model

–ram_extract

yes

(RAM_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“RAM Style (RAM_STYLE)”

auto

entity

module

model

–ram_style

auto

 

block

signal

signal

net (in model)

 

block

 

distributed

 

 

 

 

distributed

 

pipe_distribute

 

 

 

 

default: auto

 

d

 

 

 

 

 

 

block_power1

 

 

 

 

 

 

block_power2

 

 

 

 

 

 

 

 

 

 

 

 

“Read Cores (READ_CORES)”

yes

entity

module

model

–read_cores

yes

 

no

component

label

inst (in model)

 

no

 

optimize

 

 

 

 

optimize

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Register Balancing

yes

entity

module

model

–register_balancing

yes

(REGISTER_BALANCING)”

no

signal

signal

net (in model)

 

no

 

forward

FF

FF

inst (in model)

 

forward

 

 

 

 

backward

instance name

instance name

 

 

backward

 

 

 

primary clock

 

 

default: no

 

 

 

signal

 

 

 

 

 

 

 

 

 

 

“Register Duplication

yes

entity

module

model

–register_duplication

yes

(REGISTER_DUPLICATION)”

no

signal

 

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Register Power Up

string

type

signal

net (in model)

N/A

N/A

(REGISTER_POWERUP)”

 

 

 

 

 

 

 

 

 

 

 

 

 

“Resource Sharing

yes

entity

module

model

–resource_sharing

yes

(RESOURCE_SHARING)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Resynthesize

yes

entity

module

model

N/A

N/A

(RESYNTHESIZE)”

no

 

 

 

 

 

 

 

 

 

 

 

 

“ROM Extraction

yes

entity

module

model

–rom_extract

yes

(ROM_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“ROM Style (ROM_STYLE)”

auto

entity

module

model

–rom_style

auto

 

block

signal

signal

net (in model)

 

block

 

distributed

 

 

 

 

distributed

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“Save (S / SAVE)”

yes

signal

signal

net (in model)

N/A

N/A

 

no

inst of

inst of

inst of

 

 

 

 

primitive

primitive

primitive (in

 

 

 

 

 

 

model)

 

 

 

 

 

 

 

 

 

“Safe Implementation

yes

entity

module

model

–safe_implementation

yes

(SAFE_IMPLEMENTATION)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: no

 

 

 

 

 

 

 

XST User Guide

www.xilinx.com

321

10.1

Chapter 5: XST Design Constraints

Table 5-1: XST-Specific Non-Timing Options (Cont’d)

R

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“Safe Recovery State

string

signal

signal

net (in model)

N/A

N/A

(SAFE_RECOVERY_STATE)”

 

 

 

 

 

 

 

 

 

 

 

 

 

“Logical Shifter Extraction

yes

entity

module

model

–shift_extract

yes

(SHIFT_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Shift Register Extraction

yes

entity

module

model

–shreg_extract

yes

(SHREG_EXTRACT)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Signal Encoding

auto

entity

module

model

–signal_encoding

auto

(SIGNAL_ENCODING)”

one-hot

signal

signal

net (in model)

 

one-hot

 

user

 

 

 

 

user

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“Slice (LUT-FF Pairs)

integer (range -

entity

module

model

–slice_utilization_ratio

integer (range -1 to

Utilization Ratio

1 to 100)

 

 

 

 

100)

(SLICE_UTILIZATION_RATI

integer% (range

 

 

 

 

integer% (range -1 to

O)”

-1 to 100)

 

 

 

 

100)

 

integer#

 

 

 

 

integer#

 

 

 

 

 

 

default: 100

 

 

 

 

 

 

 

“Slice (LUT-FF Pairs)

integer (range 0

entity

module

model

–slice_utilization_

integer (range 0 to

Utilization Ratio Delta

to 100)

 

 

 

ratio_maxmargin

100)

(SLICE_UTILIZATION_RATI

integer% (range

 

 

 

 

integer% (range 0 to

O_MAXMARGIN)”

0 to 100)

 

 

 

 

100)

 

integer#

 

 

 

 

integer#

 

 

 

 

 

 

default: 0

 

 

 

 

 

 

 

“Translate Off

N/A

local

local

N/A

N/A

N/A

(TRANSLATE_OFF) and

 

no target

no target

 

 

 

Translate On

 

 

 

 

 

 

(TRANSLATE_ON)”

 

 

 

 

 

 

 

 

 

 

 

 

 

“Convert Tristates to Logic

yes

entity

module

model

–tristate2logic

yes

(TRISTATE2LOGIC)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Use Carry Chain

yes

entity

module

model

–use_carry_chain

yes

(USE_CARRY_CHAIN)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

“Use Clock Enable

auto

entity

module

model

–use_clock_enable

auto

(USE_CLOCK_ENABLE)”

yes

signal

signal

net (in model)

 

yes

 

no

FF

FF

inst (in model)

 

no

 

 

instance

instance

 

 

default: auto

 

 

name

name

 

 

 

 

 

 

 

 

 

 

“Use DSP48 (USE_DSP48)”

auto

entity

module

model

–use_dsp48

auto

 

yes

signal

signal

net (in model)

 

yes

 

no

 

 

 

 

no

 

 

 

 

 

 

default: auto

 

 

 

 

 

 

 

“Use Synchronous Reset

auto

entity

module

model

–use_sync_reset

auto

(USE_SYNC_RESET)”

yes

signal

signal

net (in model)

 

yes

 

no

FF

FF

inst (in model)

 

no

 

 

instance

instance

 

 

default: auto

 

 

name

name

 

 

 

 

 

 

 

 

 

 

“Use Synchronous Set

auto

entity

module

model

–use_sync_set

auto

(USE_SYNC_SET)”

yes

signal

signal

net (in model)

 

yes

 

no

FF

FF

inst (in model)

 

no

 

 

instance

instance

 

 

default: auto

 

 

name

name

 

 

 

 

 

 

 

 

 

 

322

www.xilinx.com

XST User Guide

 

 

10.1

R

XST-Specific Non-Timing Options

Table 5-1: XST-Specific Non-Timing Options (Cont’d)

Constraint

Constraint

VHDL

Verilog

XCF

Command

Command

Name

Value

Target

Target

Target

Line

Value

 

 

 

 

 

 

 

“Use Low Skew Lines

yes

signal

signal

net (in model)

N/A

N/A

(USELOWSKEWLINES)”

no

 

 

 

 

 

 

 

 

 

 

 

 

“XOR Collapsing

yes

entity

module

model

–xor_collapse

yes

(XOR_COLLAPSE)”

no

signal

signal

net (in model)

 

no

 

 

 

 

 

 

default: yes

 

 

 

 

 

 

 

XST User Guide

www.xilinx.com

323

10.1

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