XGDSPLOT Revision History

The following are changes, fixes and enhancements to XGDSPLOT. Where version numbers are skipped, it is normally due to the fact that the version never left the development area.

xgdsplot Linux 5.44b 1/14/2023

New Linux Release This version includes an updated version for the various rasterizers and an updated plot preview which allows the user to preview the RTL plot file (Xpreview) before submitting it to the plotter.

Supported Linux OS

This new version has been tested on and supports the followings operating systems:
CentOS release 6.9 (Final)
CentOS Linux release 7.9.2009 (Core)
Ubuntu 20.04.4 LTS
Red Hat Enterprise Linux release 8.6 (Ootpa)

gdsplot Windows/Linux 5.44 1/6/2017

Windows and Linux Software Upgrades

Under Windows, Fixed OEM printing issue.
Fixed issue with Tile Printing under Windows.
Updated xPreview to view BMP files.
Fixed issue with Xpreview under Linux - large size raster plots failed to load to the viewer.
Support up to latest Windows 10.

gdsplot Windows 5.43 6/3/2013

Added Automatic Tiling

Automatic tiling is now available. Output file names for tiles is filename_plot1, filename_plot2, etc. The tiles are ordered first by column (top to bottom), and then row (left to right), so that if the plot has 2 columns and 2 rows, it will plot the top left, bottom left, top right, and then bottom right tile.

gdsplot Windows 5.41 2/20/2012

Apply in Layer Menu

In the Setup Layer Fill menu, an Apply button has been added. The user can load a map file, make any changes they would like, and apply the map file without saving changes. The changes will be remembered until a new map file is loaded, the current one is saved, or the program is exited.


Added *.str to the default extension list when selecting a GDSII File.

xgdsplot 5.42a 5/29/2009

New gdstile 64 bit.

Version 5.42 had a bug when plotting in scale multiGB files. The bug was due to the gdstile routine which was not updated to 64 bit. Bug was reported by IDT and it has been fixed.

xgdsplot 5.42 4/3/2009

New 64 bit plotting engine for Solaris.

This new Solaris version contains only a 64 bit gdsplt engine to handle large files.
This new version has Flexlm support but no "lserv" support.

New 64 bit plotting engine for Linux.

The Linux version contains 32 and 64 bit gdsplt engines.
The 64 bit gdsplt binary appears as "gdsplt64", while the 32 bit binary continues to appear as "gdsplt".
The GUI will determine whether the current runtime environment is 32 or 64 bit, and will invoke the appropriate engine.
The 64 bit release is intended to solve the issues associated with plotting very large GDSII files. This release will not fix the condition where a 32 bit compute environment is not sufficient to plot large GDSII files. Although this condition is not exactly predictable before plotting because the 32 bit version can handily plot GDSII files easily greater than 4 to 10 GB - the actual details of the GDSII database can generate memory footprints in excess of 2 GB. In this case, the GDSII file should be plotted on a 64 bit system with sufficient swap. This means that the plotting platform should be suitably configured, this does not seem to happen out of the box for many LINUX installations.

xgdsplot 5.40 10/7/2008

Program dropping data under certain conditions.

This version fixes the bug reported by Hagai for the GDSII file top_level_B1.gds.
The bug report indicated the data seemed to be dropped in the LINUX version of GDSPLOT, but the not the Solaris or Windows versions.
This behavior was the result of a bug in the structure name hashing scheme in the gdsplt engine. The fix was a two line code change. No formatters or rasterizers were changed.
The Windows version did not exhibit this behavior, because that release v5.35a predates the code change responsible for the bug.

xgdsplot 5.39 06/2/2008

Speed Improvement for files with many cells.

When the GDSII file had many cells (~100k and up), xgdsplot crashed during the scanning phase. The user could still run the plotting from a command line. This new version supports such files and has a 5x speed improvement in plotting time. Even files with less cells will exhibit some speed improvements (the more cells, the more speed improvements).

Support for GDSII files with more than 1024 layers.

xgdsplot now supports GDSII files with over 1024 layers. A message will pop up to tell the user of such layer number.

Cadence Interface 2.57 02/16/2008

Added support for Cadence Virtuoso 6.x

This version of the Cadence interface supports Virtuoso 5.x and 6.x.

Ver. 5.38 01/5/2007

Added support for Linux FEDORA

This Linux release has been fully qualified to run on the following LINUX platforms:
SUSE 10 32/64 BIT

Ver. 5.37 08/18/2006

Solaris plotting problem at 600DPI

Plot was incorrect at 600DPI on Solaris. Problem reported by GUC and it is fixed.

Cell names over 32 characters

Cell menu displayed incorrect cell names when they were over 32 characters. This has been fixed. Reported by National Semiconductor.

Linux licensing

The xgdsplot GUI would not release the license during plotting, causing a license error on Linux. Problem fixed.

Plot file name

xgdsplot had a problem when saving the plot to a file name that has -d in it. Problem fixed.

Ver. 5.36 01/31/2006

Custom End type support

