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

Chapter 5: XST Design Constraints

R

Constraints can be added as Verilog attributes (preferred) or Verilog meta comments.

Constraints can be specified in a separate constraint file.

Global synthesis settings are typically defined in Project Navigator > Process Properties > Synthesis Options, or from the command line. VHDL and Verilog attributes and Verilog meta comments can be inserted in your source code to specify different choices for individual parts of the design.

The local specification of a constraint overrides its global setting. Similarly, if a constraint is set both on a node (or an instance) and on the enclosing design unit, the former takes precedence for the considered node (or instance).

Follow these general rules:

Several constraints can be applied on signals. In this case, the constraint must be placed in the block where the signal is declared and used.

If a constraint can be applied on an entity (VHDL), then it can also be applied on the component declaration. The ability to apply constraints on components is not explicitly stated for each individual constraint, since it is a general XST rule.

Some third party synthesis tools allow you to apply constraints on architectures. XST allows constraints on architectures only for those third party constraints automatically supported by XST.

List of XST Design Constraints

Following is a list of XST Design Constraints, organized by type:

“XST General Constraints”

“XST HDL Constraints”

“XST FPGA Constraints (Non-Timing)”

“XST CPLD Constraints (Non-Timing)”

“XST Timing Constraints”

“XST Implementation Constraints”

“Third Party Constraints”

XST General Constraints

The following constraints are found in “XST General 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)”

306

www.xilinx.com

XST User Guide

 

 

10.1

R

List of XST Design Constraints

“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)”

“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)”

XST HDL Constraints

The following Hardware Description Language (HDL) constraints are found in “XST HDL 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 FPGA Constraints (Non-Timing)

The following constraints are found in “XST FPGA Constraints (Non-Timing).”

“Asynchronous to Synchronous (ASYNC_TO_SYNC)”

“Automatic BRAM Packing (AUTO_BRAM_PACKING)”

“BRAM Utilization Ratio (BRAM_UTILIZATION_RATIO)”

“Buffer Type (BUFFER_TYPE)”

“Extract BUFGCE (BUFGCE)”

XST User Guide

www.xilinx.com

307

10.1

Chapter 5: XST Design Constraints

R

“Cores Search Directories (–sd)”

“Decoder Extraction (DECODER_EXTRACT)”

“DSP Utilization Ratio (DSP_UTILIZATION_RATIO)”

“FSM Style (FSM_STYLE)”

“Power Reduction (POWER)”

“Read Cores (READ_CORES)”

“Resynthesize (RESYNTHESIZE)”

“Incremental Synthesis (INCREMENTAL_SYNTHESIS)”

“Logical Shifter Extraction (SHIFT_EXTRACT)”

“LUT Combining (LC)”

“Map Logic on BRAM (BRAM_MAP)”

“Max Fanout (MAX_FANOUT)”

“Move First Stage (MOVE_FIRST_STAGE)”

“Move Last Stage (MOVE_LAST_STAGE)”

“Multiplier Style (MULT_STYLE)”

“Mux Style (MUX_STYLE)”

“Number of Global Clock Buffers (–bufg)”

“Number of Regional Clock Buffers (–bufr)”

“Optimize Instantiated Primitives (OPTIMIZE_PRIMITIVES)”

“Pack I/O Registers Into IOBs (IOB)”

“Priority Encoder Extraction (PRIORITY_EXTRACT)”

“RAM Extraction (RAM_EXTRACT)”

“RAM Style (RAM_STYLE)”

“Reduce Control Sets (REDUCE_CONTROL_SETS)”

“Register Balancing (REGISTER_BALANCING)”

“Register Duplication (REGISTER_DUPLICATION)”

“ROM Extraction (ROM_EXTRACT)”

“ROM Style (ROM_STYLE)”

“Shift Register Extraction (SHREG_EXTRACT)”

“Slice Packing (–slice_packing)”

“Use Low Skew Lines (USELOWSKEWLINES)”

“XOR Collapsing (XOR_COLLAPSE)”

“Slice (LUT-FF Pairs) Utilization Ratio (SLICE_UTILIZATION_RATIO)”

“Slice (LUT-FF Pairs) Utilization Ratio Delta (SLICE_UTILIZATION_RATIO_MAXMARGIN)”

“Map Entity on a Single LUT (LUT_MAP)”

“Use Carry Chain (USE_CARRY_CHAIN)”

“Convert Tristates to Logic (TRISTATE2LOGIC)”

“Use Clock Enable (USE_CLOCK_ENABLE)”

“Use Synchronous Set (USE_SYNC_SET)”

308

www.xilinx.com

XST User Guide

 

 

10.1

R

List of XST Design Constraints

“Use Synchronous Reset (USE_SYNC_RESET)”

“Use DSP48 (USE_DSP48)”

XST CPLD Constraints (Non-Timing)

The following constraints are found in “XST CPLD Constraints (Non-Timing).”

“Clock Enable (–pld_ce)”

“Data Gate (DATA_GATE)”

“Macro Preserve (–pld_mp)”

“No Reduce (NOREDUCE)”

“WYSIWYG (–wysiwyg)”

“XOR Preserve (–pld_xp)”

XST Timing Constraints

The following constraints are found in “XST Timing Constraints.”

“Cross Clock Analysis (–cross_clock_analysis)”

“Write Timing Constraints (–write_timing_constraints)”

“Clock Signal (CLOCK_SIGNAL)”

“Global Optimization Goal (–glob_opt)”

“XCF Timing Constraint Support”

“Period (PERIOD)”

“Offset (OFFSET)”

“From-To (FROM-TO)”

“Timing Name (TNM)”

“Timing Name on a Net (TNM_NET)”

“Timegroup (TIMEGRP)”

“Timing Ignore (TIG)”

XST Implementation Constraints

The following constraints are found in “XST Implementation Constraints.”

“RLOC”

“NOREDUCE”

“PWR_MODE”

Third Party Constraints

For a discussion of Third Party Constraints and their XST equivalents, see “XST-Supported Third Party Constraints.”

XST User Guide

www.xilinx.com

309

10.1

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