Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to move a layout design (in Cadence Virtuoso Layout Suit L ) to origin (0,0)

Status
Not open for further replies.

manrajgujral

Junior Member level 1
Junior Member level 1
Joined
Dec 10, 2010
Messages
19
Helped
19
Reputation
38
Reaction score
18
Trophy points
1,283
Location
UK
Activity points
1,455
I have made a layout structure consisting of 20 to 30 smaller components plus additional metal paths and pins. This was made as a revision to an older design and after a lot of changes and therefore the origin is not at 0,0.

QUESTION : How do I move all the components w.r.t each other to the Origin 0,0 ? Meaning I don’t want to skew anything and move the entire layout to 0,0

I had used MAGIC (an educational software for Layout – and not as intimidating as Cadence)during university where we could select the entire layout had a execute a command <move to 0,0> which then moves everything to the origin. Simple and Sweet.
I am having trouble doing the same thing in LayoutL.

I am aware of the EDIT-> Advanced->move Origin command, but all it does it provide a x-y cursor which you have to roughly estimate (like taking a shot in a 1st person shoot-out game). It can be made to hit 0,0 with the help of rulers and such, but it isn’t a very elegant way of doing it.
 

Place the layout as an instance in another layout view,
and edit its origin properties to suit you? Then you can
flatten if you want.
 
Place the layout as an instance in another layout view,
and edit its origin properties to suit you? Then you can
flatten if you want.

haha, yes. I was thinking about that, but didn't think it all the way through to flattening it. should def work.
Thanks.

---------- Post added at 13:39 ---------- Previous post was at 12:11 ----------

by the way , i got a reply from a guy working in Cadence (Andrew Beckett) in their forum as well
there is a SKILL that works the same, and its just what you need to move the entire content to 0,0


leMoveCellViewOrigin(cv=geGetEditCellView() lowerLeft(cv~>bBox))

I wonder why cadence didn't put it in their GUI. Probably not many people use it that much.

Anyway, Thanks for your reply.

Cheers,
manraj
 

[
leMoveCellViewOrigin(cv=geGetEditCellView() lowerLeft(cv~>bBox))

/QUOTE]

Hi manraj,

what is lowerleft in the above syntax?
 

Hi Prashant,
Sorry the late respone.

I had used this command way way back. so not really sure how to answer your question appropriately.
The overall box around a particular layout design will be a rectangle with say coordinates as [(x0,y0) , (x1,y1), (x2,y2) , (x3,y3)] , where x-axis is the horizontal and the y-axis is the vertical axis . now these coordinates represent the left-hand-lower-corner , the left-hand-top-corner , the right-hand-lower-corner and the right-hand-top-corner.


by using the command i expect the whole layout to be shifted to origin, i.e., (x0,y0), the left-hand-lower-corner, would now be shifted to (0,0) and (x1,y1), the left-hand-top-corner, to (0,y1) where y1 is now the height of the layout box but which is kept at x=0, or kept at x-axis.

If your layout is in an oblong shape then the 'move to origin' doesn't really help since you might find it difficult to find the exact (x0,y0) , i.e., the left hand lower corner. also by moving your cursor there and move to origin might result in human error of how accurately you use the mouse to bring the cursor to that point (which you think is the left-had-lower-corner of your layout)

It is required to shift it to (0,0) since it helps in layout of a chip with sub blocks. and some foundries need the axis shifted to (0,0) of the entire Chip layout.
Is that what you were asking in the lowerleft question? because I havnt dug deep into this SKILL code to see what else it could do, and i have moved out of layout for now.
 
Last edited:
Hi again,
Yes, I understood the logic.But in terms of that code not exactly, anyways I will work on that.Thanks for the help.:). It would be really useful for me if you have some documents related to skill programming, Scripts and all.I am fresher to this field.

Thank you.
 

in edit menu, select other-move origin, then place the cross cursor to your layout origin.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top