This version of xgdsplot supports custom end type for path.

Ver. 5.35a 04/12/2005

Full Page Plots

This image reflects support for full page format in RTL. It forces the bitmap dimensions to be exactly the same as the requested page size - In this case, GDSPLOT will not try to save paper. This feature was requested by Fuji-Xerox for their new line of RTL plotters.
The type of RTL output to choose for this feature is one of the following:

HP650C Color Std FP
HP650C Color Fast Enhanced FP
HP750C Color FP

Ver. 5.35 12/14/04

Text Rotation

A fix for plotting correct text, which is the first issue in your list of open issues below. The control for text reflection/rotation has been separarted into two separate controls to allow the toggling of text reflection and text rotation independently. This allows for all four possible ways to correct the text.

AREF Issue

A fix to the recent magic AREF issue. Magic AREF is now always enabled internally and all user-visble references to "magic" have been removed.

Ver. 5.33 05/15/04


After listening to requests from a number of our customers, we are pleased to announce a PreView option within the gdsplot software. This will allow the RTL data to be viewed on-screen prior to plotting, to enable the engineer to confirm that the correct layers, colors and fills have been applied to the plot.
If the plot looks good on the screen, you can hit the 'OK' button and it will be sent to the plotter.
If it doesn't look good, just hit the 'cancel' button and the plot will be aborted.
This facility will save the engineer plotting time, paper and ink, particularly when setting up new color tables.

Rasterizer bug

When plotting small windows, xgdsplot had a rounding error at the top row and right column of the windows plotted. It is not noticeable on a plot, but created a problem for the semiconductor equipment makers who use the tool to rasterize small window of the chip and compare it to an actual image.

Plotting multiple Windows in batch mode

xgdsplot had a bug when plotting multiple windows to file in batch mode. It is fixed.

Flexlm Floating license on Linux

xgdsplot crashes under some Linux OS conditions. Problem was related to Flexlm libraries and other libraries that were dynamically linked. These libraries are now statically linked and that fixes the problem.

Linux OS Support/Optron 64 bit Workstation.

xgdsplot now supports Linux 9, Enterprise 3.x and runs on the Optron 64 bit workstations.

Ver. 5.30 for UNIX 06/11/03

Text No Reflection and Rotation

Added plot.cfg option, GDS.ReflectRotateText: on/off, to plot text with no Reflection and rotation. Default is to plot text with reflection and rotation. Problem reported by Lattice and it is due to Cadence's exporting mirrored text in the GDSII file when a cell is mirrored.

Text Strokes Width

Added plot.cfg option, GDS.UseTextSize: on/off and GDS.TextSize: 5, to specify the width of the text strokes in pixels. TextSize is used if UseTextSize is set to on, otherwise, text are plotted using the layer line type.

Many Layers/Missing Layers

Older versions might crash when many layers are specified to be included or excluded in the cfg file. This has been fixed. In addition, the layers in the cfg file should be separated by commas with NO spaces. e.g. 200:0,300:0 instead of 200:0, 300:0 The spaces could cause data missing for the layers after the first space.

Corrupted Plot Output File Name

The layers in the cfg file should be separated by commas with NO spaces. e.g. 200:0,300:0 instead of 200:0, 300:0 The spaces could change the specified plot output file name to be something like ":0,".

Plot Many Windows - Crash Or Stop

When many windowed plots are defined in the .cfg file, gdsplt might crash or stop after plotting over 90 plots. This has been fixed.

Ver. 5.25 for HPUX 11 10/15/02

FLEXlm Licensing

This version supports the Globetrotter FLEXlm license manager. Requires that you run lmgrd 8.1 or newer.


This version supports HPUX 11 and up. It does not support 10.x.

Ver. 5.24f for Linux 7.2 and Solaris 09/26/02

FLEXlm Licensing

This version supports the Globetrotter FLEXlm license manager. Requires that you run lmgrd 8.1 or newer.

xgdsplot Linux 5.24 06/05/02

xgdsplot Linux v5.24 takes advantage of the Large File Support extension available on Linux 2.4 (Red Hat 7 or better), allowing xgdsplot to open, and plot files larger than 2GB (subject to the amount of memory available). Red Hat 7 or better is required for Large File support.

This release includes these features:
1. All applications are statically linked. This will avoid any shared library problems, such as Motif or C++ runtime libraries not being present on a user's system.
We provide two separate release packages for xgdsplot Linux v5.24: one for Red Hat 6.2, and one for Red Hat 7.2.
Red Hat 6.2 executables will run on Red Hat 6.2-7.2, but do not provide Large File support.
Red Hat 7.2 executables will run on Red Hat 7.2 or better, and provide Large File support for files larger than 2GB.

2. Some performance improvements may be evident, especially during flattening and plot generation.

Cadence Interface update version 2.28

Support for illegal structure names
Illegal characters in cell name such as $#@!&^ are mapped to an underscore "_" to match Cadence behaviour.

