• 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. How to make modgen always treat parallel transistors as...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 130
  • Views 15630
  • 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

How to make modgen always treat parallel transistors as m-factor

Grover
Grover over 15 years ago

I'm using Modgen to create neat matched transistor structures, but there's one thing I don't understand about it. In our design kit, the transistors have no m-factor property, so I create multiples by specifying the instance names like "MN1<0:3>". Now when I add a pair of these to the Constraint Manager and run Modgen, then click on the Pattern Editor, the transistors will be displayed in any of three different ways:

A: MN0<0:3> (4)
B: MN1<0:3> (4)

or

A: MN0<0> (1)
B: MN0<1> (1)
C: MN0<2> (1)
D: MN0<3> (1)
E: MN1<0:3> (4)

or

A: MN0<0> (1)
B: MN0<1> (1)
C: MN0<2> (1)
D: MN0<3> (1)
E: MN1<0> (1)
F: MN1<1> (1)
G: MN1<2> (1)
H: MN1<3> (1)

Obviously, I want the first option, but often (usually?) I get the second or third. The only way to get rid of this is to completely delete all constraints, delete the offending transistors, place new ones with different names, and hope that this time it works correctly. Of course I can still make my matched layout if the transistors are not recognized as belonging together, but it's just extremely annoying to figure out what I should write down instead of ABBA-BAAB.

I noticed that there is an entry in Sourcelink that says that this should just work in 6.1.3.500.3 (I'm using 6.1.3.500.13), so could I be doing something wrong here?

  • Cancel
Parents
  • Grover
    Grover over 15 years ago

    Hi Quek,

    If I follow your exact steps, the modgen works as expected: I get the same results as shown in your picture.

    However, I've also tried this:

    1. Place two transistors MN<0:3> and wire them up like a differential pair
    2. Connect pins to all terminals
    3. Select both transistors and create a modgen
    4. The modgen appears, and works correctly: it shows MN0<0:3> as A and MN1<0:3> as B.
    5. Cancel modgen and delete the constraint
    6. Select the right transistor, including its wires and pins, and drag (stretch) it a bit to the right
    7. Select both transistors and create a modgen again
    8. The modgen appears, and shows an incorrect list, as shown in the picture.

    In a real design, I drag my transistors around all the time, so if the problem is caused by moving transistors, then this would explain why it went wrong in my design.

    [edit] Click the picture to show it entirely, the modgen interface is on the right and gets cut off in the forum display

    • modgen.JPG
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Grover
    Grover over 15 years ago

    Hi Quek,

    If I follow your exact steps, the modgen works as expected: I get the same results as shown in your picture.

    However, I've also tried this:

    1. Place two transistors MN<0:3> and wire them up like a differential pair
    2. Connect pins to all terminals
    3. Select both transistors and create a modgen
    4. The modgen appears, and works correctly: it shows MN0<0:3> as A and MN1<0:3> as B.
    5. Cancel modgen and delete the constraint
    6. Select the right transistor, including its wires and pins, and drag (stretch) it a bit to the right
    7. Select both transistors and create a modgen again
    8. The modgen appears, and shows an incorrect list, as shown in the picture.

    In a real design, I drag my transistors around all the time, so if the problem is caused by moving transistors, then this would explain why it went wrong in my design.

    [edit] Click the picture to show it entirely, the modgen interface is on the right and gets cut off in the forum display

    • modgen.JPG
    • View
    • Hide
    • 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