riyaz058

Forum Replies Created

Viewing 15 posts - 46 through 60 (of 69 total)
  • Author
    Posts
  • in reply to: Creating MPPs #1948
    riyaz058
    Participant

    Thanks Kieth,

    I think I need to go ahead a create a python script for MPPs, And I doubt I would be able to add both Cadence and Glade tech-files together right?

    Regards…

    in reply to: Creating MPPs #1944
    riyaz058
    Participant

    Please find the code that is present in the techfile that I am using, But whenever I try to run the create MPP command from drop down menu i get error as " No MPP rules found"

    lxMPPTemplates(
    ; ( name [masterPath] [offsetSubpaths] [encSubPaths] [subRects] )
    ;
    ; masterPath:
    ; (layer [width] [choppable] [endType] [beginExt] [endExt] [justify] [offset]
    ; [connectivity])
    ;
    ; offsetSubpaths:
    ; (layer [width] [choppable] [separation] [justification] [begOffset] [endOffset]
    ; [connectivity])
    ;
    ; encSubPaths:
    ; (layer [enclosure] [choppable] [separation] [begOffset] [endOffset]
    ; [connectivity])
    ;
    ; subRects:
    ; (layer [width] [length] [choppable] [separation] [justification] [space] [begOffset] [endOffset] [gap]
    ; [connectivity] [beginSegOffset] [endSegOffset])
    ;
    ; connectivity:
    ; ([I/O type] [pin] [accDir] [dispPinName] [height] [ layer]
    ; [layer] [justification] [font] [textOptions] [orientation]
    ; [refHandle] [offset])
    ;
    ; (


    )
    ; (PRing
    ; (("PIMP" "drawing") 0.44 nil)
    ; ((("MET1" "drawing") 0.23 t nil nil 0.0 0.0)
    ; (("PWELL" "drawing") 0.86 nil nil nil 0.21 0.21)
    ; )
    ; nil
    ; ((("CONT" "drawing") 0.22 0.22 t nil nil 0.25 -0.2 -0.2)
    ; )
    ; )
    ; (WellRing
    ; (("NIMP" "drawing") 0.44 nil)
    ; ((("MET1" "drawing") 0.23 t nil nil 0.0 0.0)
    ; (("NWELL" "drawing") 0.86 nil nil nil 0.21 0.21)
    ; )
    ; nil
    ; ((("CONT" "drawing") 0.22 0.22 t nil nil 0.25 -0.2 -0.2)
    ; )
    ; )
    ) ;lxMPPTemplates

    ) ; lxRules

    Please let me know why I am getting error for MPP creation even after my techfile.tf is having the above code

    in reply to: Creating MPPs #1942
    riyaz058
    Participant

    Thank You Kieth,

    Please let me know if my understanding is correct from the previous code you sent i.e

    1. I need to create a python script(with the syntax you pointed in previous post) for MPPs of my choice like the way we do for PCells. Is it correct?
    2. And when i load this python script in the CIW of glade, I will be able to create the MPPs

    Please let me know if my understanding is correct.

    Regards,
    Riyaz

    in reply to: Creating MPPs #1940
    riyaz058
    Participant

    Hi Kieth
    Thanks for the fast reply, But I didn't get you on this.

    When I go to the Create MPP option i glade I see 2 option "nguard" and "pguard". And each of these maybe composed of say for example (nguard = Nwell + Ndiff + Met1 + Cont) Similarly could be "pguard". So My question here is, whether is there a python code or something which is present and runs in background to create the nguard or pguard. I would like to have the sample code for the "nguard" or "pguard" which is already present.

    Regards,
    Riyaz

    in reply to: Creating MPPs #1938
    riyaz058
    Participant

    Hi Kieth,

    I wanted to make different MPPs of my own can you share with me the sample code for MPPs that you might have created in the "example" library.

    Regards,
    Riyaz

    in reply to: Exact Checks for Spacing & Enclosure #1819
    riyaz058
    Participant

    Thanks for the response.

    And the check is for absolute vlaues right?

    Regards,
    Riyaz

    in reply to: Exact Checks for Spacing & Enclosure #1815
    riyaz058
    Participant

    Hi,

    Thanks a lot for creating the function. Coming to the query.

    1. Yes only allowed default enclosure is 10nm (i.e absolute value). Also the (28, 2) & (30, 0) are absolute values (not minimum allowed).

    Also, I have a query on max_num_enc1 : Maximum number of edges that can have a smaller enclosure.
    Consider the following scenario: Met1 enclosure of Via1 on two sides is 28nm and opposite two sides 2 nm. In this case if the two sides are having 28nm and other two sides 2nm it is mandatory for the edges be be opposite to each other (say 28 nm on TOP & BOTTOM and 2nm on LEFT and RIGHT edges and vice versa).
    So my question here is max_num_encl1 might allow a pass if 28 nm is on TOP and RIGHT and 2nm on BOTTOM and LEFT this case should flag as fail.

    In my previos post I had mentioned this:
    Ans 1. Actually in case of such scenarios i.e. 28nm on two sides and 2nm on the opposite two sides. It's mandatory that at least two or more sides should have 28nm i.e the larger number but it's not allowed for the smaller number i.e. 2nm to be on more than two sides(We cannot have smaller number say 2nm on more than two sides)
    This is a generic case. Why I'm quoting this here is because max_num_enc1 doesn't consider the mandatory condition that if max_num_enc1 is set to "2" then the checks should be done for opposite edges and not adjacent ones. If max_num_enc1 is set to "1" then its irrelevant on which edge the enclosureis 2nm

    But for the geomAllowedEncs() we want this check to check for absolute values and not minimum criteria.

    Hope my queries are clear and rather not confusing.

    Thanks,
    Riyaz

    in reply to: Exact Checks for Spacing & Enclosure #1803
    riyaz058
    Participant

    Please find my answers accordingly.

    Ans 1. Actually in case of such scenarios i.e. 28nm on two sides and 2nm on the opposite two sides. It's mandatory that at least two or more sides should have 28nm i.e the larger number but it's not allowed for the smaller number i.e. 2nm to be on more than two sides(We cannot have smaller number say 2nm on more than two sides)

    Ans 2. Yes as you mentioned there's 100% possibility where we have 1 default rule (Say 10 nm all sides being the default) and 1 or more other rules (Say if we maintain 28nm enclosure on two sides then we are allowed for 2nm on the other two opposite sides.). The chances of not having a default rule are very less. And we can always have 1 or more other rules.

    And yes such cases we have encountered only in the enclosure checks.

    I'll send in some sample layout test cases tomorrow as attached images.

    in reply to: Exact Checks for Spacing & Enclosure #1785
    riyaz058
    Participant

    Hi, Please find the rule definition below.
    Rule : Allowed enclosures of V0 by M1[A|B] "[28, 2, 28, 2], [32, 0, 32, 0], [10, 10, 10, 10]"

    Allowed enclosures of V0 by M1 :
    1. [28, 2, 28, 2]
    2. [32, 0, 32, 0]
    3. [10, 10, 10, 10]".

    As you can see in the above example rule definition. Only 3 sets of enclosures are allowed for metal1 enclosure of via0.

    1. In this case, the allowed enclosure is 28nm on 2 sides and 2 nm on 2 opposite sides.
    2. The second case, the allowed enclosure is 32nm on 2 sides and 0 nm on 2 opposite sides.
    3. Whereas in the final case an exact enclosure of 10nm on all sides is allowed.

    So only the above 3 cases of the enclosure are allowed and all other values apart from these are to be flagged as the error.

    in reply to: Exact Checks for Spacing & Enclosure #1783
    riyaz058
    Participant

    Hi,

    As we already have a function like geomAllowedWidths(). Which allows me for performing exact width value checks. Can we have something similar for spacing and enclosure?

    Say
    geomAllowedSpaces().
    geomAllowedSapce2().
    geomAllowedEnclose().
    geomAllowedEmclose2.

    Thanks…

    in reply to: Coding Orthogonal rules For DRC Deck #1782
    riyaz058
    Participant

    On the similar note do we have get90() and get45() like functions…? Maybe even such functions would be definitely of great help in future.

    Thanks…

    in reply to: Coding Orthogonal rules For DRC Deck #1781
    riyaz058
    Participant

    Yes that's exactly what we are looking for and really appreciate your prompt response.

    Thanks

    in reply to: Adding flag option in geomAllowedWidths() #1778
    riyaz058
    Participant

    Hi,
    Thank you for response. that flag option was present . We were using old version. sorry for bothering you.

    Regards
    riyaz

    in reply to: Coding Orthogonal rules For DRC Deck #1777
    riyaz058
    Participant

    Hi,
    For DRC deck coding is there any command to code the rules like.. NWELL must be Orthogonal . if It is not present is it possible to add some functions to code such rules

    Regards
    riyaz

    in reply to: Adding flag option in geomAllowedWidths() #1774
    riyaz058
    Participant

    Hi,
    As of now we don't have flags in geomAllowedWidths() command to specify the width check in a particular direction as we have options in geomWidth(layer,rule,int flags, const char, *message). Could you please add that option..


    Regards
    riyaz
Viewing 15 posts - 46 through 60 (of 69 total)