Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

SKILL file for Path and bus creation

Status
Not open for further replies.

Subhash

Newbie level 6
Joined
Jan 20, 2005
Messages
12
Helped
2
Reputation
4
Reaction score
3
Trophy points
1,283
Location
Bangalore, Karnataka, India
Activity points
94
virtuoso skill draw path

Hi Guys,
Need your help. I want to draw the Bus (metal paths) in Virtuoso Layout editor.
It takes more time for creation of a path and copy paste adjusting etc... etc...
Hence I am trying to write a code for creation of bus, for that i need to understand how the leHiCreatePath() function works.

Anyone who knows how the leHICreatePath internally works.!!!?
Or if any has already done the skill code for Bus creation please do let m e know.

Will look forward for your valuable reply.
Thanks and regards,
Subbu
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
ledefinempptemplate

Subhash said:
i need to understand how the leHiCreatePath() function works.
Subbu
Hi Subbu,
perhaps you can get info about this topic in this group, especially from this thread.
Good luck! erikl
 
  • Like
Reactions: Tprasad

    Subhash

    points: 2
    Helpful Answer Positive Rating

    Tprasad

    points: 2
    Helpful Answer Positive Rating

Teddy

Advanced Member level 1
Joined
Sep 15, 2004
Messages
461
Helped
103
Reputation
206
Reaction score
62
Trophy points
1,308
Activity points
3,861
skill code bus

I would not use leHiCreate... I would say for you the easiest way is to use multi part path mpp
For example 20um wide metal bus:
;The template name is : M5_Bus_20u,
leDefineMPPTemplate(
?techId tech
?name "M5_Bus_20um"
?layer list("METAL5" "drawing")
?width 20.000000
?choppable nil
?endType "flush"
?beginExt 0.000000
?endExt 0.000000
?justification "center"
?offset 0.000000
?offsetSubPath list(
list(
?layer list("METAL5" "drawing")
?width 20.000000
?choppable t
?sep 22.000000
?justification "center"
?beginOffset 0.000000
?endOffset 0.000000
)
)
?subRect list(
list(
?layer list("METAL5" "drawing")
?width 4.000000
?length 4.000000
?choppable t
?sep 11.000000
?justification "center"
?space 4.000000
?beginOffset -5.000000
?endOffset -5.000000
?beginSegOffset 20.000000
?endSegOffset 20.000000
?gap "distribute"
)
)
) ; end of leDefineMPPTemplate procedure

You can define it by text file like this or by clicking it in layout editor in Create - Multipart Path
 

    Subhash

    points: 2
    Helpful Answer Positive Rating

Subhash

Newbie level 6
Joined
Jan 20, 2005
Messages
12
Helped
2
Reputation
4
Reaction score
3
Trophy points
1,283
Location
Bangalore, Karnataka, India
Activity points
94
skillfile

Thank you very much Erik.
Hey the discussion u mentioned talks about changing the layer in leHiCreatePath and about changing the layer using replay files.
it was very informative but unfortunately I couldnt get much help for my goal.

If u find any other info please do let us know.
Regards,
Subbu

erikl said:
Subhash said:
i need to understand how the leHiCreatePath() function works.
Subbu
Hi Subbu,
perhaps you can get info about this topic in this group, especially from this thread.
Good luck! erikl
Added after 4 minutes:

Hi Teddy,
Thank you very much for your reply.
At present we are creating the bus by this way.
It has few drawbacks like,
- If we want to stretch one single path in this path we will not be able to do so.
- if we want to vary the width/ space then we need to edit the subpart which I feel is a tedious job.
So we are trying to implement the easier way.
Regards,
Subbu

Teddy said:
I would not use leHiCreate... I would say for you the easiest way is to use multi part path mpp
For example 20um wide metal bus:
;The template name is : M5_Bus_20u,
leDefineMPPTemplate(
?techId tech
?name "M5_Bus_20um"
?layer list("METAL5" "drawing")
?width 20.000000
?choppable nil
?endType "flush"
?beginExt 0.000000
?endExt 0.000000
?justification "center"
?offset 0.000000
?offsetSubPath list(
list(
?layer list("METAL5" "drawing")
?width 20.000000
?choppable t
?sep 22.000000
?justification "center"
?beginOffset 0.000000
?endOffset 0.000000
)
)
?subRect list(
list(
?layer list("METAL5" "drawing")
?width 4.000000
?length 4.000000
?choppable t
?sep 11.000000
?justification "center"
?space 4.000000
?beginOffset -5.000000
?endOffset -5.000000
?beginSegOffset 20.000000
?endSegOffset 20.000000
?gap "distribute"
)
)
) ; end of leDefineMPPTemplate procedure

