Option 1:
From the schematic window, select Check -> Hierarchy
Option 2:
From icfb, load the script: load("DBcheckAndSaveLibSchematics.il")
Then call the script: DBcheckAndSaveLibSchematics("myLibName")
Thanks to the author, see link above!
http://www.ece.iastate.edu/academics/computing/vlsi-rf/faq.html
What are cdslck file errors?
When Cadence is not exited properly, there might be file lock problem when you restart icfb. The error messages might look like this:
>*WARNING* Couldn't get a write lock for
>"/home/username/cadence/national/cmosx/jupiter27/j27_xjw/PFMclk/layout/layout.cdb"
(clscompatd): Requested lock conflicts with active lock
>*WARNING* XXopen: failed to lock file
>/home/username/cadence/national/cmosx/jupiter27/j27_xjw/PFMclk/layout/layout.cdb
>in A_MODE mode - is currently not locked.
Ways to remove file lock:
1. Use clsAdminTool to release active locks. Type "clsAdminTool" to start, then type "help" and follow the instructions. Type "ale [libName]" to show edit locks. To remove by a certain process, type "apre " and then copy the server name, and the last two numbers shown by "ale" (pid and creationtime).
2. You also can do this manually by deleting all .cdslck files under your locked-file directories. Go into the Cadence directory first. Type the command to make sure you have files locked. Type " find . | grep cdslck". If you find any cdslck files remove them using this command: "for files in `find . | grep cdslck`; do rm $files; done". You can cut and paste this command. This method can cause database problems in Cadence 6.
3. Sometimes icfb still complains about file lock. Try exiting icfb and killing all icfb processes, then restarting icfb. If you still have the same file lock problem, it could be a proxy lock (the warning message looks all the same). Contact your system administrator to restart file-locking daemon (cdsd).
CDF Updating
If you are having major problems, you may need to go about manually updating the CDF information. Here's some notes:
http://newsgroups.derkeiler.com/Archive/Comp/comp.cad.cadence/2008-01/msg00015.html
deOpenCellView(dest_lib cellname "schematic" "schematic" list(nil) "a")
cv_dbid = geGetWindowCellView()
changeDevice(cv_dbid)
http://www.cadforums.net/showthread.php/1296-(no-subject)
There is an option you can set in IC5141 to update the termOrder property when the symbol is checked and saved:
envSetVal("auCore.misc" "updateCDFtermOrder" 'boolean t)
In IC5033 it is:
envSetVal("asimenv.misc" "updateCDFtermOrder" 'boolean t)
The SKILL command to update the CDF simInfo section is: artGenerateHierSymbolCDF(cv_dbid)
The artGenerateHierSymbolCDF function opens up a pop up box asking if you want to overwrite the base CDF. You could instead update the termOrder list as follows instead of using artGenerateHierSymbolCDF():
;*
cdf_dbid = cdfGetBaseCellCDF(cv_dbid~>cell)
;get and alphabatize terminal list
atoz_terminal_list = sort(cv_dbid~>terminals~>name nil)
;generate string list of simulators
simulator_list = cdf_dbid->simInfo->?
foreach(simulator simulator_list
if(get(cdf_dbid->simInfo simulator)->termOrder !=
atoz_terminal_list then
get(cdf_dbid->simInfo simulator)->termOrder = atoz_terminal_list
printf("[INFO] Updated %-9s simInfo termOrder to %L\n" simulator
atoz_terminal_list)
) ; if
) ; foreach
cdfSaveCDF(cdf_dbid)
;*
Note that veriloga has a section called viewInfo similar to termOrder which can be updated with the following function:
ahdlUpdateViewInfo(cv_dbid~>libName ?cell cv_dbid~>cellName ?view view)
I have a fundamental question that I can't get anyone at Cadence to answer. Why does create cellview from cellview add the termOrder property (it would netlist fine without it, correct)? All the termOrder property does is create grief as it might not get updated properly as terminals are added and deleted and create this mismatch which causes confusion and wastes our time... What is the reason for this property and what is the valid use case?