Uniquely Referencing Same Child Sheet Multiple Times - Page 1
Forum section: electronics / general

author: Vancouver_Kid
author_rank: Newbie
timestamp: August 18, 2018, 03:18:09 pm
content: Hello All,I would like to first of all say that I am quite new to Altium designer.What I am trying to accomplish is creating a Multi-channel thermistor board. I am organising the multiple channels by having a top_sheet, connector sheet, and a 3_Mux sheet, there will be many other ones but for now this will do. As you can see in the Desired_Connectivity image (which is purely used as an example image), the connector sheet is just a multiple 50 pin connector attaching to a bus, and exiting through the port to the top sheet symbols entry. It then (by the same bus) connects to the other sheet symbol entry, goes down into sheet 3_mux, and then the bus get's dispersed to the 3 different mux's via net labels. What I am wanting to accomplish is what the desired connectivity sheet shows, the connector sheet with each unique iteration of the connector child sheet connecting to each unique iteration of the 3_Mux sheet.What I tried to do is use the repeat command on both sheet symbols, as well as the sheet entries that I wanted to be unique. The problem I had was that I when I tried to repeat the connector sheet and its sheet entry, as well as the mux sheet and its entries (the ones that need to be unique such as the incoming bus port, and the ADC out's), all the connector connections would be connected in parallel within the pcbdoc, as well as all the Mux connections would be as well.So I read on Altium's website (which I think this pertains to what I am trying to do) "It is not possible to pass an individual net to just one channel if the Repeat keyword has been used to create the channels. If this is required, you must place an individual Sheet Symbol for each channel"I then tried to create multiple sheet symbols of the same child sheet (like the desired_connectivity sheet - but with proper labeling) for both the connector and the 3_mux sheet, but as you probably guessed as I change the net labels of one of the connector child sheet, it changes the rest of the connector child sheets to the same net labels I wrote on the other respective connector child sheet I just changed. Here in lies the problem, how do I reference the same child sheet uniquely, without changing the rest of the other child sheets? Or, is there a better way to do this??I hope I described my problem well enough for you to help, thank you!

author: ajb
author_rank: Super Contributor
timestamp: August 20, 2018, 06:59:11 pm
content: Does it work if you give the buses in your top level schematic unique names? You might need to change the way that net names are resolved in project options.You might try using a harness instead of a bus. Harness types are designed to be instantiated, so I think the name resolution is more flexible than with buses (and you don't have to do the silly double/triple naming that buses require). Harnesses are also hierarchical, so you could create a harness consisting of 16 inputs, and then a harness that contains three of those group harnesses which may make it easier to compartmentalize your muxes as well.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: August 20, 2018, 07:16:36 pm
content: FYI, buses are almost exclusively graphical conveniences -- I think they only have semantic meaning when connected to a REPEAT sheet? So, for example, I think your naming of TS_CON_1[..] would be ignored, and all the nets will still be named TS_IN3_[..].AFAIK, buses can't go through ports, and you have to use harnesses in this case. I haven't actually needed to use harnesses yet so I don't have any advice to offer on them.Tim

author: ajb
author_rank: Super Contributor
timestamp: August 20, 2018, 07:51:13 pm
content: Quote from: T3sl4co1l on August 20, 2018, 07:16:36 pmNo, there's definitely some meaning to buses beyond the constituent net names. I just messed around with one of the very few projects I have that use buses properly*, and disconnecting the bus from the port in one of my child sheets breaks connectivity. Additionally, you can mismatch the names between a bus line and a port or a bus line and a sheet entry and still get correct connectivity as long as the bus entry names are aligned with the bus line name. This all probably depends on project settings, but it does look like you should be able to get uniquely named buses by naming them in the top level sheet.* Usually I only use buses as graphical elements, which Altium will happily ignore and and use net names to resolve connectivity. Harnesses are just all around nicer to deal with in my opinion, especially because they are hierarchical and can have arbitrary constituent net names.

author: Vancouver_Kid
author_rank: Newbie
timestamp: August 25, 2018, 02:25:09 am
content: Hi guys!Thanks for the replies, a fellow from microdex (https://www.youtube.com/user/microdexuk/feed) helped me out! What I ended up doing was creating one instance of the channel I wanted to repeat, which was one connector connected to 3 muxes, put that as my intermediate level sheet and then created a new top level sheet of the intermediate level sheet and repeated that sheet symbol. The new top level sheet symbol has my mux inputs and outputs. I over complicated my problem, but thank you for the suggestions!Below shows (for now) how my hierarchical design is connected