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.
Reported by: Raj (email@example.com)/font>
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.
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
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
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
Uses LSERV 4 for license manager. Y2K compatible.
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.
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.
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.
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.
This is a very significant rewrite of XGDSVU and includes many
improvements and fixes. The Version number has jumped from 5.34
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!.
Pico.gds (8MByte, 2600 Structures)
Function Ver Ver
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
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
Speed up Loading of Large Number of Structures....
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.
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
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.
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:
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
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.
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
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
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.
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.
Xgdsvu.Overlay:/tmp/demo2.gds(64) 64 is the layer offset