SPECCTRA Version 9.0 release notes Copyright 2000 Cadence Design Systems, Inc. 555 River Oaks Pkwy., San Jose, CA 95134. All rights reserved. No part of this work may be reproduced without receiving the prior written permission of the copyright owner. SPECCTRA is a registered trademark, and SourceLink is a trademark, of Cadence Design Systems, Inc. Cadence Design Systems, Inc. has taken care in the preparation of this document, but makes no expressed or implied warranty of any kind and assumes no responsibility for errors or omissions. These release notes include the following sections. - Version History of the 9.0 Release - What's New in SPECCTRA 9.0 - Supported Platforms - Installation Information - Notes About Online Help - Translator Information - Documentation Addenda - Known Problems and Solutions The latest version of this file (specctra.html) is available in the SourceLink area of the Cadence Web site. Go to http://sourcelink.cadence.com, view the SPECCTRA Autorouter home page, and click on the SPECCTRA link. This file is located in the SPECCTRA 9.0 FTP Directory. VERSION HISTORY OF THE 9.0 RELEASE Version 9.0.3 (4/00) * In some designs, the router does not fanout differential pair wires when one net of the differential pair has an existing via under the pin being fanned out. * Writing a wires file with poly wires on signal layers and then reading the file back in causes duplicate poly wires. This is fixed. * In some designs, interactively pushing a wire into an existing wire that results in a merged wire causes a core dump. This is fixed. * In some designs, interactively editing a routed wire connected to a via causes a core dump. This is fixed. * In some designs, the value is ignored. This is fixed. * In some designs with prerouted differential pairs segments, the router leaves unconnects. This is fixed. * Microvia option users can now replace stacked vias with a via padstack that spans mulitple layers and represents the series of stacked vias. To replace the vias: -Select all vias -Type "set microvia_replace on" -Write out a wires, routes or session file * In some designs, the reorder daisy command causes a core dump. This is fixed. Version 9.0.2 (2/00) * Differential pair nets do not adhere to the same_net_checking rule. This is fixed. * In some designs, differential pairs add extra vias instead of using pre-routed, buried vias. This is fixed. * When executing do files, be sure to use the $\ in Windows or $/ in UNIX before the dofile name to indicate the dofile is in the design directory. For example, to execute the dofile my_file.do that resides in the design directory, enter the filename as follows. From the command line in Windows: specctra c:\my_design $\my_file.do Nested within another dofile in Windows: do $\my_file.do * The SPECCTRA tutorial designs have been updated. Please reinstall all the design files from the tutorials directory. Version 9.0.1 (12/99) * Performing multiple search operations in the design report window may cause Windows to crash. This is fixed. * In some designs, using a do file which defines a group with a virtual pin may cause SPECCTRA to abort. This is fixed. * In some designs, the report order_violations command will cause SPECCTRA to crash. This is fixed. * The fanout command does not obey the stack_via_depth rule when used with BGAs. This is fixed. * In designs with blind and buried vias, the fanout command selects incorrect via types that connect to non-routing layers. This is fixed. * Thermal relief patterns are now visible when connected to mixed layer power planes. WHAT'S NEW IN SPECCTRA 9.0 Automatic Routing - A new max_restricted_layer_length rule can be used to control routing on external layers. - You can now control whether the router can swap net pin connections during autorouting operations. - You can choose to check blind and buried via gaps from via center rather than from via edge. - You can define an elongation keepout to prohibit wire elongation for delay and length rules in a specific area. - There is enhanced support for microvias, including via arrays, improved fanout, and stacked via control. (This is a new feature that requires a new license.) - Automatic swapping now has the ability to swap existing fanouts or other pre-routed stubs. New and Enhanced Rules and Checking Capability - Region rule has been extended to allow definition of Net, Class, and Class-Class region rules. Diagonal Routing - Diagonal routing control (set diagonal_mode) has been changed to allow an "always" option that causes a majority of routes to be diagonal. This command controls whether the autorouter uses diagonal routing. The choices are: off, which means the autorouter never uses diagonal routing and routes only orthogonal wires. on, which means the autorouter can route diagonally when it needs to during diagonal memory routing, through staggered pin arrays, and near existing diagonal wires. In general, this option does not produce much diagonal routing. It is most effective in designs with staggered pins. It works well with all rule sets, including length, delay, crosstalk, and noise rules. always, which means the autorouter creates the largest amount of diagonal routing and can be used on simple designs from the start. On more complex designs it is best used during clean passes following orthogonal routing. The general effect will be to reduce the actual-to-manhattan routing ratio on the design. Some support has been added to use diagonals to meet length and delay targets, but caution should be used because this capability is minimal for this release. This setting should not be used with crosstalk and noise rules, although checking of diagonal traces has been improved for this release. Note: Diagonal routing in this mode may be significantly slower than orthogonal routing. The default setting is on. The new diagonal_mode settings map to the old settings as follows: - the former set diagonal_mode 4 command is replaced by set diagonal_mode always. - the former set diagonal_mode 1, 2, and 3 commands have no equivalent in the new set diagonal_mode command. - Routing layer direction bias now includes diagonal, positive_diagonal, and negative_diagonal. Interactive Routing - Ability to add two segments at a time. - Ability to route to cursor with optimal path and optionally insert a via. - Ability to route shielded nets interactively. - Ability to permit diagonal jogs in pushed wires in move mode. - Interactive bus router understands region rules. Polygon Editing - You can copy a polygon to the same or different orientation. - You can now cut overlapping polygons with a single command. - Polygon move capability has been improved. - Any-angle polygon cuts are now supported. Length Control Enhancements - Ability to control length of routing on a specific layer. - Interactive finish route obeys length constraints. - Pin_width_taper rule now allows user to specify the maximum length for a tapered wire. - Ability to consider individual net length constraints that are part of a diff pair. This new feature uses the set average_pair_lengths command to direct the rule checker to consider individual nets when checking timing rules on net pairs. Previous to this, the checker would only consider the average length of the pair. By default, this feature is off. Use set average_pair_lengths on to enable the feature. Note for Allegro users: The SPIF translator converts Allegro net pairs to SPECCTRA diff pairs with match length rules and sets average_pair_lengths ON. To obtain the best routing results in SPECCTRA when your diff pairs are routed from non-adjacent smd pads, first fanout those pads using the max_len option with the fanout command. Examine the fanouts before routing to be sure they are short enough so that routing completion can meet the match length rule. If the fanouts appear too long, run fanout again with a smaller max_len value. It may also be advisable to protect those fanouts before routing the entire design. Noise Control - Ability to route shielded nets interactively. - Ability to specify multiple ground/power plane via connections at specified intervals for shielded nets. - Option to allow parallel/tandem noise tables to consider saturation length. Jumpers - Jumper vias are now allowed under components based on height values for jumper vias and components. - Non-symmetrical jumper vias can now be rotated correctly with a new set command. Performance Improvements - General improvement in router run time and completion. - Improved selection speed. Placement - Placement checking is enhanced to consider interlayer rules for pin-pin, pin-area, and area-area. - Family name prefixes with wildcards are now accepted in the place_rule command. - You can now read keepout data from a session file containing edited keepouts from an earlier session. - You can now assign a component_pin property to selected pins and avoid confusion caused when there are multiple pins with the same name on the same component. Usability Improvements - Case sensitivity in object names. - A "traffic light" indicator shows detail router progress. - Usability improvement in interactive editor o Interactive 2-segment (L pattern) route. o Change multiple wires with change wire mode. - Querying a violation now shows more information. - The wire and placement grids have been improved to allow definition of a display grid. GUI Improvements - Private colormap startup option. - Menu and dialog box enhancements. o Simplified interactive placement/routing setup dialog boxes. o The View menu has been shortened with some entries moved into submenus. o The interactive routing [RMB] popup menu has been shortened and re-organized. - Display improvements. o Highlight stack via. o View virtual pin ID. o Region layer has been added to the layers panel. - Order violation and ECL reports are now available in a window and a report file. Miscellaneous Improvements - Checking now includes the max_total_via rule. - Critic handles bundles and differential pairs. - You can now exclude virtual pin information when writing a wires or routes file. SUPPORTED PLATFORMS SPECCTRA 9.0 runs on Windows 95/98, NT 4.0 (service pack 4 or later), and the following UNIX platforms: - HP 9000 Series 700 with HP-UX 10.20 - IBM POWER/PowerPC with AIX 4.1.5 and later - Sun SPARCstation and UltraSparc with Solaris 2.5.1 and later On the HP platform, the linker option to build SPECCTRA is now 'normal' executable instead of 'shared' executable. This new linking procedure allows an executable and the associated in-memory data structure to exceed the previous 960MB limitation. The maximum is now 1.9GB. However, the executable can no longer be shared. SPECCTRA INSTALLATION INFORMATION For information on installation and licensing, refer to the Cadence Installation Guide, which is available at the root level of the CD-ROM with the name of install.html. More configuration information is provided in the SPECCTRA Installation and Configuration Guide, which is installed as a PDF file at help/instcnfg.pdf. General Cadence installation information Before you can install SPECCTRA on UNIX, you must mount the SPECCTRA CD-ROM on your file system. Decide where you want SPECCTRA installed. The standard location is /tools./specctra/. If you are updating an existing SPECCTRA installation, consider choosing a new directory instead of overwriting existing files. You can remove the old files and directories after you determine that the new installation is operating correctly. After you install SPECCTRA, you can access the SPECCTRA Installation and Configuration Guide for more detailed information about configuring SPECCTRA software and your license server. The installation and configuration guide (instcnfg.pdf) is an Acrobat file that is included in the help subdirectory of your SPECCTRA installation tree. Installing SPECCTRA 9.0 for UNIX From The Internet Use this procedure to install SPECCTRA for UNIX using tar archive files from the Internet. 1. Locate the appropriate file on SourceLink (http://sourcelink.cadence.com). 2. Copy the file for your platform to your local system. For example, for Solaris the tar file name is specctra09.00-p001sun4v.tar. 3. Extract the archive file with the tar command as follows: tar xvf .tar. For example, for Solaris: tar xvf specctra09.00-p001sun4v.tar 4. SKILL is not included in this installation. 5. For more information about configuration and licensing, see the SPECCTRA Installation and Configuration Guide (instcnfg.pdf). The next two steps summarize some of this information. 6. Set environment variables as described in the SPECCTRA Installation and Configuration Guide (instcnfg.pdf). For example, set CDS_LIC_FILE to your license server location. 7. If a SoftShare license server is not already installed, install one from the supplied files. The server executable is typically installed at /tools./bin/lmgrd, and the license file to /tools./share/license/license.dat. Installing SPECCTRA 9.0 for Windows From The Internet Use this procedure to install SPECCTRA for Windows NT 4.0 (service pack 4 or later) and 95/98 using the compressed executable file from the Internet. Please read this entire section before you begin the installation. 1. Locate the specctra900.exe file on SourceLink (http://sourcelink.cadence.com). 2. Copy the file to your local PC. 3. Double-click on the file (specctra900.exe). This extracts the installation files and begins the setup process. During the setup process you are given the option to choose the install directory and which files to install. For more information about the installation and configuration process, including licensing, see the SPECCTRA Installation and Configuration Guide (instcnfg.pdf). The following is a brief summary of setup choices. - Acrobat Reader - You may choose to install the Acrobat Reader if one has not been installed previously. This tool is required to view some parts of the online documentation. - SKILL tools - The Cadence SKILL tools are included in this setup and may be installed if not previously installed or if a newer version is required. - SoftShare license server - A license server and associated utilities are included in this setup and may be installed if not previously installed or if a newer version is required. NOTES ABOUT ONLINE HELP HyperHelp After you install SPECCTRA, cd to the help directory in the SPECCTRA installation tree and do the following: On UNIX platforms, enter hyperhelp -f specctra.hlp NOTE: The previous example for UNIX platforms assumes that the /tools./specctra/bin directory is included in your path. You can set the HLPPATH environment variable to the installation help directory so that hyperhelp can find specctra.hlp from any location on your network. For example: setenv HLPPATH /cds/tools.sun4v/specctra/help hyperhelp -f specctra.hlp The HyperHelp application uses the HLPPATH environment variable to find specctra.hlp without requiring you to change to the help directory or including an explicit path. Updating from a prior release If you are using HyperHelp, the full text search database files are generated in the .hh directory under your home directory. When you receive an updated version of SPECCTRA online help, you must rebuild these database files before using full text search because topic titles listed in the old Find list will not access the correct topics in the new help files. To rebuild the full text search database 1. Start HyperHelp using the -f option. 2. Click the Find tab when the Help Topics dialog box appears, and wait for HyperHelp to load the (old) FTS index files. 3. Click the Rebuild button to rebuild the database files from the updated help system. HyperHelp generates new reference.fts and specctra.fts files in your .hh directory. Assigning the F1 Key for Online Help In SPECCTRA, the [F1] key is predefined to access help. However, in Solaris 5.4 and 5.5 under Open Windows, [F1] is set as the Open Look help key. If you want to use [F1] to access SPECCTRA help or redefine it to perform some other function, you must first remove or comment the following line in the .xinitrc file in your home directory: Change xmodmap -e 'keysym F1 = Help' to # xmodmap -e 'keysym F1 = Help' Logout and log back in for your edit to apply. Online Help might not work correctly on a remote display with some hardware and X server combinations. For example, help might launch very slowly. TRANSLATORS The SPECCTRA 9.0 release includes changes to the design language syntax. SPECCTRA reads design files created with translators for earlier versions, but an earlier version of SPECCTRA cannot read a design file that includes new version 9.0 syntax. Routes and session files created with SPECCTRA 9.0 are compatible with earlier translators unless you use new features that generate the new routes or session file syntax. See SPECCTRA Translators under SPECCTRA Autorouter home page at http://sourcelink.cadence.com for more information about the supported translators. Check the translator documentation and version date to verify if the translator supports new SPECCTRA 9.0 features. The following is a list of translators: Mentor Graphics Board Station Protel Zuken-Redac (Cadstar) Zuken-Redac (Visula) DOCUMENTATION ADDENDA Additions The following commands, options, and features are not included in the online documentation: Polygon Editing - SPECCTRA beeps and issues a warning if you attempt to edit a polygon of a type that is unselectable. - If you cut and divide a wiring polygon with an unassigned net, each polygon is assigned a unique unassigned net ID. - The maximum number of vertices for a polygon is 4,000. Clicking on Violations in Measure Mode - More information about crosstalk and clearance violations now appear in the output log. - Violations are not reported if you click on unselectable objects or layers. This rule does not apply to the Power Pins layer. Dialog Boxes in the GUI Dialog boxes now retain user specified option choices when the dialog box is invoked again. Set command for Autorouter The route_to_trunk set command controls the routing order for multiple pins on a net. - Use the "on" condition with this option if you want the autorouter to route a straight wire between two specific pins on a multiple pin net. You must define a soft fromto between the two pins. The router then uses tjunctions to connect remaining pins to the fromto wire. You should apply a length or delay rule to the fromto to maintain this direct connection during additional routing passes. - If you use the "off" condition (default), the autorouter connects the pins according to the order of the guides. Corrections The following items describe corrections to online help and manuals. Set command for Autorouter The reroute_order_viols set command topic incorrectly lists the default condition as "on". The default is "off". Interactive Routing Setup The online help topic for interactive routing setup contains a description of the "Allow redundant wiring for enabled nets" option. This description should be amended to clarify that the option applies only to signal nets that have been assigned an allow_redundant_wiring rule, and that redundant wires and vias are always allowed on power nets. KNOWN PROBLEMS AND SOLUTIONS HyperHelp on Solaris HyperHelp does not display italic text on some versions of Solaris. This problem has been verified on version 5.6 of the operating system. The problem is corrected by using an X server application defaults file, which is located in the help/app-defaults directory of the SPECCTRA installation tree. If you experience this problem, perform the following steps. 1. Use a text editor to open the HyperHelp file in the $XAPPLRESDIR/HyperHelp directory. 2. Find the following line in the file !HyperHelp*FontMap:helvetica=-dt-application:iso8859-1 3. Remove the ! (comment) character from the beginning of this line. NOTE: To determine whether this font is available on your system, use the xlsfont command to list available fonts. You should see a series of fonts listed such as -dt-application-medium-i-normal-sans-10-100-75-75-p-57-iso8859-1 4. Save the HyperHelp file. 5. Set the XAPPLRESDIR environment variable to the directory where the HyperHelp file is located. For example: setenv XAPPLRESDIR /cds/tools.sun4v/specctra/help/app-defaults 6. Enter the command: xrdb -merge /cds/tools.sun4v/specctra/help/app-defaults/HyperHelp All text should display normally in HyperHelp. Note: An alternative solution to making this change globally for all Sun users is to place a corrected HyperHelp file in each affected user's .hh directory and set each affected user's XAPPLRESDIR environment variable to point to that directory. Licensing After executing any route command, the IPlaceBase license appears in the license list generated by selecting menu item File > Release Licenses. The routing commands do not actually check out IPlaceBase, so you do not need to release the license. If you select IPlaceBase from the license list and click Apply, IPlaceBase does not appear as a newly released license since it was never actually checked out by the routing command. Routing with length rules and virtual pins Nets with a combination of a match_fromto_length rule, virtual pins, and SMDs that are not fanned out, will not route, or may route with length violations. If virtual pin placement appears to be the problem, delete the routing and try either of the following: - move the virtual pin(s) to a better location with the topology editor or - re-define their location with a x,y coordinate and a radius. Re-route to see the improvement. Otherwise, do one of the following to work around this problem: - Fanout the SMDs before routing. - Remove the match_fromto_length rule. - Remove the virtual pins. Via Rotation - In some designs, the new functionality to rotate vias during routing can cause an incompletion when vias or via arrays are on pads or directly connected to pads. Polygon Wiring - The change polygon mode command can only change polygons to nets that already have a terminal in the design. Net Breakup - The method for net breakup on power nets has been modified in SPECCTRA 9.0. The 9.0 release might report slightly more unroutes for the same design loaded in previous releases. Edit Route - The finish route command in edit route mode can not automatically complete a route to wiring polygons. - Ghosting may temporarily display potential via images between the first and second digitized points in route-to-cursor mode. net_id - The character limit for a net ID is 1023. Interlayer Rules SPECCTRA does not provide an error message if the same layer name is incorrectly specified when using interlayer rules. This might also cause some layer rules to function incorrectly. Autorouter The autorouter connects to the side of a long pin on a different layer with a fanout via, rather than connecting to the closer edge of the long pin. The autorouter assigns a higher cost to avoid inserting the via to the closer edge of the pin even if it results in a longer connection. Fanout Command Via sharing in the fanout command will not occur on daisy chain nets.