Support for all Preferences values to be overridden in .cdsinit.
We have modified the code to support all the variables (which control the iGDSPLOT preferences through the igdsplot.Xdefaults file) in the .cdsinit file. This will allow complete control by sys admins.

Plot striping
Automatic striping is added to the interface.

v5.21 09/19/2001

Plotting Speed
This version has major improvements in the rasterization speed of the gdsplot engine especially for files with arrays and when the nesting level is high (> 10). For such files you can expect speed improvements by a factor of 2 to 10. Files with no arrays and low nesting level will be processed at the same speed as previous versions.

Automatic Tiling
xgdsplot can now perform automatic tiling when the user specifies a scale factor which creates a plot area larger than the page size defined. Once the user selects "Start Plotting" from the menu, xgdsplot will inform the user the number of sheets it is about to generate.

v5.20 07/14/2001

Use Qckvu To View GDSII File
This version allows users to select Qckvu or other GDSII viewer to view the GDSII data from Xgdsplot when the "View GDSII Data" button is clicked. Once a viewer is selected, it is remembered every time Xgdsplot is run. The default viewer is Xgdsvu.

New Faster RTL Driver
This version has 3 new RTL plotting modes which can plot in fast draft, enhanced and final mode. These modes are configured for HP650C and could be used for most HP plotters.

Default Fill Pattern
Older versions would plot layer solid filled and layer/datatype blank(white on white) if there is no entry in the map file to specify the color and fill pattern for the layer(layer/datatype). It has changed to plot outline in a default color with no filling if the color/fill pattern is not specified for the layer in the map file.

Layers List Limit
The lists of include and exclude layers now has a maximum length of 8192 characters, increased from 256.

Cadence Fill Patterns
This version ships with more fill patterns which look like Cadence's fill patterns.

Resizing the Select GDSII File Dialog
In older versions, this dialog might not come up with the correct width to show the directories and files. This has been fixed to show the directories and files (without the full path). Resizing the dialog also resizes the width of the directories and files lists to show the names (not the full path). Moreover, the previously resized size of the dialog is preserved during the run of the program for all file open dialog in Qckvu.

Aref Control
The Aref control is not remembered and reset to full if the GDSII file is viewed. This has been fixed.

v5.00 03/14/2001

Support Over 2GB GDS File
This version supports GDS file over 2GB. Older versions would pop up a message box saying "File 'abc.gds' does not exist." when selecting a file with size larger than 2GB.

Plotting Layers That Do Not Exist
This version plots the legend for the specified layers even if they do not exist in the GDS file. (Requested by Harry Hagelstein from Philips).

Array Reference Mode
Added array reference mode 1 to plot just the outer rows and columns. (Requested by Ron Glaze from Mosel Vitelic).

New Install
The version comes with a newer and simplier installation (Requested by Britta Krueger who is the sys admin at Mosaid).

v4.16 07/13/2000

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.

v4.13 04/11/2000

Incorrect Line Style
If a line style other than the default style (solid line with 1 pixel width) is chosen, the output is not plotted with the selected line style. A random style is used instead. This has been fixed.

v4.12 03/29/2000

Fix AREF banding bug
AREF (Arrays created using the AREF command) were not completely plotted when the plot is banded. This occured when the insertion point is not included in the current band. This is now fixed.

v4.11 02/15/2000

No Output/Plotting Crash/Pipe Error
Older versions would crash while plotting without any warnings/errors if the font files specified in the .cfg file do not exist.  In this version, it will not crash.  The text output might not be correct though.

Job File Location
This version generates the job file in the current working directory, the same as the ssn file, instead of the GDS file directory.

Select GDS File Dialog
This version shows GDS files in the directory where Xgdsplot is started in the Select GDS File dialog box.  Once a file is selected, it is remembered and will go back to the same directory on the same run.
Selecting the Map file also starts up in the start up directory.

Scan GDS File for Datatype Information
This version will rescans the GDS file if the .ssn file does not exist, or it does not contain datatype information.  It still keeps the .ssn file in place so a rescan will not be necessary next time the GDS file is plotted again.

More Fill Patterns
This version provides more fill patterns.

Missing Data in Normal Mode
4.10 might drop data when plotting under Normal Mode. This has been fixed.

v4.10 2/2/2000

Datatype Discrimination
Users can specify color, line type and fill pattern for each datatype used for a layer. This feature is default to be off. Major changes were made to the program in order to support datatypes.

Map File Entries - The map file is sorted according to layer, then datatype, everytime the map file is saved in the Layer Parameters dialog box.

Layer Selection - Added select and clear all functions to the layer selection dialog box inside the Plot/Page Description dialog box.

Default Memory
Default raster and swap memory are changed from 8 to 64.

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

Cannot Plot and View
Older versions might not be able to plot and view after Xgdsplot has been running for a long time. This has been fixed.

Data Got Clipped Off
Older versions under Normal Output Control would generate clipped off data when data is rotated. This is not a problem under Enhanced mode. This has been fixed.

Xgdsvu updated to 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. Though, datatype discrimination is not supported in Xgdsvu, only in Xgdsplot starting 4.10.

