Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to search a net in extracted view

1,802 views
Skip to first unread message

Ken Lee

unread,
Aug 31, 2000, 11:24:54 AM8/31/00
to
Hello,

I want to ask how to search a certain net in the extracted view?

In the "Search" function of the Virtuoso Editor, it can just search
instant, path....., I don't know how to use this to search the
specify net. Can anyone kindly teach me how to search the net?
Thanks in advance.

Regards,
Ken

Emmanuelle Laprise

unread,
Aug 31, 2000, 12:21:23 PM8/31/00
to
In the extracted view, you can use the command verify->probe. This
brings up a window in which you click AddNet. Then you can either
click on a net, or type in the net name in the CIW window. Make sure
the the name name is enclosed in double quotes, or it won't find it
(ie "out<14>" or "VSS").

If you have a small design it should work ok, if you can't see the
highlight (which is always yellow on my screen), try making everything
else invisible. If you have a really really large design, this may
not work. ie the net selected is so small that it won't appear. Does
anyone know how to zoom in to a selected net? Does anyone know how to
change the highlight color to something else than yellow?

But, if you are trying to select a net in a layout view, this option
is not available (unless you are in virtuoso-XL where you can use a
similar probe command, I think). Does anyone know how to do a search
and/or select for a net in the layout window?

Thanks,

Emmanuelle

Michael Keller

unread,
Sep 1, 2000, 4:01:56 AM9/1/00
to
To change the color of the highlight edit your Display Recources:
In the LSW use:
LSW:Edit->Set Valid Layers and select the Highlight layer valid.
then you can edit the color, stipple .... with
LSW:Edit->Display Resource Editor

--
Michael Keller Tel.: ++49-6221-544959
Kirchhoff-Institut fuer Physik Fax.: ++49-6221-544345
Schroederstr. 90 email: kel...@kip.uni-heidelberg.de
69120 Heidelberg HTTP: http://wwwasic.kip.uni-heidelberg.de/~keller

Alan Wolfram Glaser

unread,
Sep 1, 2000, 12:12:43 PM9/1/00
to
Emmanuelle Laprise <emm...@photonics.ece.mcgill.ca> wrote:
: Does anyone know how to zoom in to a selected net?

Hi Emmanuelle (and Ken),

We use the following SKILL routines (part of the NCSU CDK --
http://www.ece.ncsu.edu/cadence/CDK.html) to select, highlight and zoom
to nets, instances or labels in a variety of cellviews (it's been tested
in schematic, layout and extracted views).

To fire it up, simply load it and do a hiDisplayForm( hiliteObjForm ).

Regards,

--
Alan Glaser "It's not a competition,
ECE Dept. it's just a mint..." - K
North Carolina State University
PGP fingerprint: 14 C8 D6 30 D0 A6 03 6F 23 F3 9F 1D 61 43 EE 8C


;==========================================================================
;
; $Id: selobj.il,v 1.4 1999/01/26 17:09:38 jtschaff Exp $
;
; For extracted layouts & schematics, highlight a net by name.
;
;--------------------------------------------------------------------------

/*
* Globals:
* NCSU_zoomList
*/

procedure( sortLabelsCmpFunc( l1 l2 )
let( (searchList len1 len2)
searchList = reverse(parseString(hiliteObjForm->objName->value " ,;"))
len1 = length( member( l1~>theLabel searchList ) )
len2 = length( member( l2~>theLabel searchList ) )

len1 < len2
)
)

procedure( hiliteObjects( form )
prog( (searchList flag currentCellID foundNet foundInst)

currentCellID = hiGetCurrentWindow()->editCellView
if( currentCellID == nil return( nil ) )

unless( form->sticky->value == t
geDeselectAllFig( currentCellID )
)

/* if user was in "delete mode", hitting apply in this form
* sometimes deleted labels. so, cancel any pending enter
* functions here */
cancelEnterFun();

; use reverse() here so we can go down list and add to it
; using cons() and have the resulting list be in the order the
; user typed it in
searchList = reverse( parseString( form->objName->value " ,;") )
flag = nil

if( form->zoom->value == t then
NCSU_zoomList = list()
)

cond(
(
form->selobjRadioField->value == "Net"

foreach( netName searchList
foundNet = dbFindNetByName( currentCellID netName )
if( foundNet != nil then
foreach( fig foundNet~>figs
geSelectFig( fig )
if( form->zoom->value == t then
NCSU_zoomList = cons( fig NCSU_zoomList )
)
)
flag = t
)
))

(
form->selobjRadioField->value == "Instance"

foreach( instName searchList
foundInst = dbFindAnyInstByName( currentCellID instName )
if( foundInst != nil then
geSelectFig( foundInst )
if( form->zoom->value == t then
NCSU_zoomList = cons( foundInst NCSU_zoomList )
)
flag = t
)
))

(
form->selobjRadioField->value == "Label"

foreach( obj currentCellID~>shapes
if( (obj~>objType == "label") &&
(member( obj~>theLabel searchList ) != nil) then
geSelectFig( obj )
if( form->zoom->value == t then
NCSU_zoomList = cons( obj NCSU_zoomList )
)
flag = t
)
)

; sort so we zoom in in the right order
if( flag == t && form->zoom->value == t then
NCSU_zoomList = sort( NCSU_zoomList 'sortLabelsCmpFunc )
))
)

if( flag == nil then
hiGetAttention()
printf( "%s(s) specified do not exist\n"
hiliteObjForm->selobjRadioField->value )
if( form->nextZoom
hiDeleteField( form 'nextZoom )
)
return( nil )
)

if( form->zoom->value == t then
hiZoomIn( hiGetCurrentWindow() car( NCSU_zoomList )~>bBox )
NCSU_zoomList = cdr( NCSU_zoomList )

unless( form->nextZoom
hiAddField( form
list( hiCreateButton(
?name 'nextZoom
?buttonText "Zoom to next"
?callback "{
if( length(NCSU_zoomList) > 0 then
hiZoomIn( hiGetCurrentWindow()
car( NCSU_zoomList )~>bBox )
NCSU_zoomList = cdr( NCSU_zoomList )
)
}"
) 175:110 100:40 115 )
)
)
else
if( form->nextZoom
hiDeleteField( form 'nextZoom )
)
)

return( t )
)
)

hiCreateAppForm(
?name 'hiliteObjForm
?formTitle "Hilite Objects"
?buttonLayout 'ApplyCancelDef
?callback list(
"hiliteObjects( hiliteObjForm )" ; apply
"{
if( hiliteObjForm->nextZoom != nil
hiDeleteField( hiliteObjForm 'nextZoom )
)
NCSU_zoomList = list()
}" ; cancel
)
?fields list(
list( hiCreateStringField(
?name 'objName
?prompt "Object name(s): " )
5:10 500:20 100 )
list( hiCreateRadioField(
?name 'selobjRadioField
?prompt "Object Type:"
?choices list( "Net" "Instance" "Label")
?defValue "Net"
?itemsPerRow 3 )
5:30 150:65 100 )
list( hiCreateBooleanButton(
?name 'sticky
?buttonText "Keep current hilite"
?defValue nil )
5:75 170:45 135 )
list( hiCreateBooleanButton(
?name 'zoom
?buttonText "Zoom to found objects"
?defValue nil )
5:110 170:40 135 )
)
?help ""
)

0 new messages