GDSVU Unix Revision History

This document summarizes enhancements and fixes to GDSVU Unix. Please consult this page on a regular basis to determine what changes have been made to our programs.

v5.58  (07/12/2000)

Sharing Map File

Sharing map file in a network drive directory
When loading another map file from a network drive directory, older versions of Xgdsplot would remove the file and the loaded layer settings would disappear. This has been fixed.

Sharing map file which is write protected
Older versions would force to overwrite the write-protected map file. This version will not overwrite the write protected map file, it informs users that the map file is write protected and new layer settings are not saved. Users can continue to use the write protected map file.


v5.57  (02/16/2000)

Fix plotting crash
Plotter drivers have been updated to support new gdsplot engine. The update was not compitable with gdsvu/motif, and caused program crash. gdsvu is now updated to the new operation.


v5.56  (02/16/2000)

Rescans GDS File if Needed
If the GDSII scan file (.ssn) file does not contain datatype information, file will be rescanned. This is to support the new datatype discrimination in XGDSPLOT.

Job File Location
Older versions wrote the job file to the GDSII file directory.  This has been changed to write the job file to the working directory, just like all other configuration files. Reason: in many instances the GDSII file directory may be read-only.


v5.55  (01/31/2000)

VU2D Update
The vu2d program has not been honoring color and fill pattern changes on the layer menu.  This version fixes this problem.

Support Xgdsplot 4.10
This version of Xgdsvu is needed to support reading map files with datatype discrimination information.  Older versions might crash if such a map file is used.  However please note that the XGDSVU program cannot discriminate by datatype.

Windows Font/Color (Motif)
Wondows font and color control has been broken for a couple of versions. This has been fixed.  Color preference can be specified as a RGB value. In a command line, xgdsvu -bg "#cccccc"; in the .Xdefaults file, just use #b24d7a as the value.

Windows Color and Plotting Color(Black/White)
Older versions swapped black and white if the windows color was not white. This has been fixed.


v5.51 (6/1/1999)

Array Referencing
Older versions would plot array referencing mode 1 as mode 2. This has been fixed.

Windows Position
Remember Windows position. Older versions would position the windows slightly off.

.Xdefaults file
This version gets and puts remembered options in the xgdsvu.Xdefaults in the $HOME/.artwork directory, instead of the $HOME directory.


v5.48 (10/26/1998)

Bug Fix: defunct process:Xpltcfg
Older versions would leave behind a "defunct" process of xpltcfg after going to Plot Setup everytime, until xgdsvu is exited. This has been fixed.

Reported by: Raj (rlb@boojum.fc.hp.com)

Fixed Plot Setup Error
5.47 and 5.46 would pop up an error message "Unable to find file pltcfg.ini" when Plot Setup is selected. This has been fixed.



v5.47 (09/01/1998)

New Feature: Undo and Sort
Layer order can be changed in "layer parameter" dialog. 3 new buttons are added to this "layer parameter" dialog - undo, sort ascending and sort descending. Undo is used to undo a layer reordering operation; sort ascending and sort descending will sort the layer numbers as the names implied.


v5.46 (08/28/1998)

New Feature: Scratch Mode Emulation of Boolean
Add scratch mode support. When at least one layer is using scratch filling pattern, the gds file will be drawn "layer by layer". All data on a scratch layer will scratch off all previous paint elements. When no layer is using scratch pattern, the gds file is drawn in the data order (as in the previous versions.) Layer orders can be controlled in the "layer parameter" dialog box, and is saved in the "map" file.


v5.45 (06/24/1998)

Default Snap Setting
Snap setting is default to off.

New UNIX Keying Scheme
This version uses the new UNIX keying scheme, without the need to activate the executable.


v5.44 (04/20/1998)

Lserv4 Support
Uses LSERV 4 for license manager. Y2K compatible.


v5.43 (03/27/1998)

Xgdsvu Crashes due to long path
Older version would crash if the PATH environment variable holds value longer than 1024. This limit has been increased to 2048.


v5.42 (03/18/1998)

LSHOST for Network Licensing
If progmam is keyed for network licensing and LSHOST is not defined, a warning message box would pop up at startup. Previously one would get a very mysterious warning after a long wait.

Nesting Level Plotting
Version 5.42 allows users to plot with different nesting level. Older versions always plotted all structure references even if a smaller number of levels of hierarchy was being viewed.

Releasing License
Previous versions of xgdsvu would not release the license if xgdsvu is launched without opening a GDS file and then closed. This has been fixed.

