This page summarizes the changes and fixes to each version of the Qckvu3/Care Area Wizard project.
New attribute plugin finder is included with this release. Old release caused a crash while searching for an OASIS attribute.
Plugin can be developed to control Qckvu3 to open a file. Refer to qckplugin.h in the csv_plugin_sample directory.
This error occurs during loading when opening an OASIS file that has a table of CELLNAME records which are not contiguous.
When a "floating/new" CELLNAME record exists after the end of a cell, the cell would not be correctly categorized as having layer data inside of it.
This directs the database to expect no layer data for that cell. So when the loading phase tries to add geometries/layers to this cell, the program thinks a memory error has occurred. This has now been fixed; a non-contiguous table of CELLNAME records for non-strict mode is now working correctly.
When clicking on a geometry, the data for that geometry is not reported as expected.
The reason for this is due to 'info filtering' being turned on. Now, if infoing filtering is turned on, a yellow warning message shows up in the status bar as a reminder.
To see the status of 'info-filtering' use the menu Info/Info Filter.
Previous versions might crash when opening an empty file with no layer data depending on which plugins are installed. This has been fixed.
Data might be missing when zooming in/panning if the coordinates of the data is beyond +-1.07 billion um, depending on unit and grid. This has been fixed.
Though coordinate limits are still 32 bit (+-2.14 billion um, depending on unit and grid). Zooming to outside of +-2.14 would still yield a blank display.
Previous versions might not redraw a new picture when zooming in and out or it might crash with X error messages dumped to the console. This could happen when a plugin is changes the states of Qckvu3 between redraws. This has now been fixed.
Page up and down in the layer sidebar would skip one layer and display one layer too far (page down from layer 1 to 5 would show layer 7 to 11). This has been fixed.
Illegal characters in OASIS ASCII a-strings are now allowed and they do no cause an OASIS file open error anymore.
Previous version would highlight the extents box of the data when infoing the data. This would happen if the data has adjacent vertices very close to each other while the extents is relatively larger. e.g. a long path with many vertices. This has been fixed to highlight the actual data instead of the extents.
Added a new control in the Settings menu. When turned on, elements of any OASIS repetition which are inserted at the same point of another element in the same repetition are considered redundant and will be skipped during drawing and data processing. While this means that the software producing the OASIS file likely had redundant placements, it will speed up rendering of such poorly constructed files.
Info Crashing from too many elementsPrevious versions might crash when there are lots of geometries and references under a the requested info point or window. This has been fixed.
After finding an object using the same info control as in previous
versions, users can now query the object's parent and grandparents by
going to Tools/Cell Reference Info.
A list of parent and grandparents of the current info object is listed
and single clicking on each of these cell names will draw a box highlighting
the reference of that parent.
Double clicking on a cell name in this parent list will go into the cell
just like selecting the cell to view. Once viewing the new cell, the
same operation can be done to info an object and traverse it's parent
and grandparents reference box.
To go back out to the previous viewing cell, single click the cell name
in the View Cell History list.
The color and pixel width of the parent reference box are controllable
via the controls on the bottom of the dialog.
Going into a new view cell is just like opening a cell in the
cell dialog to change the current viewing cell. It will trigger a open
new cell event to various plugins if the plugins have to do something
when the viewing cell is changed.
Added an Info Filter control to the Info menu to allow users to select
what data are reported when infoing. The 4 selections are boundaries/
paths, texts, references and filtered areas. Set the filter before
infoing a point or window. Default is to report all 4 kinds of data
with all 4 selected in the menu.
Various plugins has select object/info controls, those controls will
now force this new Info Filter to be set according to the plugin's
functionality - if the plugin only wants to select/info references, now
the filter will be set to only report references. To select a different
filter setting after a plugin sets it, simply go to the Info/Info Filter
menu and select accordingly.
Extents for cells with paths along it's bounding box area are now calculated more precisely according to the path width and path end extensions. Only in some extreme cases of non orthogonal angled paths would the extents be not exact.
Info High Memory UsageWhen infoing a large area, Qckvu3 might use a significant amount of memory. This memory wouldn't be released until the next infoing, now pressing escape/stop (to clear the info) would release the memory.
Open Layers Filter Reminder Message
When opening a GDSII or OASIS file, if the Open Layers Filter is turned
on to open only certain layers or ignore certain layers, a yellow message
in the status bar is now shown. If the filter is not meant to be turned
on, users can stop the file open.
After the file is opened, the yellow message stays behind reminding
users the opened layers are listed in the layer sidebar.
Press Esc, or right click, or click the Stop button to clear the yellow
message.
The yellow message will also clear if it's up and the Open Filters dialog
OK is clicked.
Specifying a list of layers can now be done with , [space] ;
e.g. 1, 2 3; 4 will be auto fixed to 1,2,3,4
Colon : is still used to specify datatype.
e.g. 1:0, 2:5 3:10; 4:20 is 1:0,2:5,3:10,4:20
Multiple windows extraction can have a 7 times speed up when a large number of extraction windows is specified.
Added control to ignore all texts in the GDSII or OASIS file. Set this in the Open Filters dialog before opening the file. Default is ignore texts off. This setting is remembered between Qckvu3 runs.
Remember Open Layers and Ignore Cells Filters
A new "Remember Layer & Cell Filters" control is added to the
Open Filters dialog to remember the "Layers To Open" and "Cells To Ignore"
settings between Qckvu3 runs.
If remembered, users can just run Qckvu3 and open a GDSII or OASIS file
and the remembered layers and cells to be opened would be used automatically.
Default is to not remember the layer and cell filters. Clicking
Reset All To Default Settings will turn off this remember control.
Note that if certain layers/cells to be opened are remembered, users
might not be aware of it when opening a file in the next Qckvu3 run
and missing data might be the unwanted behavior.
Multiple windows extraction can have a 7 times speed up when a large number of extraction windows is specified.
Get Structure References
When finding cell references, previous versions might skip some
data resulting in incomplete results, or it might access some data
unnecessarily resulting in slow searching.
These 2 issues have now been fixed and the search speed could be many times faster.
Starting in Qckvu3 v3.51 (5/5/2010), infoing OASIS would crash when there
are display filtered areas being info-ed.
Since single click in the default zoom window mode is also infoing, users
might be confused that the zooming is actually crashing.
Previous versions would report the measured distance off by 1 if the distance is negative and the GDSII file has a grid of 1.0. This has been fixed.
Incorrect Running Lines When Zooming In Tight To Long Non Manhattan DataPrevious versions would draw incorrect data with running lines when zooming in tight to non manhattan data with large extents. This has been fixed.
Opening GDSII file crashing at the beginning of loading
When opening a GDSII file after a cache file is opened, it might crash
at the beginning of loading (when the first text is added to the database
during loading).
The crash would only happen if the 2nd GDSII file has more text than
the 1st GDSII cache file; AND that the cache file was generated after
a GDSII file was opened which has more text than the GDSII file that
the cache was generated from.
This has been fixed with no memory maps cache files backward compatibility
issue.
When opening an OASIS, this error might occur if the OASIS file has CBLOCKS which uncompresses to more than 2MB. It has now been fixed.
Missing/wrong OASIS data when load to memory is turned offStarting in v3.40 (2/3/2010), OASIS cell placements with magnification or angle would be missing or wrong in the drawing and get vector data result when load to memory is turned off. This has been fixed.
Improved Net tracing plug in.
When Using the info function on an object, users don't have to click on the object vertex
to find it anymore. Users can now click inside the object or on an edge
of a polygon to info it.
When multiple objects exist near the info point, Qckvu reports the nearest
object first. Tabbing through will report the next nearest object.
Use the Info Point mode for this Smart Info feature.
The old Info Window mode remains the same - the info window area must
contain an object vertex to find the object.
Info window is multithread and it reports the first object and returns
right the way. Info point is single thread and it waits.
As the user types a string in the text box, the attribute list gets filtered to best match the typed string. This behavior happens on the fly. This feature allows the user to narrow down the search to list of attributes based on a pattern in their names.
OASIS Attribute Finder New Features - Select All/Invert Selection buttonsAllow the user to quickly select all/multiple attributes.
OASIS Attribute Finder New Features - Enhanced ResultsThe results list box enlists the attributes that were detected in the search area. Clicking on any one of those attributes highlights all polygons associated with that attribute so that it stands out from the rest. If 'Zoom to trace extents' is set, the Qckvu3 view will change to fit to the extents of the trace.
OASIS Attribute Finder New Features - Get infoUsing the Qckvu3 'Info Tool', one can ID a polygon/reference and get information about the attributes associated with it.
Ignore OASIS Attributes Control in Open Filters DialogAttributes are default to be ignored during open. If OASIS attributes support is needed, turn off the Ignore control and then open the OASIS file.
We added the ability to search and highlight OASIS geometries and cell placements
by the attributes associated with them.
At present, any PROPERTY record associated with a GEOMETRY or PLACEMENT
that has S flag = 0 (non-standard property) and a string as property value, is treated as an
attribute.
The 'Find OASIS Attributes' dialog in the Tools menu allows a user to
see all the attribute strings defined in an OASIS file and search/highlight
all features (Geometry, Placement) associated with a particular attribute
name or regular expression.
Search for attributes is performed only in the current view. Only visible
features (layer turned ON) will be found.
OASIS zoom pan and data processing has now been further optimized to be 3X faster than previous versions depending on the data. For a GDSII corresponding OASIS file, the OASIS zoom pan and data processing speed is now almost the same as GDSII or 1.5X slower than GDSII (it was 5X slower than GDSII in previous versions).
OASIS "Load To Memory On" Speed and Memory Usage
When Load To Memory is turned on for OASIS, previous versions of Qckvu3
do not yield any zoom pan and data processing speed up, and they use
just a little more memory.
This version now puts the whole OASIS file in memory and thus all zoom
pan and data processing are getting data directly from memory for faster
operations. Memory usage is exactly the size of the OASIS file more
than when "Load To Memory" is turned off.
Qckvu3 now supports selective open of certain layers and cells of a
GDSII or OASIS file. Go to File/GDSII/OASIS Open Filters and access
these filters before opening the file.
Use these filters to open larger files to reduce both memory usage
and various processing times.
The layer and cell filters are not remembered between Qckvu3 runs,
Qckvu3 defaults to open all layers and all cells.
Qckvu3 defaults to open all layers and all cells.
Open Filters are not used when opening GDSII Cache Files.
Click on Reset to set all filters back to the default settings.
Added ignore layers in addition to open layers. The specified layers will be ignored while all other layers in the file would be opened.
Ignore Empty References Open Filter for GDSII and OASISNew Ignore References To Empty Cells control where empty
references would be ignored or not during the open loading phase.
Ignoring empty references would use less memory.
Ignored empty cells and references to empty cells are still included in the
file report and the cell dialog. They are just not added to the database
for drawing, infoing and data traversing.
Default is ignore references to empty cells.
Load File To Memory and Items Per Quad are now moved from the Preference dialog to the Open Filters dialog. They are both settings which should be set before a file is opened.
Remembering Open Filters"Load File To Memory", "Items Per Quad" and "Ignore References To Empty Cells" are remembered between Qckvu3 runs.
The list of open/ignore layers, ignore cell names and ignore regular
expressions are also remembered. But the layers and cells filters are
always default to be turned off (to prevent undesired data dropped).
To reuse the previous layer and cell filters setting, simply turn them
back on and the list of layer numbers, cell names and regular expressions
would be reused without reentering them.
Added a new function to quickly reopen a GDSII file using cache files.
After a GDSII file is opened, users can create GDSII cache files which
can then be reopened very quickly. e.g. A 32GB GDSII file opens in 12
mins, while it's corresponding cache files can be opened in 10 seconds.
To create cache files, open the GDSII file with "Load To Memory" turned
on. Access "Load To Memory" from the Select GDSII dialog box or the
Preference dialog box.
Once the GDSII file is opened, go to Create GDSII Cache Files and
specify the directory folder where the cache files should be generated.
Specify a new directory in an existing directory and it will be created.
The names of the 2 cache files are fixed to be GDSIIFileName.scan.b64
and GDSIIFileName.dbload.b64. (where b64 specifies big endian 64 bit
for SunOS, l64 for X86/Linux 64 bit, b32 for SunOS 32 bit and l32 for
X86/Linux 32 bit).
Once the cache files are created in the specified directory folder,
they can be reopened. To open a pair of cache files (.scan and .dbload),
go to Select GDSII Cache and select the .dbload file. It will automatically
finds the corresponding .scan file.
Users don't need the original GDSII file to open the cache files, unless
of course the GDSII file has been changed and new cache files should
then be regenerated.
When opening cache files, Load File To Memory on/off can still be used
to use more or less memory for faster or slower zoom and pan.
Users cannot create cache files when a cache file is opened, it means nothing.
These cache files are not cross platform compatible.
This cache file function is only available for GDSII, not OASIS or OpenAccess.
If used with GDSII Open Filters, the cache files only contains the data
layer data, cells and references opened. And the filters won't be used
when reopening the cache files.
A separately licensed new program, QckCache, is included in this Qckvu3
release which can be used to create cache files for GDSII file.
A batch running QckCache on GDSII file(s) can be set up to create
cache files for fast reopen.
Added an Info Point Mode where users can just click a point and Qckvu3
will find info data within +/- 6 pixels thresold of the point click area.
The old Info Window Mode is still available where users click 2 points
to define the window area to search for info data.
With the new Info Point Mode, i and ? are now shortcuts for Info Point;
q (query) is for Info Window Mode.
(This Info Point Mode actually works exactly the same as Zoom Window Mode
where users can actually click on a point and it would do infoing.)
Finding OASIS array references in CAW is now faster with the same optimization developed for GDSII in v3.41.
Separate Controls for Text and Cell Reference MarkersAdded a new control to turn on just text insertion markers. The old
reference markers control now turns on/off cell reference markers only.
Note that text markers are only drawn if both draw text mode and text
markers are turned on.
Keyboard shortcut - x.
i or ? - Info Point
q - Info Window Mode
x - Text Markers on/off
Added a warning when users open a GDSII file bigger than 8GB or an OASIS file bigger than 2GB and "Load To Memory" is turned off. This warning will tell users that they cannot create cache files or do editing since "Load To Memory" is turned off and ask if they want to continue the open.
Extract Output Has Extra DataExtract would generate polygons duplicated at the same location 5 times. This has been fixed.
Memory usage is now reduced to less than half of the previous versions.
An average of 10% to 20% of the GDSII file size can be expected.
Some performance data:
42GB GDS - Memory usage reduced from 20GB to 7.3GB
32GB GDS - Memory usage reduced from 9GB to 3.6GB
15GB GDS - Memory usage reduced from 7.4GB to 2.7GB
2.5GB OAS - Memory usage reduced from 4.8GB to 3.1GB
Programmer Notes:
- Default quad tree now stores 256 per quad instead of 32.
- Uses 5 bytes per file position. Still uses 8 per pointer when loaded into memory.
2 controls are added to the Preferences dialog to control Qckvu3 to use more or less memory when a file is opened.
Load File To Memory / Open For Edit
and
Items Per Quad
Turn this on for editing.
Or turn this on for faster redraws (if there is enough RAM memory), but
it will use more memory.
Turn this off to use less memory but redraws will be slower.
Default is Off.
Set this value to 1024 to use less memory but redraws and data traversal
would be relatively slower.
Set this to 32 to use more memory but redraws and data traversal
would be faster.
Default is 256.
This setting should be set before a file is opened. After a file is
opened, changing this setting does not affect the currently opened
file session.
This setting is remembered between Qckvu3 runs.
Direct open of a gz, zip or compressed GDSII file is now supported.
Brand new Editing option for Qckvu3 GDSII and OASIS.
Rectangles, polygons and paths can be added to any cell in the GDSII
or OASIS file. Each data can be drawn using the mouse to the current
viewing cell using various mouse input snapping modes to specify the
coordinates. The data will then be added to the selected layer:datatype.
Both rectangles and polygons are added as GDSII or OASIS boundaries.
Paths are added as GDSII or OASIS paths with the specified width and
path extension.
A new layer can be added via the Layer Dialog.
Boundaries and paths can also be deleted. Select the Delete Mode in
the Edit dialog, then grab a window to find the path or boundary for
deletion, click Delete to delete.
Undo and Redo are available.
Changed data can be saved to a new file (GDSII to GDSII, OASIS to OASIS).
Added new environment variable $ARTWORK_LICENSE_FILE for specifying the FLEXlm license server. This is in addition to $LM_LICENSE_FILE.
Layer Dialog
Previous versions would revert applied settings back if the dialog is
closed without saving. This has been fixed.
A layer can be added from this dialog. The added layer can then be
selected in the Edit dialog and used for adding new paths and boundaries
on that new layer.
This mode in the Select GDSII and Select OASIS dialog boxes is also used to open the GDSII or OASIS file for editing.
Snap to Object, Filtered AreaWhen snap to object finds a filtered area, the vertex found is 0,0. This has been fixed.
Plug-in Crashes Qckvu3 During File OpenPrevious versions of Qckvu3 might crash during a long file open after the first file open if something is done to a Plug-in. This has been fixed.
OASIS Cell Array ReferencesPrevious versions might show missing OASIS cell array references data if the number of rows and columns of the array is different. This has been fixed.
Open OpenAccess CrashVersions before v3.31 would crash when selecting an OpenAccess library in the open OpenAccess dialog and the library has a cell that's not a layout view. This has been fixed.
GDSII File Open Reported TimeIf the GDSII file has warnings, the time spent to open the file was reported including the time spent before the warnings message box was dismissed. This has been fixed.
Drawing outline and label for different references can now be controlled by whether they are single or array references or both. Further filtering can be done using the minimum array dimension or minimum size (size is for both single and array references).
Report Info DetailsInfo detail information in the bottom text area scrolls to the right when it's longer than the text area width. This has been fixed to always show the beginning of the info text.
Home View, Middle Click Redraw, Not RememberedIn v3.30, when redrawing at home view using middle click, the new home view isn't remembered; zoom home after that will draw the old home picture. This has been fixed.
Ending Point, Line, Rectangle, Polygon - Snap ObjectEnding an object draw (point, line, rectangle, polygon) now clears the flashing info object if snap object mode was on for the last vertex of the object. This also serves as an acknowledgement to the user that the object is "ended/accepted". A message on the bottom status text of Qckvu3 is also shown in yellow reminding the user to right click to pop up the menu to accept the object vertex and end the point, line or rectangle. This message is not shown for polygon where a rubber band is a better reminder.
OpenAccess Crashing On OpenWhen opening an OpenAccess cell, if that cell doesn't have a layout view, previous versions would crash on the open OpenAccess dialog box. This has been fixed.
Qckvu3 Lite is available for GDSII (limit 1GB) and OASIS (limit 250MB). No lite version for OpenAccess.
Universal Mouse NavigationAll mouse input modes (except pan) now work like this:
In zoom window mode, it has always been push mouse, drag and release
to zoom to a window area. Single clicking the mouse didn't do anything.
Now, single clicking does an Info Object Point search of the objects
around where the mouse is clicked (the search radius is +/- 6 pixels).
This becomes the Info Object Point mode.
Users now don't need to change mode to do zoom window, zoom out and info object vertex.
Space to walk around an object and to stop the info flashing.
Esc, toolbar stop button or right click to clear the info object.
Previous info point and window mode now becomes Info Window mode.
Click and click to define the 2 points of a rectangular window area to
info.
Push left mouse, drag to right and release to zoom window.
Push left mouse, drag to left and release to zoom out.
Users now don't need to change mode to do zoom window, zoom out and
info window.
Space to walk around an object and to stop the info flashing.
Esc, toolbar stop button or right click to clear the info object.
Keyboard shortcut to zoom in 2X from the center is Ctrl+ on the number pad.
Keyboard shortcut to zoom out 2X from the center is Ctrl- on the number pad.
Zoom
After an object is highlighted in Info mode, the highlight blinks. Pressing the space bar (or clicking on "Walk Around Object") to jump to the next vertex stops the blinking.
This "stop blinking" also works for info on cell references and texts even though there are no vertices to walk around.
The CA Wizard Plug In now has its own license and will not function unless a separate CA Wizard license is available.
Qckvu3 Cell References Nesting Levels SettingThe nesting levels display control in the cell reference dialog in Qckvu3 now has a list box of nesting levels 0 to 20. User can select multiple levels to draw cell references boxes and labels.
Qckvu3 Load File To Memory Setting RememberedThe "Load File To Memory" setting in the "Select GDSII" and "Select OASIS" dialogs is now remembered from session to session. Load On or Off status is displayed in the text area when opening a file.
Load File To Memory has been implemented. If there is enough RAM to hold both the quad tree (generated by QIS) and the input data in memory, then using the Load File to Memory control will result in much faster highlighting of cells and highlighting of selection sets. Unfortunately it is not possible to know exactly the size of the quad tree and amount of RAM the input data will require. More work will be done on possible ways of predicting this.