v4.07 10/26/1999

New faster gscan
This version is using the new GDSII scanner which works 10-15 times faster then the previous version. It will speed up the reading process of a GDSII file in both xgdsplot and xgdsvu.

Increase Scale Limit
Previous versions allow custom scale value up to the grid value of the GDSII file. This version removes this limitation.

v4.06 8/19/1999

This version will use the remembered PatternFile in the plot.cfg file in the local directory or the installation directory if the PatternFile exists. Otherwise, it uses colfill.pat in the installation directory. Customer: Sau Cheung (saucheung@lucent.com).

GDSII File Extension
Added control to default the GDSII file selection dialog box to users specified GDSII file extension, instead of always *.gds. Customer: Alan Fan, Avant, Taiwan.

Plot Header Corrected: Scale Factor
When a scale is specified for a plot, the reported scale in the Plot Header was always 1. This has been fixed.

Scaled Plot Auto Rotation
Scaled plot might not be auto rotated correctly. This has been fixed.

Change TEXT entity handle
TEXT entity may has width and magnitude. This version will default to ignore the width information.

v4.05 7/20/1999

Change TEXT entity handle
TEXT entity may have width and magnitude. This version will default to ignore the width information.

v4.04 5/28/1999

Fix legend bug
If legends and/or header strings are enabled, but ruler is disabled, previous version would generate a blank page.

v4.03 5/6/1999

Fix Legend Problems
Legend box was plotted incorrectly if more than 3 rows of legend boxes were generated.

Fix Clipping
The clipping bug occured when the following conditions were true:

  • plotting a portion of the drawing (window plot) and data exists over the right edge of the plot window
  • legends are required and the total legend width is wider than the drawing window.

v4.02 3/25/1999

Banding Bug Fix
The program was crashing with signal 11 after flattening. The problem was likely to occur when "banding". Empty area appeared in the plot.

v4.01 03/22/99

Preloads Text Fonts
This version preloads all text font files into memory. If it cannot find the specified font it loads the default GDSVU.FNT font file.

Tighten Reference Structure Database
References are stored more efficiently reducing by 30 bytes per reference the amount of space required.

Buckets are introduced into the sorting function to minimize unnecessary comparison

Special SREF database to minimize duplicate data and comparison AREF's are not sorted as they use a high speed bitmap copy function.

Bug Fix for Undefined Structures
GDSII file that contained references to undefined structures would put v4.00 in infinite loop or crash the engine. This condition is now detected.

Add Progress Percentage
Added a progress percentage output indicating work done on the top structure.

v4.00 03/12/99

Major Rewrite to Improve Speed and Memory Usage
The internal database has been restructured:

Database size is reduced. Only SREF and AREF elements are stored in RAM. Boundary, path and text elements are read directly from the GDSII file on demand. This elminates the loading time at the beginning, but adds some additional processing time at the back end.

Small GDSII files will see little or no speed improvement but the large files that would have extensive required disk-swapping will run much faster overall.

the -vref option, reqd for very large files is now obsolete.

v3.51 03/12/99

Plotting speed
GDSII files with a lot of structure references may get speed improvement as high as 10x.
This improvement is due to SREF and AREF being sorted before plotting. Sorting SREF/AREF allows maximum possibility to perform structure bitmap copying operation.
Files with very few sortable SREF/AREF may experience slow down due to extra overhead of sorting. However these are normally small GDSII files where processing time is not an issue.

v3.50 03/09/99

Fix Contact Fill Pattern Bug
Contact fill patterns (16, 17 and 18) were not plotted correctly.

SREF and AREF objects without STRAN would cause confusion in previous version, and the reference extents calculation was incorrect. This is now fixed.

v3.49 01/16/99

New fill pattern file
The new fill pattern file has 194 different fill patterns and colors, almost double the number of fill patterns in the previous version.

New Keying Installation
Node locked codes are stored in a file called acs.key so there is no need anymore to run REKEY program when you get an update.

Black and White Fill Pattern
Under CDE settings with non-white system background, older versions would show black and white fill pattern buttons reversed. This has been fixed.

Raster Memory and No. of Swap RAM
Older versions had a maximum limit of 1024M. This limit has been raised to 4096M.

New Gscan
This version uses a new GDS file scanner, gscan 1.32, which is 2 times faster then the previous version. The scanner scans the GDSII file selected by the user.

v3.46 05/06/98

