Tweaking the Assura LVS form

After mainly working with Mentor’s Calibre verification suite the last ten years or so, I got a bit spoiled with their simple ways of organizing files dependent on cellviews, etc. I like when all the physical verification files are stored in a neat place, such that I can easily erase/debug/copy from that area.

In my case, this would be something like:


where libName, cellName, and pvType are the library and cell names, as well as the run type (LVS/DRC/XRC/DMT/ANT, etc.), respectively.

This code snippets was initially suggested on one of the Cadence forums, but right now I missed the author. Anyway, it needed some adaptation, as it was slightly outdated...

(defun vuiUserDefinedSetupCB (vuiLVSForm)
(let ( (newDir "")
(libName "")
(cellName "")
(runType "lvs")
(pvArea ""))

(if (equal vuiLVSForm->layoutSource->value "DFII")
(setq libName vuiLVSForm->layLibrary->value)
(setq cellName vuiLVSForm->layCell->value)

(setq pvArea
(getShellEnvVar "VERAREA")
"/" libName "/" cellName))

(unless (isDir pvArea)
(csh (strcat "mkdir -p " pvArea)))

(setq newDir (strcat pvArea "/lvs/"))

vuiLVSForm->runDir->value = newDir

;; Then some more could be e.g.
;; vuiLVSForm->technologyField->value = "gpdk045"
;; vuiLVSForm->viewRules->value = nil

) ;let

By adding this snippet to your start-up script, the trigger function will be called every time you open the Assura LVS form and some of the fields will be updated accordingly.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.