• 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. Complex wire labels with iterated instances

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 15282
  • 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

Complex wire labels with iterated instances

mtpank
mtpank over 13 years ago

Hi all,
I'm working with the CIW version 5.10.41 and came across with the following problem when doing schematics (Virtuoso schematic composer) for a full custom mixed signal design:

Let's assume that I have a 3 bit bus going into an instance (I), and I need 8 of these instances all together. These instances should be hooked up with binary weighted signals. So the top level would be something like this:
pin a<2:0>
pin b<2:0>

I<0:7> connected with a wire labeled (expanded form): a<2>,a<1>,a<0>,a<2>,a<1>,b<0>,a<2>,b<1>,a<0>,a<2>,b<1>,b<0>,b<2>,a<1>,a<0>,b<2>,a<1>,b<0>,b<2>,b<1>,a<0>,b<2>,b<1>,b<0>

so that the incoming 3 bit bus is different for each instance and can not be simply labeled with a<(2:0)*4> or similar compact expression. I don't have access to standard cell library with this specific DK, so vhdl code + synthesis is out of question. I can compress the string above a little bit e.g. a<2:0>,a<2:1>,b<0>,.... b<2:0>, but it's not helping very much when extending the concept from 3 bits to 10 bits. Notice, that only the prefix changes, the index is the same 3 bit pattern (2:0) for each instance.  I was wondering if it would be possible to take the instance index as an input argument and perform a decimal to binary conversion for it and finally substitute all zeros with prefix a and all ones with prefix b. However, I don't know how this should be implemented in practice.

patchcords?
skill script?
embedded verilog module?

  • Cancel
Parents
  • mtpank
    mtpank over 13 years ago

    Answering to my own question...

    I wrote a few lines of matlab code that generates the desired wire labels to separate text files. Then I copy pasted these to appropriate places and got the job done. Maybe not very elegant solution but worked fine for me. It was afraid that Virtuoso does not support that long wire labels but it does - What a relief.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mtpank
    mtpank over 13 years ago

    Answering to my own question...

    I wrote a few lines of matlab code that generates the desired wire labels to separate text files. Then I copy pasted these to appropriate places and got the job done. Maybe not very elegant solution but worked fine for me. It was afraid that Virtuoso does not support that long wire labels but it does - What a relief.

    • 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