Recalls Settings of Most Recent Session....
Session settings such as window position and size, last selected gds file, display filter settings, fill on/off, are now saved to xgdsvu.Xdefaults in the user's home directory when xgdsvu exits, and they are retrieved at every start up of xgdsvu.

Font files locations and scale factor are determined as follows:
read from GDSVU.CFG in the current directory
read from GDSVU.CFG in the installation directory

Hangup on Menu Pulldown...Fixed
In previous versions, Xgdsvu would hang if a menu is pulled down and then the mouse clicked on the display area. A Right click might cause the same problem occasionally. This has been fixed.


v5.41 (01/09/1998)

Xgdsvu Crashes at Start Up
Previous versions would crash (signal 15) if the system had other color intensive programs running because XGDSVU would demand color resources not available.
This version will not crash and will possibly come up with some empty Fill Patterns and/or Color tables.


v5.40 (12-18-1997)

This is a very significant rewrite of XGDSVU and includes many improvements and fixes. The Version number has jumped from 5.34 to 5.40.

Speed Up Summary

We rewrote several routines to speed up the display. In some cases the speed is dramatically increased. The improvements are in:

  • Scanning the file to build the hierarchy structure. 1.7 times faster.

  • Loading the Stream file into memory. 1.3 time faster.

  • Drawing data on the screen - 1.6 times faster.

  • Use of Display filter. Removes display items too small to reasonably discern. Anywhere from 10X to 50X faster!.

Examples


Pico.gds (8MByte, 2600 Structures)

        Function        Ver           Ver
                        5.40          5.34
        Scanning        36s            59s
        Loading         12s            22s
        Drawing          1s            22s
                        ----          -----
        1st View        49s           103s

        After 1st View  13s           103s


Korg.gds (30MByte, 800 Structures)

        Function        Ver           Ver
                        5.40          5.34
        Scanning        50s           91s
        Loading         62s           64s
        Drawing          8s           818s
                        -------       ---------
        1st View        120s          973 s 
        After 1st View  70 s          973 s

Fixed Crash on Loading very large Files....
When loading huge GDS file, either xgdsvu would crash or Openlook Windows would crash because xgdsvu was using up all the memory for loading the file. Xgdsvu now provides a command line option to use the disk as memory.

run xgdsvu with -RAM16 to use a maximum of 16M for path, boundary and text data. Add -vref to use the disk for structure references.

Fixed Erroneous Message: Launching Xgdsplot Failed
When launching Xgdsplot, older versions would pop up a false alarm error message box saying "(4) Error occurred in executing xgdsplot....". This was a false error. It has been fixed.

Speed up Loading of Large Number of Structures....

Previous versions would take a long time to load the list of structures if the GDS file has many structures (tens of thousand). This version is extremely improved. It takes a couple seconds now to list 50,000 structures vs 40-60 minutes in older versions.

Fixed Hanging File Selection Problem....
Xgdsvu would hang if the corresponding job file for the GDS file is an empty file. This has been fixed.

Layers and Fill Patterns Mapping Updated.
In an ongoing effort to make XGDSVU more compatible with XGDSPLOT we've updated the use of the fill pattern file.

Layers and fill patterns mapping is stored in a .map file. At start up:

  • If 'GDS file'.job exists in the startup directory and a .map file is remembered in the job file, then that map file is used.

  • Otherwise, if ./gdsplot.map exists, it's contents are used and changes are saved to ./gdsplot.map. ./gdsplot.map is remembered for the job.

  • Otherwise, a ./gdsplot.map (local copy) is made from the contents of /gdsplot.map if it exists and is readable. And any changes are saved to ./gdsplot.map. And ./gdsplot.map is remembered for the job.

  • Otherwise, ./gdsplot.map is created with the default mappings and ./gdsplot.map is remembered for the job.

Job File, Map File and Cfg File
Older versions would not remember the selected map file if the GDS input file is not in the startup current directory. To fix this problem, this version looks for the job file in the startup directory, which is also the behavior of xgdsplot. Also, the .cfg file is created in the startup current directory, not the GDS file directory for plotting and launching xgdsplot.

Speed Up Scanning
This version has the GDS file scanning time speed up by 1.7X on single CPU system.

Scanning Large GDS File
When selecting a GDS file, Xgdsvu first scans the GDS file. For large files the user must wait a long time; selecting the file again at a later date requires another scan.

In this version, once a GDS file is scanned, information is saved in GDSFile.ssn and GDSFile.job in the startup current directory; If you now want to view a file again these files are used to avoid a long scan. Xgdsvu does prompt users if they would like to use previous scan data or if they want a rescan. (Default is to use scanned data)

