Timing Closure with the Quartus II Software July 2002, ver. 1.0 Introduction Application Note 198 With FPGA designs surpassing the multimillion-gate mark, designers need new tools that better address timing closure issues and meet system performance. The Altera® Quartus® II software offers a fully integrated timing closure flow that allows more control over how a design is synthesized and placed-and-routed. New tools are also available to help analyze and efficiently make assignments to designs. This application note explains the timing closure flow and the features that help achieve timing closure with the Quartus II software version 2.1. This application note is intended for designers who have a basic understanding of the Quartus II software and the LogicLock™ design methodology. The following topics will be covered: ■ ■ ■ ■ Timing Closure Flow Timing Closure Flow Netlist Optimization Design Analysis Using the Timing Closure Floorplan Timing Closure Assignments A traditional flow for designs using FPGA tools is to enter constraints, synthesize your design, and then place-and-route it. The Quartus II software introduces features that allow you to more effectively close timing, including netlist optimization, a new timing closure floorplan, and more powerful user assignments. The Quartus II timing closure flow also offers more control over the synthesis and place-and-route fitting steps. Also, fitter information can be used for more efficient synthesis. Figure 1 shows the Quartus II timing closure flow diagram. 1 f Altera Corporation AN-198-1.0 It is important to understand the design and apply appropriate assignments such that performance is increased. It is possible to decrease performance if assignments are applied without full understanding of the design. The timing closure flow can be applied to an overall design or to modules of a design that can be integrated later. For more information on a blockbased design approach, refer to AN 161: Using the LogicLock Methodology in the Quartus II Design Software. 1 AN 198: Timing Closure with the Quartus II Software Figure 1. Timing Closure Flow Diagram Compile Design Performance Met? Yes Success! No Netlist Optimization Performance Met? Yes Success! No No Analysis Using Timing Closure Floorplan Make Assignments and Compile No Performance Met? 2 Yes Success! Altera Corporation AN 198: Timing Closure with the Quartus II Software Netlist Optimization The Quartus II software includes netlist optimization options to further optimize your design after synthesis and before place-and-route. These options can be applied regardless of the synthesis tool used. Depending on your design, some options may have more of an effect than others. Netlist optimization options can be applied in multiple combinations to provide optimal results. Netlist Optimization Options The three netlist optimization options currently offered are: ■ ■ ■ WYSIWYG primitive resynthesis Gate-level register retiming Logic element duplication. WYSIWYG Primitive Resynthesis The WYSIWYG primitive resynthesis option un-maps the logic elements (LEs) in an atom netlist to gates and then re-maps the gates back to Alteraspecific primitives. This feature allows the Quartus II software to use different techniques specific to a device architecture during the remapping process. Figure 2 shows the Quartus II software steps for this option. 1 An atom netlist is file that specifies the design as Altera-specific primitives and is most often generated by a third-party tool. An example of an atom netlist file is an EDIF Input File (.edf) or a Verilog Quartus Mapped (.vqm) file. Figure 2. WYSIWYG Primitive Resynthesis Un-Map ATOM Netlist Re-Map Place & Route Altera Corporation 3 AN 198: Timing Closure with the Quartus II Software The WYSIWYG primitive resynthesis option can be used with the Stratix™ or the APEX™ device families. This option is not applicable if native Quartus II synthesis is used. With Quartus II synthesis, you do not need to un-map Altera primitives; they are already mapped during the synthesis step using the techniques that are used with the WYSIWYG primitive resynthesis option. The WYSIWYG primitive resynthesis option will only un-map and remap logic cell (also referred to as LCELL or LE) primitives. Memory primitives, DSP primitives, and logic cells that are in carry chains will not be touched. Any nodes or entities that have the “Disabled Advanced Netlist Optimizations” option turned on will not be affected during WYSIWYG primitive resynthesis. This option can be applied through Assignment Organizer > Options for Individual Nodes & Entities (Tools menu). 1 When the WYSIWYG primitive resynthesis option is turned on, the node names for primitives in the design can change. Primitive node names are specified during synthesis and are in the atom netlist. When this option is applied, node names may change as primitives are removed and created. This must be considered if you are using a LogicLock or verification flow that requires fixed node names. Any compiler-specific directives that are used in third-party synthesis tools will be ignored if the WYSIWYG primitive resynthesis option is turned on. An example of a compiler-specific directive is not to remove redundant logic. To turn on the WYSIWYG primitive resynthesis option, choose Compiler Settings (Processing Menu) and click the Netlist Optimization tab. Under Synthesis optimizations, turn on the “Perform WYSIWYG primitive resynthesis” check box. See Figure 3. 4 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 3. Perform WYWIWYG Primitive Resynthesis Option Gate-Level Register Retiming The gate-level register retiming option enables movement of registers across combinational logic to balance timing, allowing the Quartus II software to trade-off the delay between critical paths and non-critical paths. The functionality of your design will not change. If any registers in your design have the “Power-Up Don’t Care“ logic option assigned, the values of registers during power-up may change. Registers that are explicitly assigned power-up values will not be combined with registers that have been explicitly assigned other values. Figure 4 shows an example of gate-level register retiming. Altera Corporation 5 AN 198: Timing Closure with the Quartus II Software Figure 4. Gate-Level Register Retiming Diagram D Q 10 ns D Q 5 ns D Q D Q 7 ns D Q 8 ns D Q Register retiming makes changes at the gate level. If you are using an atom netlist from a third-party tool, you must also use the WYSIWYG primitive resynthesis option to un-map primitives to gates (so that register retiming can be performed) and then to re-map gates to Altera primitives. If your design uses native synthesis, retiming will occur during synthesis before the mapping to Altera primitives. The design flows for the case of native Quartus II synthesis and a third-party atom netlist are shown in Figure 5. Figure 5. Flows for Gate-Level Register Retiming Native Quartus II Synthesis Gate Synthesis Retiming Technology Map Place & Route Remap Place & Route Third-Pary ATOM Netlist Unmap Retiming The gate-level register retiming options will only move registers across combinational gates. Registers will not be moved across LCELL primitives instantiated by the user, memory blocks, DSP blocks, or carry/cascade chains that you have instantiated. Carry/cascade chains are always left intact when using register retiming. 6 Altera Corporation AN 198: Timing Closure with the Quartus II Software One of the benefits of register retiming is the ability to move registers from the inputs of a combinational logic block to the output, potentially combining the registers. In this case, some registers are removed, and one is created at the output. This case is shown in Figure 6. Figure 6. Combining Registers with Register Retiming Registers can only be moved and combined in cases like this if the following conditions are met: ■ ■ ■ ■ All registers have the same clock domain All registers have the same clock enable All registers have asynchronous control signals that are active under the same conditions Only one register has an asynchronous load other than VCC or GND It is always possible to create multiple registers at the input of a combinational block from a register at the output of a combinational block. In this case, the new registers will have the same clock and clock enable. The asynchronous control signals and power-up level will be derived from previous registers to provide equivalent functionality. The synthesis section of the Compilation Report provides a list of registers that were removed and created during register retiming. See Figure 7. Altera Corporation 7 AN 198: Timing Closure with the Quartus II Software Figure 7. Synthesis Section of Compilation Report You can apply the “Disabled Advanced Netlist Optimizations” option to registers such that they are never moved during register retiming. This option can be applied either to individual registers or entities in the design and is applied through the Assignment Organizer (Tools menu). The following registers will never be moved during register retiming: ■ ■ ■ ■ ■ ■ ■ Registers that have any timing constraint other than global fMAX, tSU or tCO Registers that feed asynchronous control signals on another register Registers feeding the clock of another register Registers feeding a register in another clock domain Registers that are fed by a register in another clock domain Registers connected to serializer/deserializer (SERDES) Registers that have the “Disabled Advanced Netlist Optimizations” option turned on 1 8 When the gate-level register retiming option is turned on, the node names for primitives in the design can change. Primitive node names are specified during synthesis and are in the atom netlist. When this option is applied, node names may change as primitives are removed and created. This must be considered if you are using a LogicLock or verification flow that requires fixed node names. Altera Corporation AN 198: Timing Closure with the Quartus II Software To turn on the gate-level register retiming option, choose Compiler Settings (Processing menu) and click the Netlist Optimization tab. Under Synthesis optimizations, turn on “Perform gate-level register retiming.” Figure 8. Perform Gate-Level Register Retiming Option Allow Register Retiming to Trade-Off Tsu/Tco with Fmax Option The “Allow register retiming to trade off Tsu/Tco with Fmax” option in the Compiler Settings dialog box (Processing menu) determines whether it is possible to increase fMAX at the expense of tSU or tCO times. This option will affect the gate-level register retiming option. When both the “Perform gate-level register retiming” and the “Allow register retiming to trade off Tsu/Tco with Fmax” options are turned on, retiming could affect registers that feed and are fed by I/O pins. If it is not turned on, the retiming option will not touch any registers that directly connect to I/O pins. Altera Corporation 9 AN 198: Timing Closure with the Quartus II Software Logic Element Duplication The logic element duplication option allows LEs to be duplicated based on fitter placement information. An LE that fans out to multiple locations can be duplicated to reduce the delay of one path without degrading the delay of another. After place-and-route, the delay and placement information is used to determine whether or not logic element duplication may decrease the delays of critical paths. Figure 9 shows an example of logic element duplication. Figure 9. Logic Element Duplication Only combinational logic, in the form of look-up tables (LUTs), will be duplicated with this option; registers will not be duplicated. If the LE is packed, the LUT portion of the LE can be duplicated. 1 Packed LEs consist of an LUT that does not feed the register in the LE. Allowing register packing can significantly reduce the area of your design. Logic element duplication will not be performed on LEs that: ■ ■ ■ Are part of a carry/cascade chain Are considered virtual I/O pins (For more information on virtual I/O pins, refer to AN 161: Using the LogicLock Methodology in the Quartus II Design Software.) Have the “Disabled Advanced Netlist Optimizations” option turned on 1 10 When the logic element duplication option is turned on, the node names for primitives in the design can change. Primitive node names are specified during synthesis and are in the atom netlist. When this option is applied, node names may change as primitives are removed and created. This must be considered if you are using a LogicLock or verification flow that requires fixed node names. Altera Corporation AN 198: Timing Closure with the Quartus II Software To turn on the logic element duplication option, choose Compiler Settings (Processing menu) and select the Netlist Optimization tab. Under Fitter optimizations, turn on “Automatically duplicate logic elements” (see Figure 10). Figure 10. Logic Element Duplication Option Applying Netlist Optimization Options To obtain optimal results when using netlist optimization options, try varying the options applied to find the best results. If the combination of options that provide the best results still does not meet performance, the configurations below you can use as a starting point for design analysis. By default, all options are off. Altera Corporation 11 AN 198: Timing Closure with the Quartus II Software If you are using a third-party tool, try the following combinations: ■ ■ ■ ■ ■ No netlist optimization options turned on “Perform WYSIWYG primitive resynthesis” option turned on Both the “Perform WYSIWYG primitive resynthesis” option and the “Perform gate-level register retiming” option turned on “Automatically duplicate logic elements” option turned on All three netlist optimization options turned on If you are using native Quartus II synthesis, try the following combinations: ■ ■ ■ ■ No netlist optimization options turned on “Perform gate-level register retiming” option turned on “Automatically duplicate logic elements” option turned on Both the “Perform WYSIWYG primitive resynthesis” option and the “Perform gate-level register retiming” option turned on Netlist optimization options can have various effects on your designs; designs that are very well coded or have already been restructured to balance critical paths may not see a noticeable difference in performance. If you are using any Quartus II netlist optimization options, you can generate a Quartus II Verilog Quartus Mapped file (.vqm) to preserve the changes that were made to your original netlist. This step is necessary to preserve node names if you wish to back-annotate your design in the future. For more information on back-annotating, refer to “Timing Closure Assignments” on page 24. Design Analysis Using the Timing Closure Floorplan 12 The Quartus II software has introduced a timing closure floorplan to help you better analyze designs. This new floorplan, used in conjunction with traditional Quartus II timing analysis features, provides a powerful method to perform design analysis. Floorplan Views The new timing closure floorplan allows you to customize how to view your design. The Field View shows color-coded resources and allows for an uncluttered look and feel. Figure 11 shows a Stratix device with the new Field View. Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 11. Field View of a Stratix Device M4K Blocks DSP Blocks M512 Blocks M-RAM I/O Blocks You can also view your design in the timing closure floorplan with the traditional Interior Cells, Package Top, and Package Bottom views. Use the View menu to change the floorplan view. When in the field view, you can view the details of a resource by selecting the resource, right-clicking, then pressing Show Details. To hide the details, select all the resources, right click, and press Hide Details. (See Figure 12.) Altera Corporation 13 AN 198: Timing Closure with the Quartus II Software Figure 12. Show Details & Hide Details of an LAB in Field View Viewing Assignments With the timing closure floorplan, you can view both user assignments and fitter placements at the same time. User assignments refer to all location and LogicLock assignments. To see user assignments, click the user assignments icon from the floorplan toolbar or choose Assignments (View menu) and select Show User Assignments. (See Figure 13.) 14 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 13. User Assignments Fitter placements refer to where the Quartus II software placed all nodes after the last compilation. To see fitter placements, click the fitter assignments icon from the floorplan toolbar or choose Assignments (View menu) and select Show Fitter Placements. (See Figure 14.) Altera Corporation 15 AN 198: Timing Closure with the Quartus II Software Figure 14. Fitter Placements Viewing Critical Paths The Viewing Critical Path feature displays paths in the floorplan by criticality as found in Figure 15. You can also view a percentage of critical paths or specify how many paths you wish to see. You can also choose to see paths for all clock domains or a specific clock domain. The paths that can be displayed are: ■ ■ ■ ■ 16 Pin-to-pin (tPD) Pin-to-register (tSU) Register-to-pin (tCO) Register-to-register (fMAX) Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 15. Critical Paths To view critical paths in the floorplan, select the icon or go to Routing > Critical Path Settings (View menu). To set the criteria for the critical paths you wish to view, click the view critical paths icon or choose Routing > Critical Path Settings (View menu). Figure 16 shows the Critical Paths Settings window. Altera Corporation 17 AN 198: Timing Closure with the Quartus II Software Figure 16. Critical Paths Settings Window The critical paths feature is extremely useful in determining the criticality of nodes based on node placement. There are a number of options to view the details of critical paths. To see the delay of the critical paths, select the critical paths icon or choose Routing > Show Routing Delays (View menu). 18 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 17. Routing Delays for Critical Paths The default view shows the register-to-register path. You can also view all the combinational nodes for the worst-case path between the source and destination nodes. To view the full path, select the path by clicking on the delay label, right click, and select Show Path Edges. Figure 18 shows a critical path through combinational nodes. To hide the combinational nodes, select the path, right click, and select Hide Path Edges. 1 Altera Corporation The routing delays must be shown in order to be able to select a path. 19 AN 198: Timing Closure with the Quartus II Software Figure 18. Worst-Case Combinational Path of Critical Path You can also assign the path to a LogicLock region through the Path window. Just select the path, right click, and select Properties. After using the critical path feature at least once, it is possible to determine the maximum routing delay between two nodes within a LogicLock region. Place your mouse over a fitter-placed LogicLock region to see the maximum delay. Figures 19 shows the maximum routing delay of a LogicLock region. 20 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 19. Maximum Intra-Region Delay For more information on making path assignments through the Path window, refer to “Path-Based Assignments” on page 29. Physical Timing Estimates In the timing closure floorplan, you can select a resource and see an approximate delay to any other resource on the chip. Once a resource is selected, the delay is visually represented by the color of potential destination resources. The darker the resource, the longer the delay, as shown in Figure 20. Figure 20. Physical Timing Estimates for Large Floorplan Altera Corporation 21 AN 198: Timing Closure with the Quartus II Software An approximate delay in nanoseconds can also be determined by selecting a source and then holding your mouse over a potential destination resource, as shown in Figure 21. Figure 21. Delay for Physical Timing Estimate The delays represented are an estimate based on probable best-case routing. It is possible for the delay to be greater than what is shown, depending on the availability of routing resources. In general, there is a strong correlation between the probable and actual delay. LogicLock Region Connectivity You can also see how logic in LogicLock regions interface by viewing the connectivity between assigned LogicLock regions. This capability is extremely valuable when entities are assigned to LogicLock regions. It is also possible to see the fan-in and fan-out of selected LogicLock Regions. Figure 22 shows standard LogicLock region connections. To view the connections in the timing closure floorplan, select the LogicLock region icon from the toolbar or go to Routing > Show LogicLock Connectivity (View menu). 22 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 22. LogicLock Region Connections with Connection Count The connection line thickness indicates how many connections exist between regions. To view the number of connections between regions, select the connections icon or go to Routing > Show Connection Count (View menu). LogicLock region connectivity is applicable only when the User Assignments are viewed in the floorplan. When floating LogicLock regions are used, the origin of the user-assigned region is not necessarily the same as the fitter-placed region. This is so that you can unlock a region and then lock it down again at a later time. The origin of your floating LogicLock regions can be changed to that of the last compilation origin through the Region Write-back option, which can be set by choosing Back-Annotate Assignments (Processing menu) and selecting Region Write-back. Altera Corporation 23 AN 198: Timing Closure with the Quartus II Software To see the fan-in or fan-out of a LogicLock region, select the user-assigned LogicLock region while the fan-in and/or the fan-out option is turned on. To set the fan-in option, select the fan-in icon or go to Routing > Show Node Fan-In (View menu). To set the fan-out option, select the fan-out icon or go to Routing > Show Node Fan-Out (View menu). Only the nodes that have user assignments will be seen when viewing fan-in or fanout of LogicLock regions. Figure 23 shows the fan-out of a selected LogicLock region. Figure 23. Fan-In or Fan-Out Timing Closure Assignments To achieve timing closure once a design has been analyzed, there are a number of assignments that can be made and a number of methods by which to make those assignments. This section covers the LogicLock and location assignments as a means to set the placement of nodes. You can choose to make assignments to nodes, modules, or paths in the design. Quartus II Assignments With the Quartus II software, you can choose to make LogicLock region assignments, soft LogicLock region assignments, or location assignments. All of these assignments are described below. LogicLock Regions LogicLock regions are contiguous, rectangular blocks of device resources to which logic you can assign. LogicLock assignments can be made to nodes, paths, or entities of a design. Anything assigned to a LogicLock region will be contained within the region’s boundaries. 24 Altera Corporation AN 198: Timing Closure with the Quartus II Software f For information on LogicLock regions and the LogicLock Design Methodology, refer to AN 161: Using the LogicLock Methodology in the Quartus II Design Software. Soft LogicLock Regions Soft LogicLock regions are defined the same way as LogicLock regions, but the nodes or entities assigned to soft LogicLock regions do not necessarily have to stay within the boundaries of the region. The Quartus II software will place nodes outside of the region if it is likely that placing it within the region will create a failing critical path. Soft LogicLock assignments can be made to nodes, paths or entities of a design. f For information on soft LogicLock regions, refer to AN 161: Using the LogicLock Methodology in the Quartus II Design Software. Location Assignments Location assignments are hard assignments that must be obeyed by the software. They are made to nodes or entities and determine which specific resources they are assigned to. Nodes and entities can be assigned to logic elements, memory blocks, DSP blocks and pins. Location assignments can be made through the Assignment Organizer or the timing closure floorplan. When using the Assignment Organizer, you can select the nodes through the Node Finder and then assign them to resources that are specified under Locations. Figure 24 shows the Assignment Organizer window. Altera Corporation 25 AN 198: Timing Closure with the Quartus II Software Figure 24. Assignment Organizer When using the timing closure floorplan, nodes can be dragged from their fitter-placed location to a resource for a location assignment. All location assignments can be seen as long as the User Assignments View is turned on. Applying Timing Closure Assignments In previous versions of the Quartus II software, you could choose to either make assignments to nodes or entities. The Quartus II software version 2.1 provides a methodology to make path-based assignments. Node Assignments Node assignments can be made through the Assignment Organizer, the timing closure floorplan, or by back-annotating your design. When using the Assignment Organizer, nodes can be selected using the Node Finder, as shown in Figure 25. Nodes selected through the Assignment Organizer can be assigned to LogicLock regions, soft LogicLock regions, or locations. 26 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 25. Node Finder You can make wildcard assignments ( “*” and “?”) using the Assignment Organizer. The Quartus II software specifies the assignment in the constraint file (.csf) as a wildcard instead of writing out assignments for each node. Nodes can also be selected in the timing closure floorplan. To make assignments, you can either right click on one of the highlighted nodes and select Assignment Organizer, or drag the nodes to a LogicLock region or resource to make a location assignment. A common way to make location assignments to all nodes is to backannotate your design. This effectively locks down the placement of each node to the resource it was placed in during your last compilation. Entity Assignments Entities can be assigned through the Assignment Organizer, the timing closure floorplan, or by dragging and dropping in from the Hierarchies window. Entities are most often assigned to LogicLock regions but can be assigned directly to resources using location assignments. Altera Corporation 27 AN 198: Timing Closure with the Quartus II Software When using the Assignment Organizer, you can specify the entity in the “Edit specific entity & node settings for” box, or you can select your entity in the Hierarchies window, right click, and select Assignment Organizer. After selecting your entity, it can be assigned to a LogicLock region or a resource through a location assignment. You can also make assignments by dragging and dropping using the Hierarchies window. To make a location assignment to a resource (i.e., a memory block), select the entity in the Hierarchies window and drag to the specific resource in the timing closure floorplan. LogicLock assignments can be made to entities by dragging an entity from the Hierarchies window to one of the LogicLock regions in the LogicLock Regions Window. If a LogicLock region does not exist, the entity can be dragged to the “<<new>>” line for a new LogicLock region. This will create a LogicLock region with the instance name of the entity and assign the entity to it. Figure 26. Drag-Drop from Hierarchies Window to LogicLock Region You can also create a new LogicLock Region for an entity by right clicking on the entity and selecting Create New LogicLock Region. 28 Altera Corporation AN 198: Timing Closure with the Quartus II Software Path-Based Assignments Path assignments can only be made to LogicLock regions, and only through the following methods: ■ ■ ■ Using the new Path window By dragging and dropping paths from the Timing Analysis section of the Compilation Report By dragging and dropping using the critical paths utility in the timing closure floorplan The new path assignments that can be made will assign every node in every path from the source and destination nodes. For a situation as shown in Figure 27, assume that the path Source > N1 > N2 > N4 > Destination is the worst-case path. If a path assignment is made from node Source to node Destination, nodes Source, Destination, N1, N2, N4 and N3 will be assigned to a LogicLock region. Figure 27. Worst-Case vs. All Paths f If you prefer to assign only a worst-case path to a region, you can do so by making assignments to the individual nodes. For information on how to make assignments to nodes, refer to “Node Assignments” on page 26. Path Window The Path window allows you to specify a path by identifying a source and destination node. You can use wildcard assignments to specify source and destination nodes. See Figure 28. Altera Corporation 29 AN 198: Timing Closure with the Quartus II Software Figure 28. Path Window with List Nodes & Wildcard You have the option of excluding the source nodes, the destination nodes, and any nodes that match a name or a wildcard. It is also possible to change the LogicLock region to which the path will be assigned. Before making an assignment, you can select List Node to determine how many nodes will be assigned to the LogicLock region. A list of nodes will be provided along with a node count. The Path window can be accessed through the LogicLock Region Properties window (shown in Figure 29) by clicking “Add Path…” The LogicLock Region Properties window can be opened for a LogicLock region by right-clicking on the region in the LogicLock Regions Window and selecting Properties. 30 Altera Corporation AN 198: Timing Closure with the Quartus II Software Figure 29. LogicLock Regions Properties Window The Path window can also be accessed when using the Critical Path utility by selecting the critical path, right-clicking, and pressing Properties (see Figure 30). Figure 30. Right Click on Critical Path Altera Corporation 31 AN 198: Timing Closure with the Quartus II Software Dragging and Dropping Paths can be selected from the Timing Analysis reports and assigned to LogicLock regions. To do this, open the Compilation Report and select one of the reports under the Timing Analysis section. Select which paths you would like to assign and drag them from the timing analysis report to an existing LogicLock region or to the “<<new>>” line to create a region. (See Figure 31.) Figure 31. Compilation Report & LogicLock Region Window with Arrow Critical paths displayed using the Critical Path utility can also be assigned to LogicLock regions. To create a region, select the critical paths you would like to assign and drag them from the timing closure floorplan to an existing LogicLock region or to the “<<new>>” line. See Figure 32. Figure 32. Timing Closure Floorplan & LogicLock Region Window with Arrow 32 Altera Corporation AN 198: Timing Closure with the Quartus II Software Conclusion Today’s multi-million-gate FPGA designs have complex timing needs. Methodologies for timing closure are a fundamental requirement for optimal performance in highly complex designs. Altera is the first programmable logic supplier to develop and deliver a timing closure methodology as an integrated part of its existing tools suite at no additional cost. Using the Quartus II timing closure methodology closes timing quickly on complex designs, reduces iterations by providing more intelligent and better linkage between analysis and assignment tools, and balances multiple design constraints including multiple clocks, routing resources, and area constraints. 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com Applications Hotline: (800) 800-EPLD Literature Services: lit_req@altera.com 33 Copyright © 2002 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words 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 other countries. All other product or service names are the property of their respective holders. LeonardoSpectrum, Model Technology, HDL Inventor, and LeonardoInsight are trademarks of Mentor Graphics Corporation. Altera products are protected under numerous U.S. and foreign patents and pending applications, 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 of any 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 of device specifications before relying on any published information and before placing orders for products or services. Altera Corporation