Release the License Fix
Previous versions of Xgdsplot would not release a license if the program cannot open the display (typically due to Motif problems. This has been fixed.

Auto Tile on Metric Paper Sizes
Auto tile on metric paper sizes previously (and erroneously) assumed that the paper size=A. This has been fixed.

Plot/Page Setup
This version remembers both the plot-to-file and custom output settings. Users who toggle between these 2 settings do not need to reenter it each time.

v3.45 04/22/98

Lserv4 Support
Updated to run on LSERV 4.1 (Y2K compatible). Users will need to install the new license manager and get fresh keycodes.

Cfg File Settings
Older versions would only use cfg file if a job file exists and points to that cfg file. This version will use .cfg if it exists regardless of the existence of the job file.
If users choose to rescan GDS file, then xgdsplot will use any remembered settings in local GDSVU.CFG, if it does not exist, then it will use GDSVU.CFG in the installation directory.

Unable to find self
This message would pop up if the PATH string was longer than 1024 bytes, and if the xgdsplot directory were listed near the end of the string. This limit has been increased to 2048.

v3.44 03/27/98

Crashes at Start Up due to long path fixed...
Older versions would crash if the PATH environment variable holds a value longer than 1024. New limit is 2048.

v3.43 03/20/98

Loading the proper Cfg File

If :cfg is not specified in the job file, xgdsplot would default to use gdsfile.cfg in the current directory, instead of using default values.
Fix requested by Randy You of Hyundai.

Text On/Off Button Action Fixed....

The only way to turn off text was to delete all 4 font selections. In this version, the text on/off toggle now works the way it should and turning on text will use the last set of font selections.

Gdsplt Plot.cfg File

The gdsplt plotting engine now supports the name of the plot.cfg file on the command line instead of always reading it from the current directory. Syntax is -pltcfg:myfile.cfg to the command line of gdsplt.
Needed for the new Cadence/Virtuoso SKILL interface....

RTL2VERSA Versatec Formatter v1.09 3/13/1998

Only for Versatec Output

Conditionally output clear signal
At the beginning of a plot, v1.09 will check if the plotter has an empty buffer. A CLEAR signal is sent to the plotter if the buffer is not empty. In previous versions, the CLEAR signal was always sent regardless of the buffer state. The CLEAR signal may hang the plotter if the buffer is already empty.

v3.30 10/09/97

Fixed Memory Allocation Problem for Files > 1 GByte

Fixed a memory allocation problem that caused previous versions to fail when plotting GDSII files greater than 1 GByte. GDSII files up to 4 Gbytes are now handled correctly.

Fixed Fill Pattern Dialog Box Display Problem

The dialog box that displays the available fill patterns appeared to be clipped under the new HPUX CDE and Solaris 2.6 CDE environment. This was fixed.

Progress Watch Cursor Added

When the Plot/Page Setup dialog box or the viewer is up, a watch cursor is displayed for the main dialog box indicating that control returns to the main windows only after Plot/Page setup or viewing is done. This was added to help users who thought that the main dialog window had frozen.

Better Motif error handling under SunOS

If the expected Motif libraries:

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

were not found, previous versions would crash without issuing an error message. The present version now issues a message describing the problem and suggests how to correct it. Much better behavior.

New Plotter Setup Tabbed Dialog

We've implemented a completely new tabbed dialog box for setting up the plotter's page size, plot format, and output direction. It was designed after much user input and should be much easier and more intuitive to use.

Removed False Warning/Error message

When launching the Plotter Setup dialog box or Xgdsvu, older versions would pop up a false alarm error message box saying:

 "(4) Error occurred in executing xpltcfg/xgdsvu....".
This was a bad error message and has been removed.

Color Conflicts with Netscape Mitigated

When Netscape or other color intensive programs are up and have grabbed a large portion of the available color palette, xgdsplot would start up with a white (and unusable) background and issue the following message:

  Warning: Cannot Allocate Default Colormap
This version now tries to use another color as the background color, with black as the foreground color. While this is not the optimum colors scheme to use, at least the controls are now visible.

Motif System Resources Defined

For those of you who like to tweak your .Xdefaults settings and get finer control over the appearance of XGDSPLOT we've made the following controls available.

  • MainFontBtn [font used for the button menu]
  • Label_Font
  • Text_Font
This would appear in the .Xdefaults file as:
xgdsplot*foreground:      [tab]black
xgdsplot*background:      [tab]grey
xgdsplot.MainFontBtn:     [tab]-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xgdsplot.Label_Font:      [tab]-adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xgdsplot.Text_Font:       [tab]-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1

Note: the [tab] indicates that the spacing between the resource name and the resource value should be made using the tab key and not the spacebar. We found this is required for SunOS and Solaris.

v3.29 08/25/97

Increased Max number of Structure to 64,000

Two changes were made to support extremely large GDSII files. Typically files that require this change are on the order of 500 to 1000 MBtyes.

[1] The maximum number of structures in a file can now be up to 64,000 (raised from 4096).

[2] GDSPLOT can save the structure list/pointer tree to disk now, instead of RAM if needed. While this slows things down, it does allow essentially unlimited space to hold this list/tree. To force GDSPLOT to save the list/tree to disk the user should go to the configuration menu and check the item "Extensive Referencing"

                           Fast (Use RAM)
Structure References
                         X Extensive Referencing (Use Disk)

v3.26 (XGDSPLOT only) 07/03/97

Many changes were made to the XGDSPLOT program after signficant testing.

Plot Tiling/Striping

When large plots are to be tiled, a message box will open warning users that Plot Header and Rulers will be turned off in tiled plots. Currently our tiling routine cannot account for the space required by the header, layer legend and ruler. Future versions of the software will support auto-tiling with legends, headers and rulers.

Multiple Plots start with #1

When defining your plots you will notice that the first plot starts with 1 instead of 0. Fixed at request of the application manager who thinks that everyone except for programmers starts counting at 1,2,3, not 0,1,2,.

Netscape and GDSPLOT Color Map Conflicts

If Netscape is running and xgdsplot is launched, one often gets the error message:
  Warning: Cannot allocate colormap entry for "#2555ac71bc71
This message be eliminated by running Netscape with the -install command line switch which forces it to use it's own colormap. This does result in color flashing as the cursor moves from one application to another.

Alternately you launch Netscape with less colors, using -ncols 16, for example.

You can also run xgdsplot with the -bg grey command line switch. This forces grey as the background for xgdsplot (assuming netscape is using grey background). You can set this automatically by adding an entry to your .Xdefaults:

   xgdsplot*background:       grey
   xgdsplot*foreground:       black
Note that a tab must be used after the colon (:) ....not spaces....

XGDSPLOT Starts in Screen Center

Xgdsplot now starts up in the center of your screen instead of somewhere else...

Controlling Font Size and Style

You can control the appearance of xgsdplot by setting certain parameters in your .Xdefaults file.

    Main Dialog Box Font
    xgdsplot.MainFontBtn:   9x15
    Fonts in other Dialog Boxes
    xgdsplot*FontList:      9x15

Fixed Title in Line Color Dialog Box

This dialog box's title was changed from "Color Palette" which was not very descriptive of what the dialog controlled to "Line Color" which is pretty clear. (It sets the line color for boundaries and paths....)

Improved Usability of Line Type Dialog Box

Changed title from "Linetype Palette" to "Line Type" since the color is set from a different dialog.

Line types are changed to 4 groups of 8 line types, plus blank line type. Each group has a different line weight measured in pixels.

In addition, an index and pixel sizes of the selected line type are shown in the dialog box for easier reference.

Simplified Layer Parameters Dialog Box

Layer Precedence setting is deleted since it is no longer needed. Selecting a different palette file is deleted since there is only one colfill.pat file and no reason to select a different one.

Log File Window Size

The log file window was constrained to 125 width; now user can set any width/height. It's easier to squeeze into available space.

No More wasted CPU Cycles while Idle

Previous versions would eat CPU cycles while idle due to a hidden Motif progress waiting dialog box. The box has been deleted and the cycles are no longer wasted.

Support Magic AREF Behavior

The popular program Magic outputs GSDII array references differently than Calma. To properly plot GDSII files from Magic (or derived programs) one can now click on a Magic AREF button in the configuration dialog box. Note: XGDSVU ver 5.31 does not yet support this and will not display the Magic AREFs correctly but this will be fixed.

New Extents Calculation Button

In the plot/page dialog box, an Extents button is added so the user can see the overall extents of the currently selected structure when manual plot mode is selected. Users can adjust the desired plot area or scale based on the overall extents.

Calculate/Preview Plot Size

In the plot/page dialog box, users can specify a fixed scale factor and then press Calc Area to see what size a plot will be generated.

Plotting Origin

In the plot/page dialog box, plotting origin is not supported. The location on the page should be controlled using the four margin parameters.

Output Mode

In previous versions, when enhanced mode is selected, data could occasionally drop out. This has been fixed.

v3.24 4/25/97

Bug fix: "signal 10" problem

gdsplt engine would plot okay with some GDSII files, but sometimes it would generate "signal 10" or "signal 11" message and crash. This was caused by the creation timestamp of the GDSII file being misaligned with the computer. This version disables the timestamp checking which in turn avoids the problem.

v3.23 04/11/97

A different map file can be loaded in the Layer Parameters dialog box.
A new "Save As" (map file feature) has been added.

v3.09 12/12/96

Fixed a bug in the "Calc Size" function.

v3.08 08/29/96

Fixed a memory fault in GDSOUT when piped I/O was specified.

v3.07 07/31/96

Recompiled on HPUX 9.0 to support the 46021A keyboard.

v3.06 06/10/96

Output A1 - A4 paper size to GDX stream

v3.05 05/30/96

Add -pidxxx option to plot command line

v3.04 05/14/96

Fixed a bug when calculating the required raster memory for the first band of a color plot.

v3.03 05/13/96

When a structure contained only a SREF or AREF (and no entity data) the coordinate point (0,0) defaulted as an extent calculation point; this caused an incorrect extent calculation if the actual extents did not include 0,0. Fixed.

v3.02 05/13/96

Fixed a bug that occured when the legend width was longer than the header strings and the picture width,;part of the legend would get cut off.

v3.00 04/24/96

Jump from v2.51. Added a parallel processing rasterizer for multi CPU support with PAMS software. For internal use only

v2.50 03/21/96

Structure names were limited to 32 characters; raised to 128.

In "Layer Fill/Color" module, duplicate layer definitions were generating duplicate table entries in the "Edit Layer Table" This has been fixed.

v2.49 03/21/96

Added Versatec driver support

v2.48 02/12/96

Recompile DOS version of GDSPLOT. Allow ACS_FLAGS variable to use # or = signs for value separator to account for DOS shell limitations. This revision is only of interest to DOS users plotting GDSII from Magic where AREF behaviour is not standard. Use the environment variable settings:
so that the program will account for known problems in Magic's handling of AREF rotation.

02/09/96 v2.47

GDSPLOT DOS created the legend header string before computing the correct scale factor so the default scale of 1 was always displayed in the header string output. This has been corrected.

02/06/96 v2.46

Negative AREF displacement requires negated dimensions in plot output.

Paper sizes specified in metric did not scale the margin by 2.54 resulting in incorrect margin calculations and clipping of the plot incorrectly. Problem was fixed. Only affected users who defined the page size in metric instead of inches.

Changed the default margin from 1 inch to 0.5 inch.

Added an environment variable called ACS_FLAGS; currently used to check for

(AREF is case sensitive, magic is not). When AREF=magic is set, this disable AREF XY validation which is necessary because of bugs in Magic's AREF rotation.

01/09/96 v2.45

Change user interface:
In the plotter setup menu we deleted the offset parameter which was replaced by page margins settings.

New Feature: Calculate Plot Size
For users plotting to a set scale factor we offer a function that calculates the plot extents by multiplying the scale factor times the extents of the selected structure. Because for large chips the structure extents calculation could take several minutes this function is not automatic but must be activated by pressing the F6 function key. Requested by Hyundai.

Recompiled GDSPLOT DOS with STACK 32768 to correct stack overflow.

12/12/95 v2.44

Corrected a problem on the DOS version of GDSPLOT - the SWAP file was not opened in binary mode causing a read error when swapping to disk.

11/03/95 v2.43

AREF extents calculation now checks the COL and ROW values; the COL displacment vector is used to compute the array orientation in normal cases except when COL value == 1; when COL value == 1, ROW displacment vector is used to compute the array orientation; the array orientation controls how the displacement values are used to compute the extents.

10/16/95 v2.42

Recompile DOS version. On DOS, GDSPLOT was incorrectly using the scale factor of the previous plot to compute the dimension of legends; bug was caused by the rasterizers which did not pass the current scale factor at the right time. No effect on UNIX versions of GDSPLOT.

10/16/95 v2.41

The Linetype setting now affects the plotting of special contact fill patterns, text strokes and zero-width paths.

An error message is written to the log file if GDSPLOT cannot locate a color.map file.

10/02/95 v2.40

New Feature: User can now control linewidths up to 4 pixels wide via the linetype parameter

linetype    Description
0           : no outline
1-8         : 1 pixel outline, 1 is solid
9-16        : 2 pixel outline, 9 is solid
17-24       : 3 pixel outline, 17 is solid
25-32       : 4 pixel outline, 25 is solid
This feature was requested by many users who felt that boundary outlines of 1 pixel were often difficult to pick out.

Changes ported to DOS version of GDSPLOT

09/29/95 v2.38

GDSPLOT now searches the executable directory for gdsplot.map file if it does not exist in the current directory; This was done to simplify installation at sites where multiple users wanted to share a single map file.

GDSPLOT ONLY searches the executable directory when no explicit path is given in the map file name; if a specific directory path is given, the named file is used no matter whether it exists or not.

GDSPLOT now plots text using the default font file, GDSVU.FNT when a new job is created. If the user specifed font is not found and the specified file name does not contain a directory path, the font file is searched in the executable directory.

These changes were made primarily to improve the "out of the box" usability of the program.

09/11/95 v2.37

Relaxed GDSPLOT's testing of REFLIB and FONTLIB name length checking; lib name no longer need to be 44 characters long and not all required font names need to be in the stream file; we relaxed this checking since the REFLIB info is of no value and some programs were not outputting "legal" REFLIB or FONTLIB names.

08/31/95 v2.36

Disabled the GSCAN module; use internal extents calculation. This speeds up this portion of the program significantly.

Disable auto-tiling and internal extents; the auto-tiling function had no way to warn the user of the number of plot strips required - if a user makes an error he has no way to know until plots start coming out. This can be re-enabled once the appropriate user interface is added.

08/28/95 v2.35

Added piped messages to the GSCAN module.

08/22/95 v2.34

Fixed bug in tile calculation: rotated tile used the window extents of non-rotated tile.

Use T*.tmp temp file name specification.

Remove temp tile batch file.

08/17/95 v2.33

Fixed a bug where the first layer selected for plotting was occasionally dropped when scanning the GDSII file.

07/25/95 v2.32

SREF insert reference point was 10x too big when the original GDS user unit == 1; This is an extremely rare situation since no one normally creates GDSII files in units of meters.

RAM option was not used if user failed to open the Configure Program menu and hit F8 key to save the options.

Add support for auto-rotate where the user can tell GDSPLOT to find the most favorable orientation.

Added new 'W', 't' and 'r' keyword to cfg file to support tiling of plots onto multiple sheets.

07/17/95 v2.31

Disable the piped message process added in v2.30 7/14/95; the no-exec fork prevented the system() function from returning control back to the formatter.

07/12/95 v2.30

Layer map file is searched from the current directory then, if not found, the executable directory; exception: if a full directory is given in the map filename,, ONLY the given directory is searched. This feature was added to support sharing of the layer color fill assignments among a group of designers.

Preload GDSVU.FNT at startup

Write a message to the plot.log file when the text font file cannot be found.

Implement dual-pipe operation in GDX I/O. This doubles program speed by moving data via memory pipes instead of file I/O.

Add piped message process to improve on-screen process message report update

06/08/95 v2.27

Enchanced AREF/SREF structure extents calculation for better fit

6/08/95 v2.26

Fixed a rare bug that occurred when using custom scale and no banding; on DOS the engine scale factor was mistakenly set to 1 by default; doing that generated bad plots of AREFs and SREFS.

6/05/95 v2.25

Legend Width was computed without taking the text width to height ratio into account. This generated a legend length longer than needed.

5/31/95 v2.24

Fixed a bug that occured only when the GDSII grid=1 (very rare) and a custom scale factor was is given and the plot is banded; 9/10 of the plot disappeared.

Re-enable network license key release when gdsplot shell launch gdsplt engine

5/30/95 v2.23

fixed a bug where banded output could fall into infinite loop due to an incorrectly masked segment band flag

5/23/95 v2.21

Use font scale from cfg file when calculating text extents instead of assuming a scale factor of 1.

5/22/95 v2.20

Added legend width parameter to GDX stream insuring that the raster raster bitmap is wide enough to hold all the legend text

5/19/95 v2.19

When legend is enabled, generate min-mzx of structure from GDS reader; disable on-the-fly min-max calculations.

Reduce text size of legends to a more reasonable value.

5/10/95 v2.18

Add plot legend support:
a) Header text on top of page (ignore rotation)
b) Legend boxes follows header text
c) Ruler ticks around drawing
d) 3 separate resources control Header text, egend boxes and Ruler ticks ON/OFF (respectively PlotHdr, Legend, Ruler)
e) Custom header text string control by resource HdrTxt in plot.cfg.