Fixed False Map File Warning Message....
When loading another map file, older versions would pop up a warning saying the the current settings would not be saved to the current map file. This message is very misleading and it is taken out.

Keep Job File Contents
Older versions would trash the :Cfg entry in an existing job file. This caused xgdsplot to not start up with the Start Plotting and View GDSII Data buttons enabled. This has been fixed.

Changed Default Modes
Default xgdsvu behavior has been changed to load GDS file in outline mode and Aref 0. (outline arrays). These options are faster.

Fill or No Fill Patterns
There was always a confusion as to Black or White is Fill or No Fill. Now, in the fill patterns dialog box, selecting Black or White would indicate Fill or No Fill on the Index entry, in addition to the index number of the selected fill pattern.

Layer Dialog Box
In the Layer dialog box, an Apply button is added. This button applies the changes without closing the dialog box; OK would apply the changes and close the dialog box; Cancel would basically do nothing and close the dialog box.

Cancel Redraw with ESC Key
In addition to the Cancel button in the tool bar, another Cancel button is added next to the Redraw button in the zoom menu. Drawing can also be stopped by hitting the Escape key on the keyboard.

Further Speed Up Drawing
With default display filter of 5 pixels, drawing speed has been significantly improved, ranging from 25X to 50X depending on nature of the GDS file. In smaller and simplier GDS file, the difference might not be as drastic.

Display Filter
When displaying very dense drawing, some tiny details can be filtered out to speed up drawing. This version has this new feature for faster drawing. Display filter can be accessed via the Settings pull down menu. User can specify the size of entities to drop from drawing. User can also specify to draw a box around level 1 structures when the display filter is turned on. Default is to drop entities larger than 5 pixels without drawing boxes around level 1 structures.

Structures List in Alphabetical Order
The list of structure names in the Structure dialog is shown in alphabetical order for easier searching.

Speed Up Drawing
Screen Drawing is speeded up by 1.6X. Also added a Drawing... message while it is drawing and a Finished Drawing message when it's done on the main text area.

Also changed is the cancel button response time. It used to look for the button's event for every structure draw. Now, to speed up drawing it only looks every 3 seconds. This way, it can maximize drawing time while still provide a responsive user interface.

Decrease Memory Usage by Structure Reference
Improve database structure to minimize memory usage by structure reference entities (SREF and AREF).

Duplicate default CFG setting
The configuration file, GDSVU.CFG, is first searched on the current directory; if not found, it is searched on the executable directory. Previous viewing settings, such as layers selection, of the current GDSII file will be read from the GDSVU.CFG file. If no previous setting is available, default settings found in the GDSVU.CFG file will be used. In the previous version, this default settings were not written back to the current GDSVU.CFG file. In effect, default settings were lost after one GDSVU session. This bug is fixed in this version.

Maximum Number of Structures Increased
Increased max num of structures from 32767 to over 47 million.

Speed Up Structure Name Handling
Speeded up structure name searching; improvement up to 20% when data file contains lots of structures.

New Command Line Option AREF

Added -aref Command Line Option


-aref=magic        on command line, Arrays will be treated
                   as if generated by Magic or equivalent programs.


-aref=calma        on the command line, Arrays will be treated
                   as if generated by Calma or equivaletn programs.

-aref              not specified on command line, ACS_FLAGS environment
                   variable will be checked.


v5.33 (10-06-1997) MOTIF

Bug Fix - Motif on Solaris
Version 5.32 would crash upon opening a file on Solaris 2.51. Oddly, this problem did not occur under Solaris 2.6. The message was:


ld.so.1: ../xgdsvu: fatal: relocation error: symbol not found: regcmp:
  referenced in ../xgdsvu

This has been fixed by changing some of the compiler options. This bug did not affect HPUX or AIX versions of the software and is related to Sun's OpenWindows implementation of things...

Bug Fix - Motif on SunOS Problem
Upon startup XGDSVU would crash on SunOS if it did not find:


/usr/lib/X11/nls         [and/or]
/usr/lib/X11/XKeysymDB

Version 5.33 warns the user about the missing libraries and advises how to install them instead of crashing. A much better behavior!.



v5.32 (10-01-1997) MOTIF

MOTIF Version of GDSVU
From this release forward we are only making enhancements to the MOTIF version of GDSVU - referred to as XGDSVU. No future enhancements are planned for the old X11 version of GDSVU.

Maximum GDS Structures
We increased the max number of structure definitions that XGDSVU can handle from 2048 to 65536. It's not likely we'll see any IC's with this many structure definitions.

Increased Zoom-in factor
The ability to Zoom-in is increased up to 7.5 times than the previous versions. The actual increase depends on the extents of the GDSII data. If the data is relatively localized, zooming factor will be increased.
Requested by: James Murdoch, Seagate.

