Home > Community > Forums > Custom IC SKILL > how to add a special layer for a custom transistor (pcells) in a techfile

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 how to add a special layer for a custom transistor (pcells) in a techfile 

Last post Tue, Apr 16 2013 10:22 AM by fuelectronics. 6 replies.
Started by fuelectronics 16 Apr 2013 02:12 AM. Topic has 6 replies and 1069 views
Page 1 of 1 (7 items)
Sort Posts:
  • Tue, Apr 16 2013 2:12 AM

    how to add a special layer for a custom transistor (pcells) in a techfile Reply

    In a standard techfile provided by Cadence (as an example in cadence_inst/tools.lnx86/dfII/samples/ROD/rodPcells), i can sucessfully creat the mos devices as the pcells. But for some reasons, i need to add another speical layer (its shaper and position should be the same as either nwell in nmos or pwell in pmos) in my mos devices, my question is how to modify this previous techfile (either mos.device or mos.il) to produce a new Pcell ? 

    Thanks in advance

     

    • Post Points: 20
  • Tue, Apr 16 2013 4:38 AM

    • berndfi
    • Top 100 Contributor
    • Joined on Tue, Sep 11 2012
    • Neubiberg, Bavaria
    • Posts 67
    • Points 1,255
    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

    The file you are talking about "mos.device" or "mos.il" are not techfiles these is the PCell
    SKILL code. As I don’t know your code I assume one contains the PCell drawing routine and the
    other one does the compilation into the library with "pcDefinePCell".

    For that reason the question is not quite clear.
    - If you just want to add a shape with an existing layer to your PCell
      you can do the  this with either dbCreate* or rodCreate* SKILL functions
      in the PCell SKILL code.
    - If you really need a new layer in the Virtuoso techfile you have to
      modify your current techfile or a new techfile.
      CIW -> Tools -> Techfile Manager ...

    • Post Points: 20
  • Tue, Apr 16 2013 5:49 AM

    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

    Thanks for your answers, as you said, i want to another existing layer in my PCELL codes.

    i think you guesses are right for the functionalities of the mos.device and mos.il files, and you can have a look at them.

    They are loaded in the  /cadence/tool/defII/samples/ROD/rodPcells/components/mos.

    I try to add dbCreat skill funtion in the mos.il file,but it does not show any difference. 

    Could you please give me the inputs in more details? 

     

     

     

    • Post Points: 20
  • Tue, Apr 16 2013 6:31 AM

    • berndfi
    • Top 100 Contributor
    • Joined on Tue, Sep 11 2012
    • Neubiberg, Bavaria
    • Posts 67
    • Points 1,255
    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

     - In my opinion the example is too complicated for a beginner to understand PCell coding.
    - The example comes with a bunch of SKILL utility function for which it is hard to understand what’s
      going on behind the scenes.

    I don’t want to try how this is meant to be used by Cadence because I don’t need it actually.

    You can try adding the following to the mos.il code.

       when( well?

                         WellObject = rodCreateRect(
                            ?layer wellLayer
                            ?width car(car(gate~>dbId~>points))
                        + leftStretch + transistor_length
                        + rightStretch
                        + wellOverLapDiffusion*2
                            ?length finger_width + wellOverLapDiffusion*2
                            ?origin -(transistor_length*.5 + leftStretch +
                                    wellOverLapDiffusion)
                                    : -wellOverLapDiffusion
                                    )
                         ;; added new well object here            
                         WellObject2 = rodCreateRect(
                            ?layer <youNewLayer>
                            ?width car(car(gate~>dbId~>points))
                        + leftStretch + transistor_length
                        + rightStretch
                        + wellOverLapDiffusion*2
                            ?length finger_width + wellOverLapDiffusion*2
                            ?origin -(transistor_length*.5 + leftStretch +
                                    wellOverLapDiffusion)
                                    : -wellOverLapDiffusion
                                    )
                                      
            )
    • Post Points: 20
  • Tue, Apr 16 2013 7:21 AM

    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

    it is a good idea, but it creats a very strange mos devices. 

    anyway, i think i need more time to figure it out. thanks.

    • Post Points: 20
  • Tue, Apr 16 2013 9:25 AM

    • berndfi
    • Top 100 Contributor
    • Joined on Tue, Sep 11 2012
    • Neubiberg, Bavaria
    • Posts 67
    • Points 1,255
    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

     Check if the "WellObject" is aligned to some other object in the code 

    with the "rodAlign" function. If yes repeat this with the second well object.

    • Post Points: 20
  • Tue, Apr 16 2013 10:22 AM

    Re: how to add a special layer for a custom transistor (pcells) in a techfile Reply

     Thanks a lot, I drop this "Wellobject" word, and directly draw the RodCreat*. 

     It works quite well. 

    • Post Points: 5
Page 1 of 1 (7 items)
Sort Posts:
Started by fuelectronics at 16 Apr 2013 02:12 AM. Topic has 6 replies.