Update user interface to enable control of plot header, layer legend and ruler display.

5/01/95 v2.17

gdsplt engine no longer opens an x-term.

3/09/95 v2.16

Add detail to the plot.log file.

Segmented rotation did a double rotation when computing the front-end clipping limit. Fixed this.

3/08/95 v2.15

Change in common gdsexpo.c module to improve portability; no effect on gdsplot

3/06/95 v2.14

Fixed memory corruption in plot.cfg resource handling in gdsdb module. SHX module uses 'long' offset

3/03/95 v2.13

GDSIN module crash when more than 4096 XY vertices encountered in a boundary. Fixed this.

2/24/95 v2.12

Second level SREF was dropped if it cross a band edge. Fixed.

2/24/95 v2.11

SREF extents checking used only the bottom to determine whether the data should be included or excluded in a particular band. data was dropped if the top edge crossed a band. Fixed.

2/22/95 v2.10

Disable Offset (Origin) in Window Plot operation.

2/21/95 v2.09

Clip stack operation added

2/15/95 v2.08

Perform Origin translation in GDX front end; always output 0,0 offset in GDX output.

2/07/95 v2.07

Code changed in common module gdsexpo.c for portability; no effect to users.

2/07/95 v2.06

SREF angle/mag. comparsion function did not compare with the correct tolerance; fixed.