Overlaying a Second GDSII File
Fixed a bug in the file selection dialog box that generated some junk names when attempting to import a second GDSII file for overlay.

Progress Report While Loading
We added a Percent Progress Report while loading the GDSII file so the user doesn't think that it is hung up on large files.

Line Types
XGDSVU now shares the same line type dialog box and resource as XGDSPLOT. XGDSVU however still only displays a single pixel solid outline.

Layer Dialog Box XGDSVU now shares the same Layer Dialog box with XGSDPLOT. This will make it easier to launch XGDSPLOT from XGDSVU and will continue to bring the two programs together.

Keyboard Shortcuts Added
Hot keys are added to this version of Xgdsvu. This enables the user to zoom in and out, and pan without having to use several mouse clicks. The online help summarizes the hot key assignments.

Quit from System Menu
Selecting 'Quit' or 'Dismiss' from system menu pulldown now causes XGDSVU to gracefully exit. Older version would not release the license if terminated in this fashion.

Plot/Page Setup Dialog
This version has a greatly enhanced, tabbed Plot/Page setup dialog box that is much more intuitive, comprehensive and easy-to-use.

Bug Fix: Xpltcfg Launch Failed
When launching the Plot/Page Setup dialog box, previous versions of XGDSVU would pop up a false alarm error message box saying:



(4) Error occurred in executing xpltcfg....".

This was a false error but very disconcerting to users. It has been fixed in this version.

Color Conflicts with Netscape...
When Netscape or other color intensive programs have grabbed color palette , XGDSVU would start up in white with the following message:


  Warning: Cannot Allocate Default Colormap

This version detects the color palette collision and attempts to use a different color as the background color and black as the foreground color.

System Resources Defined
System resource name for Xgdsvu is changed from Xgdsvu to xgdsvu for consistency. Added are additional resources: Label_Font and Text_Font. These enable you to control the fonts assigned to buttons and labels - sometimes the default font is so large it won't fit on a button and gives a distorted looking window.


xgdsvu*foreground:      black
xgdsvu*background:      grey
xgdsvu*daforegd:        white
xgdsvu*dabackgd:        black
xgdsvu.Label_Font:      -adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xgdsvu.Text_Font:       -adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1

v5.31 (3-6-1997)

Polling Event
This version forces GDSVU to responds to a polling event even if GDSVU is not the focus window.

Commmand Line Input File
This version only takes a command line file as input if the file exists. Older versions treat a command line input as the input file even if it does not exist (which might corrupt memory and crash).

Loading and Saving Map File
Loading another map file can be done inside the layer parameter dialog box. Select map file and it will load it into the current layer param dialog box. A Save As button has been added to allow users to save to a different map file and use the new map file for the current viewing session.

AREF GDS Extract
Checked GDS extract would extract all cells under all aref modes. Aref mode toggle exists both in the button bar under the drawing area in the aviewtgl menu (just like the UNIX version), AND also exists in the Settings pull down menu for direct access.

Path Display Mode
Default path display mode is changed to outline. Paths were drawn with just the centerline under outline and non-fill mode, now they are drawn in outline with the centerline in a different color for querying. The centerline also exists in fill mode.

The default foreground and background Color for both the Windows and Drawing Area is white. Added to this version are separate controls to the colors of the Windows and the drawing area. -background and -foreground for the Windows, -dabackgd and -daforegd for the drawing area. Best of both worlds.

-dabackgd and -daforegd can also be added to the system resources. e.g. xgdsvu -foreground black -background cyan -daforegd white -dabackgd black

Lithas/GDSVU Unix Communication
The main program is Lithas. Communication is based on file polling, xgdsvu.pol in the installation directory (or pass from command line by -poll:/tmp/mypoll.pol). Lithas writes to the poll file when it wants GDSVU to open or overlay a gds file. GDSVU writes to the poll file when GDS extract is done. Event indexing should start from 1. Polling will not be done while drawing, extracting and plotting. It resumes when the operation finishes.

Other communication events can be implemented as needed. The caller to GDSVU should erase the poll file before it exits.

Example 1.

BOC 1
Xgdsvu.Open:/tmp/demo1.gds
EOC 1

Example 2.

BOC 2
Xgdsvu.Overlay:/tmp/demo2.gds(64) 64 is the layer offset

EOC 2

Example 3.

BOC 3
Xgdsvu.Exit
EOC 3

Example 4.

BOC 1
Xgdsvu.Extract:/tmp/demo1x.gds
EOC 1