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
The file you are talking about "mos.device" or "mos.il" are not techfiles these is the PCellSKILL 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 ...
In reply to berndfi:
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?
In reply to fuelectronics:
- 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.
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.
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.
Thanks a lot, I drop this "Wellobject" word, and directly draw the RodCreat*.
It works quite well.