Virtuoso cordinate

K

konnanur@gmail.com

Guest
Hi,
Is there a function/menu in Virtuoso that if I know the (x,y) then
I can just type in the box and the cursor highlights the coordinate
location.

Thanks,
Hari
 
Hi Hari
One way is press k in the layout window and then key in
x:y in the ciw window and press enter. This will create a ruler with
x,y as the starting point. For this to work your infix option should
be switched off.(this option is present in options->user preferences
in ciw)

sajin

On Apr 11, 2:31 am, "konna...@gmail.com" <konna...@gmail.com> wrote:
Hi,
Is there a function/menu in Virtuoso that if I know the (x,y) then
I can just type in the box and the cursor highlights the coordinate
location.

Thanks,
Hari
 
Or do Window->Pan (I think that's the menu it's under - I'm off the network
current), and type in x:y in the CIW - it will pan to be centred at that
location.

Also, there are functions in this code below you might find useful:

/* abPanPoint.il

Author A.D.Beckett
Group Structured Custom, Cadence Design Systems Ltd
Machine SUN
Date Sep 13, 1994
Modified Mar 26, 2003
By A.D.Beckett

Pan to typed in coordinate or move cursor to typed in coordinates.

There are two public functions:

abPanPoint()
abCursorPoint()

***************************************************

SCCS Info: @(#) abPanPoint.il 03/26/03.17:22:21 1.4

*/


/***************************************************************
* *
* (abCreatePanPointForm) *
* *
* Create the form for abPanPoint *
* *
***************************************************************/

(procedure (abCreatePanPointForm)
(let (coords zoomLevel)
(setq coords
(hiCreatePointField
?name 'coords
?prompt "Coordinates"))
(setq zoomLevel
(hiCreateRadioField
?name 'zoomLevel
?choices '("As is" "10" "100" "1000")
?prompt "Zoom Level"))
(setq abPanPointForm
(hiCreateAppForm
?name 'abPanPointForm
?formTitle "Pan to coordinate"
?callback 'abPanPointCB
?fields (list
(list coords 0:0 320:35 105)
(list zoomLevel 0:35 320:35 105))
))
))

/***************************************************************
* *
* (abPanPointCB form) *
* *
* Callback for abPanPoint *
* *
***************************************************************/

(procedure (abPanPointCB form)
(let (win centre zoomLevel scaleFactor)
(setq win (hiGetCurrentWindow))
(setq centre (getq (getq form coords) value))
/* scale the coordinates by the scaleFactor stored on the form */
(when (setq scaleFactor (getq form scaleFactor))
(setq centre (list
(times (xCoord centre) scaleFactor)
(times (yCoord centre) scaleFactor))))
(if (equal (getq (getq form zoomLevel) value) "As is")
/* pan to coordinates */
(hiPan win centre)
(progn
/* otherwise zoom, using zoom level */
(setq zoomLevel (quotient (atof (getq (getq form zoomLevel) value))
2))
(hiZoomIn win
(list
(list (difference (car centre) zoomLevel)
(difference (cadr centre) zoomLevel))
(list (plus (car centre) zoomLevel)
(plus (cadr centre) zoomLevel))))
))
t))


/***************************************************************
* *
* (abPanPoint @optional scaleFactor) *
* *
* Create and bring up the form, with an optional scale factor *
* to multiply the coordinates by. *
* *
***************************************************************/

(procedure (abPanPoint @optional scaleFactor)
(unless (and (boundp 'abPanPointForm) abPanPointForm)
(abCreatePanPointForm))
(putpropq abPanPointForm scaleFactor scaleFactor)
(hiDisplayForm abPanPointForm))

/***************************************************************
* *
* (abCreateCursorPointForm) *
* *
* Create the form for the user to specify the cursor position *
* *
***************************************************************/

(procedure (abCreateCursorPointForm)
(let (coords)
(setq coords
(hiCreatePointField
?name 'coords
?prompt "Coordinates"))
(setq abCursorPointForm
(hiCreateAppForm
?name 'abCursorPointForm
?formTitle "Move cursor to coordinate"
?callback 'abCursorPointCB
?fields (list
(list coords 0:0 320:35 105)
)
))
))

/***************************************************************
* *
* (abCursorPointCB form) *
* *
* Callback for the cursor point form. Actually moves the *
* cursor to that location. *
* *
***************************************************************/

(procedure (abCursorPointCB form)
(let (win)
(setq win (hiGetCurrentWindow))
(when form->coords->value
(leZoomToPoint win form->coords->value)
)
t
)
)

/***************************************************************
* *
* (abCursorPoint) *
* *
* Create and bring up the form to move the cursor to the *
* specified point *
* *
***************************************************************/

(procedure (abCursorPoint)
(unless (and (boundp 'abCursorPointForm) abCursorPointForm)
(abCreateCursorPointForm))
(hiDisplayForm abCursorPointForm))


On 10 Apr 2007 20:12:51 -0700, "sajin" <sajinvm@gmail.com> wrote:

Hi Hari
One way is press k in the layout window and then key in
x:y in the ciw window and press enter. This will create a ruler with
x,y as the starting point. For this to work your infix option should
be switched off.(this option is present in options->user preferences
in ciw)

sajin

On Apr 11, 2:31 am, "konna...@gmail.com" <konna...@gmail.com> wrote:
Hi,
Is there a function/menu in Virtuoso that if I know the (x,y) then
I can just type in the box and the cursor highlights the coordinate
location.

Thanks,
Hari

--
Andrew Beckett
Principal European Technology Leader
Cadence Design Systems, UK.
 
Hi,
Is there a function/menu in Virtuoso that if I know the (x,y) then
I can just type in the box and the cursor highlights the coordinate
location.

Thanks,
Hari
This will zoom to the specified point :

leZoomToPoint( hiGetCurrentWindow() x_coord:y_coord )

This will create a marker at the point :

geCreateMarkerByPoints(
geGetWindowCellView(hiGetCurrentWindow())
"warning"
"user"
sprintf(nil "coordinates : %g:%g" x_coord y_coord)
""
list(x_coord:y_coord)
)


Stéphane
 

Welcome to EDABoard.com

Sponsor

Back
Top