Alternative contact DRC rule for Diva

Discussion in 'Cadence' started by Vaibhav, Oct 8, 2008.

  1. Vaibhav

    Vaibhav Guest

    Hi all,

    I work on the MOSIS 0.5um technology and we use the NCSU cadence
    development kit. Mosis defines rules when you want to make denser
    contacts with more constraints on the surrounding areas. These are
    called alternative contacts and the rules in terms of lambda are
    defined here: http://www.mosis.com/Technical/Designrules/scmos/scmos-contact.html

    I want to export my design to Tanner tools. I have a MOSIS PDK from
    tanner but in the DRC rule deck, the DRC rules for the above mentioned
    contacts is not defined. I defined most of the rules, but I am stuck
    on one rule which says that if you many contacts on say poly then the
    distance from contacts to active should be 3 lambda. Idea is to detect
    that you have multiple contacts and run the rule.

    The Diva DRC rule from NCSU kit checks this error with following
    command:

    ;; 5.7.b
    sprintf( errMesg "(SCMOS Rule 5.7.b) poly contact to active
    spacing, many contacts: %.2f um" (lambda*3.0))
    saveDerived( geomGetLength( drc(cpEdge activeEdge sep <
    (lambda * 3.0)) length > (lambda * 7.0) fig ) errMesg )

    Can somebody please help me understand how this is checking the above
    rule. Here's what I understand:
    1. first check separation of poly contact edge(cpEdge) to edge of
    active (activeEdge)
    2. DRC command generates an error layer if this separation is less
    than 3 lambda
    3. Use geomGetLength command to find edges in the error layer whose
    length are greater than 7 lambda and return error as a figure and save
    it in the database.

    What I don't understand, that how does checking for edge lengths
    greater 7 lamda accomplishes this rule. What does the DRC command
    return on which the geomGetLength operates on?

    I would appreciate if any body could shed light on this.

    Thanks

    Vaibhav Garg
     
    Vaibhav, Oct 8, 2008
    #1
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.