You can define it by text file like this or by clicking it in layout editor in Create - Multipart Path
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
skill code to draw bus in the layout

Subhash said:
If u find any other info please do let us know.
This company offers skill tools for practical manipulation of bus routing.
 

Tprasad

Newbie level 5
Joined
Sep 21, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Hyderabad
Activity points
1,335
Re: skill code bus

Hai all


I know the code for creating MultiPartpath using SKILL code..........
but i don't know, how to utilize it while writing a code...

If anybody know this, please do let me know,,


Thank U
regards,
T.Prasad
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
Re: skill code bus

I know the code for creating MultiPartpath using SKILL code..........
but i don't know, how to utilize it while writing a code...
  • Write your code into a file, named e.g. fileName
  • In the CIW type: load("fileName")
  • If necessary, you can assign a bindKey to the load statement
 

Tprasad

Newbie level 5
Joined
Sep 21, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Hyderabad
Activity points
1,335
Re: skill code bus

Hai erikl,

How to create Blind Keys to select a particular layer in LSW , while designing layouts

If u know, please do let me know,,

Thank U
Regards,
T.Prasad
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
Re: skill code bus

How to create Blind Keys to select a particular layer in LSW , while designing layouts
BindKey (not: BlindKey !) definitions may depend on the C@dence version you are using, which you didn't mention yet. In version 5.1.41 you could write e.g. for activation by the key "b" :
hiSetBindKey("Layout" "<Key>b" "load(\"fileName\")")
You can write this definition into the CIW (every session), or put it into your bindkey file to be loaded automatically. Its name and location also depends on the version. For more info, better ask in one of the groups I linked to above.
 

Tprasad

Newbie level 5
Joined
Sep 21, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Hyderabad
Activity points
1,335
Thank You erikl

Now i am using Virtuoso 6.1.4 version

During creation of a Pcell, how can i use multi Partpath SKILL code for creating guard ring........?

Thank U
T.Prasad

---------- Post added at 14:21 ---------- Previous post was at 14:16 ----------

Hai erikl,

why we are using both multipliers and fingers for a transistor(MOSFET) during designing
What is the difference between multipliers and fingers????
Which one is use full.........?

Thank You
Regards
T.Prasad
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
Now i am using Virtuoso 6.1.4 version
During creation of a Pcell, how can i use multi Partpath SKILL code for creating guard ring........?
I've got no experience with Virtuoso 6.1.4, sorry! Pls. search or ask in the appropriate C@dence Custom IC Design Forum !

---------- Post added at 14:21 ---------- Previous post was at 14:16 ----------
why we are using both multipliers and fingers for a transistor(MOSFET) during designing
What is the difference between multipliers and fingers????
Which one is use full.........?
Both: Multipliers are for a corresponding number of identical single transistors, whereas finger is for one single transistor with <finger_count> of gate fingers.
 

Tprasad

Newbie level 5
Joined
Sep 21, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Hyderabad
Activity points
1,335
Re: ledefinempptemplate

Hi erikl,

I want to draw inductor using cadence virtuoso 6.1.4 version. what are the different parameters we have, for an inductor??
 

Tprasad

Newbie level 5
Joined
Sep 21, 2011
Messages
10
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Hyderabad
Activity points
1,335
Thank You erikl,

I have a small doubt...
I saw transistors parameter defined as w=1u, l=2.5u, m/nf=4/5 and total M=20
what is the meaning of m/nf?
Is it dividing the width 5 times and repeating it 4 times....?

According to your replied yesterday, is it 4 identical transistors...?

Thank You
Regards
T.Prasad
 

G Sarath

Newbie level 1
Joined
Sep 23, 2011
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,285
Re: virtuoso skill draw path

Hi guys,
Can we us any no of fingers is there any disadvantages while using large no of fingers.If there is no limit to no of fingers why we are using multiplier.
 

erikl

Super Moderator
Staff member
Joined
Sep 9, 2008
Messages
8,112
Helped
2,687
Reputation
5,354
Reaction score
2,284
Trophy points
1,393
Location
Germany
Activity points
44,153
I saw transistors parameter defined as w=1u, l=2.5u, m/nf=4/5 and total M=20
what is the meaning of m/nf?
Is it dividing the width 5 times and repeating it 4 times....?
According to your replied yesterday, is it 4 identical transistors...?
If total M=20 I'd think this means 4 identical transistors with 5 fingers of w=1u, l=2.5u each. wtotal = 20µ .

---------- Post added at 09:44 ---------- Previous post was at 09:38 ----------

If there is no limit to no of fingers why we are using multiplier.
If you need matching of transistors (current mirrors, differential stages), you should make a symmetrical (common centroid) layout, which could mean a mix of several identical transistors. That's why you need the multiplier.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top