1821
101 Innovation Drive San Jose, CA 95134 www.altera.com Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis QII5V1-10.0.0

Quartusii Handbook

Embed Size (px)

DESCRIPTION

Quartusii Handbook - consists all information about software

Citation preview

101 Innovation DriveSan Jose, CA 95134www.altera.comQuartus II Handbook Version 10.0Volume 1: Design and SynthesisQII5V1-10.0.0Copyright 2010 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all otherwords and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and othercountries. All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending ap-plications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty,but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use ofany information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version ofdevice specifications before relying on any published information and before placing orders for products or services. July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis ContentsChapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixSection I. Design FlowsChapter 1. Design Planning with the Quartus II SoftwareCreating Design Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Intellectual Property Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Device Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Device Migration Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Planning for Device Programming or Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5Early Power Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5Creating Powerplay EPE Spreadsheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Early Pin Planning and I/O Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Simultaneous Switching Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Selecting Third-Party EDA Tool Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Synthesis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Simulation Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Formal Verification Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10Planning for On-Chip Debugging Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10Design Practices and HDL Coding Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11Design Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11Recommended HDL Coding Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12Managing Metastability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12Planning for Hierarchical and Team-Based Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13Flat Compilation Flow with No Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13Incremental Compilation with Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14Planning Design Partitions and Floorplan Location Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15Fast Synthesis and Early Timing Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17Chapter 2. Quartus II Incremental Compilation for Hierarchical and Team-Based DesignDeciding Whether to Use an Incremental Compilation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Flat Compilation Flow with No Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Incremental Capabilities Available When Your Design Has No Partitions . . . . . . . . . . . . . . . . . . 2-2Incremental Compilation Flow with Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Team-Based Design Flows and IP Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Incremental Compilation Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Steps for Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Preparing a Design for Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Compiling a Design Using Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Common Design Scenarios Using Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Reducing Compilation Time When Changing Source Files for One Partition . . . . . . . . . . . . . . . . 2-9Optimizing a Timing-Critical Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9Preserving Results While Adding Additional Design Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10Debugging Incrementally with the SignalTap II Logic Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11Deciding which Design Blocks Should Be Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12iv ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Impact of Design Partitions on Design Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Design Partition Assignments Compared to Physical Placement Assignments . . . . . . . . . . . . . . . . 2-15Using Partitions with Third-Party Synthesis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15Synopsys Synplify Pro/Premier and Mentor Graphics Precision RTL Plus . . . . . . . . . . . . . . . . 2-15Other Synthesis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Creating Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Creating Design Partitions in the Project Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Creating Design Partitions In the Design Partitions Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Creating Design Partitions with the Design Partition Planner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Creating Design Partitions with Tcl Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18Automatically-generated Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18Assessing Partition Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18Partition Statistics Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Partition Timing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Incremental Compilation Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20Specifying the Level of Results Preservation for Subsequent Compilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21Netlist Type for Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22Fitter Preservation Level for Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23Where Are the Netlist Databases Saved? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24Deleting Netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24What Changes Initiate a Partitions Automatic Resynthesis? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25Resynthesis Due to Source Code Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26Forcing Use of the Compilation Netlist When a Partition has Changed . . . . . . . . . . . . . . . . . . . . 2-27Exporting Design Partitions from Separate Quartus II Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27Preparing the Top-Level Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28Empty Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29Project ManagementMaking the Top-Level Design Available to Other Designers . . . . . . . . . . . 2-29Distributing the Top-Level Quartus II Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29Generating Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31Exporting Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32Viewing the Contents of a Quartus II Exported Partition File (.qxp) . . . . . . . . . . . . . . . . . . . . . . . . . 2-32Integrating Partitions into the Top-Level Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33Integrating Assignments from the .qxp File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33Integrating Encrypted IP Cores From .qxp Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34Advanced Importing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34Team-Based Design Optimization and Third-Party IP Delivery Scenarios . . . . . . . . . . . . . . . . . . . . 2-36Using an Exported Partition to Send a Design without Including Source Files . . . . . . . . . . . . . . 2-36Creating Precompiled Design Blocks (or Hard-Wired Macros) for Reuse . . . . . . . . . . . . . . . . . . 2-37Designing in a Team-Based Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39Enabling Designers on a Team to Optimize Independently . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40Performing Design Iterations With Lower-Level Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43Creating a Design Floorplan with LogicLock Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45Creating and Manipulating LogicLock Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46Changing Partition Placement with LogicLock Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47Taking Advantage of the Early Timing Estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47Incremental Compilation Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47When Timing Performance May Not Be Preserved Exactly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48When Placement and Routing May Not Be Preserved Exactly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48Using Incremental Compilation with Quartus II Archive Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48Limitations for HardCopy Compilation and Migration Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49HardCopy ASIC Migration Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49HardCopy ASIC Stand-Alone Compilations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49Formal Verification Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50Contents v July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis SignalProbe Pins and Engineering Change Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50SignalTap II Logic Analyzer in Exported Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50External Logic Analyzer Interface in Exported Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51Assignments Made in HDL Source Code in Exported Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51Design Partition Script Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51Warnings About Extra Clocks Due to Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51Synopsys Design Constraint Files for the TimeQuest Timing Analyzer in Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51Wildcard Support in Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52Derived Clocks and PLLs in Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52Pin Assignments for GXB and LVDS Blocks in Design Partition Scripts . . . . . . . . . . . . . . . . . . . 2-52Virtual Pin Timing Assignments in Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53Top-Level Ports that Feed Multiple Lower-Level Pins in Design Partition Scripts . . . . . . . . . . . 2-53Restrictions on Megafunction Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53Register Packing and Partition Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-54I/O Register Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-54Scripting Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55Preparing a Design for Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55Creating Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55Setting Properties of Design Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56Creating Floorplan Location AssignmentsExcluding or Filtering Certain Device Elements (Such as RAM or DSP Blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-57Generating Design Partition Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-57Command Line Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-58Exporting a Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-58Importing a Partition into the Top-Level Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-59Makefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-59Scripting and Command-Line Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-60Reducing Compilation Time When Changing a Source File for One PartitionCommand-Line Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-60Optimizing the Placement for a Timing-Critical Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-61Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-61Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-62Chapter 3. Quartus II Support for HardCopy Series DevicesHardCopy Series Design Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1Quartus II Features for HardCopy Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2HardCopy Development Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2Designing the FPGA First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Designing the HardCopy Device First . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5HardCopy Utilities Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6Companion Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Compiling the HardCopy Companion Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Comparing HardCopy and FPGA Companion Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Generating a HardCopy Handoff Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Archiving HardCopy Handoff Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9HardCopy Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10HardCopy Companion Device Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10HardCopy Device Resource Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11HardCopy Recommended Settings in the Quartus II Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12Limit DSP and RAM to HardCopy Device Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13Enabling Design Assistant to Run During Compile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13Timing Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13Constraints for Clock Effect Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13vi ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Quartus II Software Features Supported for HardCopy Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15Physical Synthesis Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15LogicLock Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15PowerPlay Power Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16HardCopy Design Readiness Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16Turning the HardCopy Design Readiness Check On and Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16Setting Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16Global Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17Instance Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17Operating Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17I/O Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17Input Pin Placement for Global and Regional Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18PLL Usage Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18PLL Real-Time Reconfigurable Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18PLL Clock Outputs Driving Multiple Clock Network Types Check . . . . . . . . . . . . . . . . . . . . . . . 3-18PLL with No Compensation Mode Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18PLL with Normal or Source Synchronous Mode Feeding Output Pin Check . . . . . . . . . . . . . . . 3-19RAM Usage Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19Initialized Memory Dependency Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19ALTGX Usage Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Performing ECOs with Quartus II Engineering Change Management with the Chip Planner . . . . . 3-20Migrating One-to-One Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21Migrating Changes that Must be Implemented Differently . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Changes that Cannot be Migrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Overall Migration Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Preparing the Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Applying ECO Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Formal Verification of FPGA and HardCopy Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24HardCopy Floorplan View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Chapter 4. Quartus II Design Separation FlowDesign Flow Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2Creating Design Partitions for the Design Separation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5Merging PLL Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Avoiding Child Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Creating a Design Floorplan with Secured Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6Using Security Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7Using Secured Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9Adding I/O Pins as Members of Secured Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10Using Security Routing Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10Making Design Separation Flow Location Assignments in the Chip Planner . . . . . . . . . . . . . . . . . 4-10Understanding Fencing Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11Creating Non-Rectangular Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14Guidelines for the Relative Placement of Secure LogicLock Regions . . . . . . . . . . . . . . . . . . . . . . 4-15Creating a Complete Floorplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15Ensuring Routability Between Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17Ensuring Planarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18Placing Physical Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20Making Signal Security Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20Understanding Signal Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21Working with Global Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22Contents vii July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis Assigning I/O Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26Routing Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27Number of Signals in Routing Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29Application Example: Modify a Fitter-Generated Floorplan for the Design Separation Flow . . . . . . 4-32Report Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35Secured LogicLock Region Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35Security Routing Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35Secured LogicLock Region Inputs and Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Security I/O Bank Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Quartus Settings File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36LL_SECURITY_ROUTING_INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36LL_MEMBER_OF_SECURITY_ROUTING_INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37LL_SIGNAL_SECURITY_LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37Section II. Design GuidelinesChapter 5. Design Recommendations for Altera Devices and the Quartus II Design AssistantSynchronous FPGA Design Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Fundamentals of Synchronous Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2Hazards of Asynchronous Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Combinational Logic Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4Combinational Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5Delay Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5Pulse Generators and Multivibrators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6Clocking Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7Internally Generated Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8Divided Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8Ripple Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8Multiplexed Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9Gated Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10Synchronous Clock Enables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11Recommended Clock-Gating Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12Metastability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13Checking Design Violations With the Design Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13Quartus II Design Flow with the Design Assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13Enabling and Disabling Design Assistant Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15Viewing Design Assistant Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15Custom Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15XML File Format for Custom Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16Specifying the Path to the Custom Rules File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17Custom Rules Coding Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18Targeting Clock and Register-Control Architectural Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22Clock Network Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22Reset Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23Synchronous Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23Asynchronous Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23Synchronized Asynchronous Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24Register Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26viii ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Targeting Embedded RAM Architectural Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27Chapter 6. Recommended HDL Coding StylesQuartus II Language Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1Using Altera Megafunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2Instantiating Altera Megafunctions in HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3Instantiating Megafunctions Using the MegaWizard Plug-In Manager . . . . . . . . . . . . . . . . . . . . . . . 6-3Creating a Netlist File for Other Synthesis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4Instantiating Megafunctions Using the Port and Parameter Definition . . . . . . . . . . . . . . . . . . . . . . . . 6-5Inferring Multiplier and DSP Functions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5Inferring Multipliers from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5Inferring Multiply-Accumulators and Multiply-Adders from HDL Code . . . . . . . . . . . . . . . . . . . . . 6-7Inferring Memory Functions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12Inferring RAM functions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13Use Synchronous Memory Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13Avoid Unsupported Reset and Control Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14Check Read-During-Write Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16Controlling Inference and Implementation in Device RAM Blocks . . . . . . . . . . . . . . . . . . . . . . . . 6-17Single-Clock Synchronous RAM with Old Data Read-During-Write Behavior . . . . . . . . . . . . . . 6-18Single-Clock Synchronous RAM with New Data Read-During-Write Behavior . . . . . . . . . . . . . 6-19Simple Dual-Port, Dual-Clock Synchronous RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21True Dual-Port Synchronous RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23Mixed-Width Dual-Port RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26RAM with Byte-Enable Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29Specifying Initial Memory Contents at Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31Inferring ROM Functions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33Shift RegistersInferring the ALTSHIFT_TAPS Megafunction from HDL Code . . . . . . . . . . . . . . 6-37Simple Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38Shift Register with Evenly Spaced Taps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-39Coding Guidelines for Registers and Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-41Register Power-Up Values in Altera Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-41Secondary Register Control Signals Such as Clear and Clock Enable . . . . . . . . . . . . . . . . . . . . . . . . 6-43Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-47Unintentional Latch Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-47Inferring Latches Correctly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-48General Coding Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-51Tri-State Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-51Clock Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52Adder Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-55Architectures with 4-Input LUTs in Logic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56Architectures with 6-Input LUTs in Adaptive Logic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-56State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-58Verilog HDL State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-59VHDL State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-63Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65Quartus II Software Option for Multiplexer Restructuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65Multiplexer Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66Implicit Defaults in If Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-68Default or Others Case Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-68Cyclic Redundancy Check Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-68If Performance is Important, Optimize for Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69Use Separate CRC Blocks Instead of Cascaded Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69Contents ix July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis Use Separate CRC Blocks Instead of Allowing Blocks to Merge . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69Take Advantage of Latency if Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-70Save Power by Disabling CRC Blocks When Not in Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-70Use the Device Synchronous Load (sload) Signal to Initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-70Comparators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-70Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-71Designing with Low-Level Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-72Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-72Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-73Chapter 7. Managing Metastability with the Quartus II SoftwareIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1Metastability Analysis in the Quartus II Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2Synchronization Register Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2Identifying Synchronizers for Metastability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4How Timing Constraints Affect Synchronizer Identification and Metastability Analysis . . . . . . . . 7-4Metastability and MTBF Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5Metastability Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5MTBF Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5Synchronizer Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6Synchronizer Chain Statistics Report in the Timing Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7Synchronizer Data Toggle Rate in MTBF Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7MTBF Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Synchronization Register Chain Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8Reducing Metastability Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9Apply Complete System-Centric Timing Constraints for the Timing Analyzer . . . . . . . . . . . . . . . . 7-9Force the Identification of Synchronization Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9Set the Synchronizer Data Toggle Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Optimize Metastability During Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Increase the Length of Synchronizers to Protect and Optimize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Set Fitter Effort to Standard Fit instead of Auto Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Increase the Number of Stages Used in Synchronizers, If Possible . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10Select a Faster Speed Grade Device, if Possible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11Scripting Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11Identifying Synchronizers for Metastability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11Synchronizer Data Toggle Rate in MTBF Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12report_metastability and Tcl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12MTBF Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12Synchronization Register Chain Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13Chapter 8. Best Practices for Incremental Compilation Partitions and Floorplan AssignmentsOverview: Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Recommendations for the Netlist Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2Incremental Design Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3Project Management in Team-Based Design Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4Why Plan Partitions and Floorplan Assignments for Incremental Compilation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5Partition Boundaries and Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6General Partitioning Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7Plan Design Hierarchy and Source Design Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8Using Partitions with Third-Party Synthesis Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8x ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Partition Design by Functionality and Block Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9Partition Design by Clock Domain and Timing Criticality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9Consider What Is Changing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9Design Partition Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10Register Partition Inputs and Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10Minimize Cross-Partition-Boundary I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11Avoid the Need for Logic Optimization Across Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12Keep Logic in the Same Partition for Optimization and Merging . . . . . . . . . . . . . . . . . . . . . . . . . 8-13Keep Constants in the Same Partition as Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-14Avoid Unconnected Partition I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15Avoid Signals That Drive Multiple Partition I/O or Connect I/O Together . . . . . . . . . . . . . . . . 8-16Invert Clocks in Destination Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17Connect I/O Pin Directly to I/O Register for Packing Across Partition Boundaries . . . . . . . . . 8-17Do Not Use Internal Tri-States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21Include All Tri-State and Enable Logic in the Same Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22Include Bidirectional I/O Registers in the Same Partition (For Older Device Families) . . . . . . 8-23Summary of Guidelines Related to Logic Optimization Across Partitions . . . . . . . . . . . . . . . . . . 8-23Consider a Cascaded Reset Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-24Design Partition Guidelines for Third-Party IP Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25Allocate Logic Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26Allocate Global Routing Signals and Clock Networks if Required . . . . . . . . . . . . . . . . . . . . . . . . . . 8-27Assign Virtual Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-28Perform Timing Budgeting if Required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29Drive Clocks Directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29Recreate PLLs for Lower-Level Partitions if Required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30Checking Partition Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31Incremental Compilation Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31Design Partition Planner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31Viewing Design Partition Planner and Floorplan Side-by-Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33Partition Statistics Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34Report Partition Timing in the TimeQuest Timing Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35Check if Partition Assignments Impact the Quality of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35Including SDC Constraints from Lower-Level Partitions for Third-Party IP Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36Creating an .sdc with Project-Wide Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-37Creating an .sdc with Partition-Specific Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38Consolidating the .sdc in the Top-Level Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39Introduction to Design Floorplans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40The Difference between Logical Partitions and Physical Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40Why Create a Floorplan? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41When to Create a Floorplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42Early Floorplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-42Late Floorplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43Design Floorplan Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43Assigning Partitions to LogicLock Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44How to Size and Place Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-44Modifying Region Size and Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45I/O Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46LogicLock Resource Exclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46Creating Non-Rectangular Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-47Checking Floorplan Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48Incremental Compilation Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48LogicLock Region Resource Estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48LogicLock Region Properties Statistics Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48Contents xi July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis Locate the Quartus II TimeQuest Timing Analyzer Path in the Chip Planner . . . . . . . . . . . . . . . . . 8-48Inter-Region Connection Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48Routing Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49Ensure Floorplan Assignments Do Not Significantly Impact Quality of Results . . . . . . . . . . . . . . . 8-49Recommended Design Flows and Application Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-49Create a Floorplan for Major Design Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-50Create a Floorplan Assignment for One Design Block with Difficult Timing . . . . . . . . . . . . . . . . . . 8-50Create a Floorplan as the Project Lead in a Team-Based Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53Section III. SynthesisChapter 9. Quartus II Integrated SynthesisDesign Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1Language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3Verilog HDL Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4Verilog-2001 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5SystemVerilog Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5Initial Constructs and Memory System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7Verilog HDL Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7VHDL Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8VHDL-2008 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10VHDL Standard Libraries and Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10VHDL wait Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10AHDL Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11Schematic Design Entry Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11State Machine Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11Design Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12Specifying a Destination Library Name in the Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . 9-13Specifying a Destination Library Name in the Quartus II Settings File or Using Tcl . . . . . . . . . 9-13Specifying a Destination Library Name in a VHDL File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13Mapping a VHDL Instance to an Entity in a Specific Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-14Using Parameters/Generics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-16Setting Default Parameter Values and BDF Instance Parameter Values . . . . . . . . . . . . . . . . . . . . 9-16Passing Parameters Between Two Design Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20Partitions for Preserving Hierarchical Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20Parallel Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-20Quartus II Exported Partition File as Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-21Quartus II Synthesis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-22Setting Synthesis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24Analysis & Synthesis Settings Page of the Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24Quartus II Logic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24Synthesis Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25Synthesis Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27Optimization Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28Auto Gated Clock Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-28Timing-Driven Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-30SDC Constraint Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31PowerPlay Power Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-31Limiting Resource Usage in Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-32Restructure Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-34xii ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Synthesis Effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35Synthesis Seed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-35State Machine Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-36Manually Specifying State Assignments Using the syn_encoding Attribute . . . . . . . . . . . . . . . . . . 9-37Manually Specifying Enumerated Types Using the enum_encoding Attribute . . . . . . . . . . . . . . . . 9-38Safe State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-39Power-Up Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-41Inferred Power-Up Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42Power-Up Dont Care . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42Remove Duplicate Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-42Preserve Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-43Disable Register Merging/Dont Merge Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-44Noprune Synthesis Attribute/Preserve Fan-out Free Register Node . . . . . . . . . . . . . . . . . . . . . . . . 9-44Keep Combinational Node/Implement as Output of Logic Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-45Disabling Synthesis Netlist Optimizations with dont_retime Attribute . . . . . . . . . . . . . . . . . . . . . . 9-46Disabling Synthesis Netlist Optimizations with dont_replicate Attribute . . . . . . . . . . . . . . . . . . . . 9-47Maximum Fan-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-48Controlling Clock Enable Signals with Auto Clock Enable Replacement and direct_enable . . . . . 9-49Inferring Multiplier, DSP, and Memory Functions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . 9-50Multiply-Accumulators and Multiply-Adders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-50Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-50RAM and ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-51Resource Aware RAM, ROM, and Shift-Register Inference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52RAM to Logic Cell Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-52RAM Style and ROM Stylefor Inferred Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53Turning Off the Add Pass-Through Logic to Inferred RAMs no_rw_check Attribute . . . . . . . . . . 9-54RAM Initialization Filefor Inferred Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57Multiplier Stylefor Inferred Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58Full Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60Parallel Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-61Translate Off and On / Synthesis Off and On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-62Ignore translate_off and synthesis_off Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-63Read Comments as HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-63Use I/O Flipflops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-64Specifying Pin Locations with chip_pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-66Using altera_attribute to Set Quartus II Logic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-67Analyzing Synthesis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70Analysis & Synthesis Section of the Compilation Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70Project Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70Analyzing and Controlling Synthesis Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70Quartus II Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70VHDL and Verilog HDL Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-71Setting the HDL Message Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-72Enabling or Disabling Specific HDL Messages by Module/Entity . . . . . . . . . . . . . . . . . . . . . . . . 9-73Node-Naming Conventions in Quartus II Integrated Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-74Hierarchical Node-Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-75Node-Naming Conventions for Registers (DFF or D Flipflop Atoms) . . . . . . . . . . . . . . . . . . . . . . . . 9-75Register Changes During Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-76Synthesis and Fitting Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-77State Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-77Inferred Adder-Subtractors, Shift Registers, Memory, and DSP Functions . . . . . . . . . . . . . . . . . 9-78Packed Input and Output Registers of RAM and DSP Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-78Preserving Register Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-78Node-Naming Conventions for Combinational Logic Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-79Contents xiii July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis Preserving Combinational Logic Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-80Scripting Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-80Adding an HDL File to a Project and Setting the HDL Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82Assigning a Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-83Creating Design Partitions for Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-84Quartus II Synthesis Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-84Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-87Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-88Chapter 10. Synopsys Synplify SupportAltera Device Family Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2Output Netlist File Name and Result Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5Synplify Optimization Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6Using Synplify Premier to Optimize Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6Implementations in Synplify Pro or Premier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7Timing-Driven Synthesis Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7Clock Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7Multiple Clock Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8Input and Output Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8Multicycle Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8False Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8FSM Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9FSM Explorer in Synplify Pro and Premier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Optimization Attributes and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Retiming in Synplify Pro and Premier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Maximum Fan-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Preserving Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10Register Packing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11Resource Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11Preserving Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11Register Input and Output Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11syn_direct_enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12Altera-Specific Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12altera_chip_pin_lc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13altera_implement_in_esb or altera_implement_in_eab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13altera_io_powerup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13altera_io_opendrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-13Exporting Designs to the Quartus II Software Using NativeLink Integration . . . . . . . . . . . . . . . . . . . 10-14Running the Quartus II Software from within the Synplify Software . . . . . . . . . . . . . . . . . . . . . . . 10-14Using the Quartus II Software to Run the Synplify Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15Running the Quartus II Software Manually Using the Synplify-Generated Tcl Script . . . . . . . . . 10-16Passing TimeQuest SDC Timing Constraints to the Quartus II Software in the .scf File . . . . . . . 10-16Individual Clocks and Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17Input and Output Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17Multicycle Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17False Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-17Passing Constraints to the Quartus II Software using Tcl Commands . . . . . . . . . . . . . . . . . . . . . . 10-17Global Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18Default or Global Clock Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18Individual Clocks and Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18Virtual Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19Route Delay Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19xiv ContentsQuartus II Handbook Version 10.0 Volume 1: Design and Synthesis July 2010 Altera Corporation Multiple Clocks in Different Clock Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-19Multiple Clocks with Different Frequencies in the Same Clock Group . . . . . . . . . . . . . . . . . . . 10-20Inter-Clock RelationshipsDelays and False Paths Between Clocks . . . . . . . . . . . . . . . . . . . . . 10-21False Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21Multicycle Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-22Maximum Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23Guidelines for Altera Megafunctions and Architecture-Specific Features . . . . . . . . . . . . . . . . . . . . . . 10-25Instantiating Altera Megafunctions Using the MegaWizard Plug-In Manager . . . . . . . . . . . . . . . 10-26Using MegaWizard Plug-In Manager-Generated Verilog HDL Files for Megafunction Instantiation 10-27Using MegaWizard Plug-In Manager-Generated VHDL Files for Megafunction Instantiation . . . . 10-27Changing Synplifys Default Behavior for Instantiated Altera Megafunctions . . . . . . . . . . . . . 10-27Instantiating Intellectual Property Using the MegaWizard Plug-In Manager and IP Toolbench . . . 10-28Using Generated Verilog HDL Files for Black Box IP Function Instantiation . . . . . . . . . . . . . . 10-28Using Generated VHDL Files for Black Box IP Function Instantiation . . . . . . . . . . . . . . . . . . . . 10-29Other Synplify Software Attributes for Creating Black Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-29Including Files for Quartus II Placement and Routing Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30Inferring Altera Megafunctions from HDL Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-31Inferring Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-31Inferring RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-33RAM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-35Inferring ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-36Inferring Shift Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-36Incremental Compilation and Block-Based Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-37Creating a Design with Separate Netlist Files for Incremental Compilation . . . . . . . . . . . . . . . . . 10-38Using MultiPoint Synthesis with Incremental Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-39Set Compile Points and Create Constraint Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-39Additional Considerations for Compile Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-41Creating a Quartus II Project for Compile Points and Multiple .vqm Files . . . . . . . . . . . . . . . . 10-41Creating Multiple .vqm Files for Incremental Compilation Using Separate Synplify Projects . . 10-43Manually Creating Multiple .vqm Files Using Black Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-43Creating a Quartus II Project for Multiple .vqm Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-47Performing Incremental Compilation in the Quartus II Software . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-49Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-50Chapter 11. Mentor Graphics Precision Synthesis SupportAltera Device Family Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2Creating and Compiling a Project in the Precision Synthesis Software . . . . . . . . . . . . . . . . . . . . . . . . . 11-5Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5Compiling the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5Mapping the Precision Synthesis Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6Setting Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-6Setting Mapping Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7Assigning Pin Numbers and I/O Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7Assigning I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8Disabling I/O Pad Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9Preventing the Precision Synthesis Software from Adding I/O Pads . . . . . . . . . . . . . . . . . . . . . . 11-9Preventing the Precision Synthesis Software from Adding an I/O Pad on an Individual Pin . 11-9Controlling Fan-Out on Data Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10Synthesizing the Design and Evaluating the Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10Contents xv July 2010 Altera Corporation Quartus II Handbook Version 10.0 Volume 1: Design and Synthesis Obtaining Accurate Logic Utilization and Timing Analysis Reports . . . . . . . . . . . . . . . . . . . . . . . . 11-10Exporting Designs to the Quartus II Software Using NativeLink Integration . . . . . . . . . . . . . . . . . . . 11-11Running the Quartus II Software from within the Precision Synthesis Software . . . . . . . . . . . . . . 11-11Running the Quartus II Software Manually Using the Precision Synthesis-Generated Tcl Script . . . . 11-12Using the Quartus II Software to Run the Precision Synthesis Software . . . . . . . . . . . . . . . . . . . . . 11-12Passing Constraints to the Quartus II Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13create_clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13set_input_delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .