White Paper Pin Assignment & Analysis Using the Quartus II Software Today’s FPGAs support multiple I/O standards and have large pin counts. Designers must be able to efficiently create pin assignments for designs in these advanced devices. Designers also need the ability to easily check the legality of the pin assignments to ensure that the pin-out is not violating any board layout rules such as pin spacing, current limitations, etc. Time to market constraints means board layout development must be done in parallel with, or even prior to, designing the FPGA. Therefore, checking the legality of I/O assignments without a design or with a partially completed design is a design requirement. R Altera has introduced the Start I/O Assignment Analysis command in the Quartus II software version 3.0 to meet this design requirement. This new command quickly and thoroughly checks the legality of pin assignments, with or without a design file. This command can perform in-depth checks of a design’s I/O pins and surrounding logic against various requirements ranging from proper VREF usage, pin location assignments, and mixing of various I/O standards. This white paper describes the design flow to assign and analyze pin-outs using the Start I/O Assignment Analysis command with and without a complete design. Assigning & Analyzing Pin-outs Design Flows The pin assignment and analysis flow depends on the FPGA design status when using the Start I/O Assignment Analysis command. When the board layout must be complete prior to starting the FPGA design, use the flow shown in Figure 1. This flow does not involve any design files and is used to check the legality of pin assignments. When a design is complete or partially complete, use the flow shown in Figure 3 on page 4. This flow uses design files. Both flows involve creating pin assignments, running the analysis, and reviewing the report file. These flows currently support StratixTM, Stratix GX, and CycloneTM FPGAs. June 2003, ver. 1.0 WP-QIIPNASGN-1.0 1 Pin Assignment & Analysis Using the Quartus II Software Altera Corporation Design Flow without Design Files During the early stages of development of an FPGA device, board layout engineers may request preliminary or final pin-outs. With the Assignment Editor, tool command langauge (Tcl) scripting, or by directly editing the the complier settings file (.csf), designers can create pin related assignments like locations and I/O standards for the FPGA design. The Start I/O Assignment Analysis command checks on the legality of these assignments. Figure 1. Assigning & Analyzing Pin-outs without Design Files Quartus II project (.quartus) Create pin-related assignments .csf, .esf Start I/O assignment analysis Modify and correct illegal assignments found in report file Report file generated To assign and analyze pin-outs using the I/O Assignment Analysis command without design files: 1. Create a Quartus II project and select the target device. 2. Make pin assignments. Because there are no design files, pin-related assignments (I/O standards, toggle rate, current strength, etc.) can be made to reserved pins using the Assignment Editor or with the Tcl scripting interface. See the Creating I/O Assignments section of this document. 3. Run the Start I/O Assignment Analysis command and view the report file. 4. Correct any errors reported by the I/O assignment analysis and re-run the analysis. 2 Altera Corporation Pin Assignment & Analysis Using the Quartus II Software Design Flow with Design Files In this flow, run the Start I/O Assignment Analysis command before a full compilation. During a full compilation, illegal pin assignments are not found until the fitter stage of a compilation. Because the errors are reported during fitting, errors are not caught quickly. By running the Start I/O Assignment Analysis command before full compilation, any incorrect pin assignments are reported within minutes. The I/O assignment analysis takes on average less than one minute compared to compilation, which can take hours. Figure 2 illustrates saving compilation time with the Start I/O Assignment Analysis command. Figure 2. Saving Compilation Time with the Start I/O Assignment Analysis Command Error reported and fixed Full compilation Full compilation Full compilation I/O assignment analysis Error reported and fixed 3 Pin Assignment & Analysis Using the Quartus II Software Altera Corporation Figure 3. Assigning & Analyzing Pin-outs with Design Files Quartus II project (.quartus) Design files .edf, .vqm, .v, .vhd, .bdf Create pin-related assignments .csf, .esf Analysis and synthesis Mapped netlist Start I/O assignment analysis Report file generated Modify and correct illegal assignments found in report file Back annotate I/O assignment analysis pin placements To assign and analyze pin-outs using the Start I/O Assignment Analysis command with design files: 1. Create a Quartus II project and design files. 2. Create pin-related assignments with the Assignment Editor or the Tcl interface. Pin related assignments include I/O standards, toggle rate, current strength, termination type, etc. Pin location assignments can also be created by dragging and dropping pins from the node finder to the floorplan editor. 3. Analyze and synthesize the design to generate the internal mapped netlist. 4 Altera Corporation Pin Assignment & Analysis Using the Quartus II Software 4. Run the Start I/O Assignment Analysis command. This command was designed to be used frequently. The time it takes to run is in the range of seconds and minutes. 5. The analysis should be performed repeatedly until there are no errors found. However, if there are changes to the PLLs, LVDS blocks, gigabit transceiver blocks (GXBs), or pin assignments in the design, then running this command before a full compilation is highly recommended. 6. Correct and rerun the analysis after the errors have been identified in the generated analysis report. The report includes a pin-out file and a list of resource usage along with the errors. Inputs Used for I/O Assignment Analysis I/O assignments are stored into settings files that are read into the Start I/O Assignment Analysis command along with the mapped netlist, if the second flow is used. With Quartus II software version 3.0, there are many ways to create pin-related assignments as well as new types of assignments like assigning pins to I/O banks device edges. Creating I/O Assignments Creating I/O assignments can be cumbersome and may require a great deal of time from the designer. To satisfy designer preferences and help designers efficiently create these assignments, Altera provides three methods for creating I/O pin assignments: The Assignment Editor Tcl scripts Drag and drop capability for nodes from the node filter to the floorplan editor Types of I/O pin assignments include various I/O standards, current strengths, on-chip termination settings, timing constraints, etc. All pin related assignments are stored in the .csf or .esf file and are read into the Start I/O Assignment Analysis command. For more information on using the Assignment Editor with the Quartus II software, refer to the Using the Assignment Editor in the Quartus II Software white paper. 5 Pin Assignment & Analysis Using the Quartus II Software Altera Corporation Location Assignments A new feature in the Quartus II software version 3.0 is the ability to assign pins to banks R and edges. Altera devices have numerous I/O banks available, and it is common to see a group of pins (buses) with compatible I/O standards placed into a particular bank or banks. Edges of a chip can also be used as a placement location. For example, in Stratix devices, all differential high-speed I/O pins are located on the left and right edges of the device. Assigning pins to edges is ideal for making LVDS pin location assignments where exact pin location is flexible. Figure 4 shows the Altera device package edges. Figure 4. Package View of the Four Edges on an Altera Device Top Edge Left Edge Right Edge Bottom Edge Assignments with the Floorplan Editor Another method of making pin assignments, in addition to the Assignment Editor and the Tcl interface is through the Floorplan Editor. To access the Floorplan Editor Timing Closure Floorplan choose Timing Closure Floorplan (Assignments menu). With the Timing Closure floorplan, the designer can toggle between the package view and the interior detailed view. In both views the designer can drag and drop pins from the node finder or a block diagram file (.bdf) into a desired pin or bank in the Floorplan Editor. See Figure 5. The Floorplan Editor is a great way to create pin assignments as the designer can see where the pins will be located without having to reference the pin package documentation. 6 Altera Corporation Pin Assignment & Analysis Using the Quartus II Software Figure 5. Creating Pin Location Assignments with the Node Finder & the Timing Closure Floorplan Editor. Generating a Mapped Netlist A mapped netlist is only required in the flow shown in Figure 3 for saving compilation times with the Start I/O Assignment Analysis command. The internal netlist is used to identify what the pin names are and their direction (input, output, bidirectional) and is used during the I/O analysis to perform a thorough check. The mapped netlist can be generated by running the analysis and synthesis command in the Quartus II software. Analysis and synthesis can be executed from the Quartus II menu or with the quartus_map executable. The mapped netlist generated is stored internally in the Quartus II database (\db) directory. 7 Pin Assignment & Analysis Using the Quartus II Software Altera Corporation Running the I/O Assignment Analysis The Start I/O Assignment Analysis command runs legality checks on the user pin-outs, similar to the checks done in the fitter stage, as well as the surrounding logic which directly feeds or is fed by pins. The Start I/O Assignment Analysis command with the flow in Figure 3 can only perform simple checks, including placement and I/O standards, with the user pin-outs. The flow in Figure 3 suggests running the I/O assignment analysis any time a change is made to the pin assignments of the design before executing a full compilation. The analysis checks all the pin assignments and surrounding logic for illegal assignments, e.g., the pad spacing requirements between different I/O standards are violated. These checks may include if the pin location supports the I/O standard assigned, a legal current strength, supported VREF voltages, or if the PCI diode is allowed. Besides the I/O pins, the Start I/O Assignment Analysis command also checks blocks that directly feed or are fed by a pin such as PLLs, LVDS, and GXB blocks. For example, this command checks that the pin assignment for a PLL input can feed a PLL capable of operating at the specified frequency. In Stratix devices different PLLs and I/O banks have different capabilities, so it is important to select valid pins. The Start I/O Assignment Analysis command can be executed from the Quartus II software menu (see Figure 6) or from the command prompt. Run the command by choosing Start > Start I/O Assignment Analysis (Processing menu). 8 Altera Corporation Pin Assignment & Analysis Using the Quartus II Software Figure 6. Running the I/O Assignment Analysis Command from the Quartus II Software Menu To run the Start I/O Assignment Analysis command from a command prompt type in the followiing text and press Enter: quartus_fit <project-name> --check_ios When running this command, the fitter’s previous compilation results are overwritten. Any other results, such as analysis and synthesis or timing analysis, are not affected. Understanding the I/O Assignment Analysis Report The report file generated from runnng the Start I/O Assignment Analysis command provides a detailed summary of the I/O assignments in the project. The report file follows the format similar to the compilation report. See Figure 7. In the resource section, a summary of all the input, output, and bidirectional pins and their placement are available. There is also a floorplan view for reference. 9 Pin Assignment & Analysis Using the Quartus II Software Altera Corporation Figure 7. Summary of the I/O Bank Usage in the I/O Assignment Analysis Report Suggested & Partial Placement Along with the design’s fixed I/O assignments, there may be I/O pins that the designer has not assigned to a particular pin. For example, a designer may run the I/O assignment analysis with a group of LVDS pins assigned to an edge (left or right for high-speed differential I/Os). The I/O assignment analysis performs the legality checks and also provide a suggested pin placement for the LVDS pins within the edge. The suggested placement made by the analysis can then be reviewed in the pin-out file and in the resource section of the report file. To accept the suggested pin locations from the I/O assignment analysis, the designer can use the back annotation option. The back annotation feature saves pin and device assignments into the settings file that can be viewed later with the Assignment Editor. Detailed Error/Status Messages One of the key features about the report file are the detailed messages. Incorrect I/O assignment errors have detailed messages indicating the node in question as well as a description of the problem. These detailed messages help the designer locate and fix the reported problem. 10 Altera Corporation Pin Assignment & Analysis Using the Quartus II Software The designer can highlight the message and use the right mouse button to select Message Locations to locate the node in the Assignment Editor, source file, compilation report or the timing closure floorplan to help understand and resolve the problem. The messages displayed by the I/O assignment analysis are much more detailed than the fitter messages in earlier versions of the Quartus II software. The detailed messages can be found in the Fitter Message section of the report file as well as the Processing tab in the messages window by choosing Utility Windows->Messages (View menu). Figure 8 is an example of an error message that the I/O assignment analysis reports. Figure 8. Example of Error Messages Reported by I/O Assignment Analysis Conclusion The Quartus II software version 3.0 provides designers with the capabilities to efficiently create pin assignments and to quickly and thoroughly validate the legality of the assignments. These capabilities can help reduce development time by catching illegal pin and surrounding logic assignments early in the design cycle without long design compilations. By providing the designer with more confidence in the current design pin-outs, board layout engineers can work in parallel with FPGA designers to provide a shorter time-to market for their product. 11 Pin Assignment & Analysis Using the Quartus II Software 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com 12 Altera Corporation Copyright © 2003 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. 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.
© Copyright 2025 Paperzz