1
Using oaScan
oaScan is an unlicensed application that scans the contents of a library, checks for inconsistencies in the OpenAccess design, technology, and DMData databases, and optionally repair the inconsistencies and save the databases.
Inconsistencies are more common with older versions of OpenAccess, such as those released earlier than April 2008. oaScan can be used to upgrade inconsistent data to current quality standards and is maintained on an ongoing basis so that OpenAccess users can continuously monitor the integrity of their data.
Recommended Methodology
- Scan data that was created or modified by older versions of OpenAccess in order to identify data inconsistencies and then perform a repair to correct any inconsistencies found
-
Conduct periodic data scans in case older versions of OpenAccess are reintroduced into the design flow and repair any inconsistencies that are found
- Run oaScan on data as it is being checked into a global workspace from a user’s local workspace when using a design management system
Some users might want to run oaScan from the Virtuoso design environment itself. Although this is not a recommended approach, a sample SKILL script for running oaScan from Virtuoso can also be found on Cadence Online Support.
oaScan Setup
oaScan is supplied with a wrapper script that can be called from
oa_home/bin/oaScan
No additional setup or configuration is necessary if oaScan is started using the wrapper script. See Appendix B, “Running OpenAccess Executables Standalone,” for additional information about configuring your environment to use the oaScan wrapper script.
How oaScan Locates Libraries
The oaScan application does not use the cds.lib library definitions file to locate libraries. By default, oaScan scans a specified library located in the current working directory, but you can use the -libPath option to specify the full path to a library directory.
oaScan does not open reference libraries, and therefore, does not bind reference libraries. If a database in a specified library references a database in another library, the referenced library is not scanned. Reference libraries can be scanned separately in any order. oaScan also does not bind technology databases nor incremental technology database references. Databases are processed one at a time. When processing is complete, the database is purged from memory and the next is opened. This keeps the oaScan virtual memory footprint as small as possible.
oaScan verifies that the library directory contains a .oalib file. This prevents processing directories as cellviews if an incorrect directory is specified in error. oaScan has legacy support for directories that do not contain a .oalib file. To enable legacy support, specify the -forceLibPath option. See the oaScan options in the Usage Quick Reference section for more information.
Usage Quick Reference
oaScan runs from a terminal command line. The command line prototype for running oaScan is:
oaScan -liblibraryName[options... ]
Where libraryName is the name of the library to check.
oaScan Arguments
The -lib option is mandatory. All other arguments are optional.
Checking and Repairing Inconsistencies
oaScan processes design, technology, and DMData databases to detect, report, and repair inconsistencies. Messages are written to a log file to report the types of inconsistencies or conditions found during processing. The messages describe the actions taken or the actions needed to repair the data. Appendix A, “Log File Messages” lists the messages that can be written to the log file.
To check for inconsistencies in the design, technology, and DMData databases, and to repair the inconsistencies that are found, follow these steps:
-
Check the library using scan mode by omitting the
-repairoption.
This step requires only read access to the library. After completing the scan, search the log files for lines containing the words ERROR SCAN. Such lines indicate inconsistencies in a cellview that need to be repaired.
Other issues found in scan-only mode produce messages that begin with the word ERROR, but do not contain the word SCAN. Such issues indicate problems reading cellviews or other processing issues that need to be addressed before the scan results can be considered complete.
Data inconsistencies of lesser severity are indicated by lines with the words WARNING SCAN. Repairing such issues is optional, but highly recommended. -
If inconsistencies are found and reported in the log file, ensure that the library has write-access, and run oaScan with the
-repairoption.-repairrepairs both Errors and Warnings.
It is good practice to retain a copy of the original library until the scan and repair process is completed. -
Sometimes, messages that start with the word PATCHED are reported in the log file in scan and repair mode. If such messages are reported, further steps are required to complete the repair. See Appendix A, “Log File Messages” for detailed instructions.
If messages that start with the word ERROR are reported in the log file in scan and repair mode, work with your Cadence representative to report this to Cadence.
Return Values
oaScan uses a return value to communicate to the calling process the result of the operation. A return value of 0 means that no errors were encountered, and a nonzero value means that errors were encountered. Interpretation of the return values depends on the mode in which oaScan ran. A nonzero return value has different meanings dependent on whether oaScan is used in repair mode. The following table explains the meanings of the return values dependent on the mode of operation.
Return to top