• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Problems in Generating Multiple Devices in Modgen Editor...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 13767
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problems in Generating Multiple Devices in Modgen Editor for Inter-digitization of Differential Pairs

canbaltaci
canbaltaci over 9 years ago

Hello,

I am using IC 6.1.5. What I am trying to do is to generate the layout of a differential pair where the devices (M1 and M2) have 4 fingers (or 4 gates in parallel). My problem is that the modgen editing tool does not provide me 8 distinct devices in total (4*M1 + 4*M2). Instead it provides me only 2 distinct devices (single M1 and single M2).

I have tried different cases but none of them worked. The cases I have tried are:

1) I have set nf=1 (number of fingers) and m=4 (multiplier, multiplicity etc. depending on the design kit)

2) I have set nf=4 and m=1

In neither cases, the modgen editing tool didn't provide me 4 different devices with the same size. In my case, there was either a single device with one finger (Case 1); or a single device with four fingers and continuous diffusion (Case 2). Therefore, I was not able to continue with the "Pattern Editor" for making structures like ABBAABBA since there was only a single A and a single B.

After all, I changed the instance names of the differential pair devices from M1, M2 to M1<3:0>, M2<3:0>. In that case, the modgen generator provided me 8 different MOSFET devices in total and I was able to make structures like ABBAABBA. However, in this case it was not possible to abut the devices. When I clicked on "abut all" nothing changed and none of the S or D terminals placed on top of each other. Besides, this solution (in fact it didn't solve anything) is not a nice and neat way of building a schematic for a differential pair.

To check the functionality of the multiplier parameter (m) I created a layout view and generate the layout from the source. Layout GXL instantiated only one device for each MOSFETs instead of 4 (I set m equal to 4 in the schematic).

Finally, I would like to refer to a tutorial video on Cadence. In this video, what I want to do is explained and when the differential pair is generated in modgen editor, you can see 8 devices in total; where I see only two. The link of the video is below:

In summary, I was not able to see multiple devices neither on modgen editor nor on Layout GXL Could you please explain me how to generate many devices from a single MOSFET instance so that I can play with the number of the rows and create different patterns on the Modgen Editor?

Thank you very much in advance.

Best regards,

Can BALTACI

  • Cancel
Parents
  • ColinSutlieff
    ColinSutlieff over 9 years ago

    Hi Can,

    From your description I think the issues may be related to the pdk.

    In 6.1.5 the MODGEN tool assumes default names for parameters like number of fingers, width, length, etc .

    So, for example, it expects the parameter for number of fingers to be called "fingers", by default.

    If your pdk uses a different name in the CDF ("nf" for example) then MODGEN will not recognize it and will fail.

    If the pdk is set up correctly, there will be some .cdsenv parameters that define the parameters that MODGEN will use.

    As a test, enter this in the CIW:

    envGetVal("layoutXL" "lxFingeringNames").

    I get:

    "fingers finger numFingers numFinger"

    You can see that "nf" is not in the list so it would also fail on my machine.

    There are lots of other settings that need to be set for the PDK to work correctly with the MODGEN so really you need to contact your PDK supplier for help.

    Similarly for auto abutment, there are default parameters set. It may also be possible to change the setting in the GUI by setting the "merge Layers" setting in the Constraint Manager for your MODGEN.

    I would start by asking your PDK supplier if they have set it up to support MODGENs.

    More detailed feedback can be provided if you contact customer support.

    Regards

    Colin

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ColinSutlieff
    ColinSutlieff over 9 years ago

    Hi Can,

    From your description I think the issues may be related to the pdk.

    In 6.1.5 the MODGEN tool assumes default names for parameters like number of fingers, width, length, etc .

    So, for example, it expects the parameter for number of fingers to be called "fingers", by default.

    If your pdk uses a different name in the CDF ("nf" for example) then MODGEN will not recognize it and will fail.

    If the pdk is set up correctly, there will be some .cdsenv parameters that define the parameters that MODGEN will use.

    As a test, enter this in the CIW:

    envGetVal("layoutXL" "lxFingeringNames").

    I get:

    "fingers finger numFingers numFinger"

    You can see that "nf" is not in the list so it would also fail on my machine.

    There are lots of other settings that need to be set for the PDK to work correctly with the MODGEN so really you need to contact your PDK supplier for help.

    Similarly for auto abutment, there are default parameters set. It may also be possible to change the setting in the GUI by setting the "merge Layers" setting in the Constraint Manager for your MODGEN.

    I would start by asking your PDK supplier if they have set it up to support MODGENs.

    More detailed feedback can be provided if you contact customer support.

    Regards

    Colin

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information