• 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. PCB Design
  3. Concept HDL Bus connection erorr

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 164
  • Views 12923
  • Members are here 0
More Content
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

Concept HDL Bus connection erorr

archive
archive over 17 years ago

Hello Folks,

Please refer the attachment.

 I used  MERGE/TIE symbol for to split the signal PPC_D to PPC_D and PPC_D but I am getting error 188.Please explain how to split these bus into two .
NOTE: I am aware about The sum of the size of the signals connected to the input pins of a MERGE symbol must be equal to the size of the signal connected to the output pin of the MERGE symbol. But for above explained case how to do ?
Would any ideas appreciated.

Thanks & Regards,

Kuthalingam.M


Originally posted in cdnusers.org by lingam
bus_err.zip
  • Cancel
  • archive
    archive over 17 years ago

    Hi there,
    I do not think you need the merge / tie symbol in this instance. It is legal to draw the following busses in concept.

    PPC_D<31..16>
    Then somewhere else:
    PPC_D<31..24>

    Where <31..24> is a subset of <31..16>. You do not have to "declare" these with a merge symbol. However, the subset <31..24> is only usefull when connecting to a vectored pin. And I know you wouldn't want to draw a vectored pin on a component, becasue it makes debugging so difficult. :)

    May I suggest :

    1/ Where you want to use a subset <31..24> of the bus <31..16>, show the bus in it's entireity, <31..16> then show taps for each required bits, <31>, <30> ... <24>. That way anyone reading the schematic knows the correct size of the bus, and can see which bits you are using.

    2/ Where the bus jumps through a vectored pin on a hierarchical block, again show the entire scope of the bus <31..16>. If you only need the subset in a different level of your hierarchicy, use the technique above. Bringing the entire bus through the hierarchy does not give dangling nets crossing the hierarchy when you move to layout.

    Does that help?

    If you were to rename the nets on your merge symbol as follows:

    Left hand net: ALL_BUS<63..0>
    Right hand top net: MSB_BUS<31..0>
    Right hand bottom net: LSB_BUS<31..0>

    It might better explain how the merge symbol should be used.
    Note that on the left hand branch you now have 64 nets. And on the right hand branches, you have two lots of 32 nets.

    In your example, you have 16 bits on the left hand branch, 8 nets on the top right and 16 on the bottom left.

    16 != 8+16

    Which is why you are getting an error.



    Originally posted in cdnusers.org by vealmic@uk.ibm.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Cadence Guidelines

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