2/06/95 v2.05

Add command line option -scaleXXX where XXX is a given plot XYScale used in debug mode 7 or above

Fixed a bug: AREF and SREF was missing data when
a) an AREF failed any restriction test, so it was exploded,
b) the following AREF or SREF satisfied the tests

1/25/95 v2.04

fixed a bug in rdshx, the module that reads the shx font file for text.

1/17/95 v2.03

Increased maximum number of vertices per boundary from 200 to 5000.

1/12/95 v2.02

Fixed a bug where a plot with 90 degree rotation generated an incorrect extents calculation.

1/09/95 v2.01

Limit AREF and SREF plot output on raster plot only

Default behavior of GDSPLOT modified to plot all layers instead of no layers. Makes it easier to use out-of-the-box.

Fixed a bug where the plot engine would hang while reading the job file if it encountered an undefined structure.

1/05/95 v2.00

Modified GSDPLOT to store bitmap of certain repeatedly used SREFs and dropped bitmap into inserted location instead of re-rasterizing the data. Speed increase of up to a factor of 20 depending on the number of small repeated SREFs. Memory type chips may increase by a factor of 100 or more.

Add piped-information exchange code; this code will ask the rasterizer to return a XYScale value and use the value to validate AREF or SREF output

Add paper margin control info to GDX output