Complex multi-channel design with hierarchy and repeated blocks  - Page 1
Forum section: electronics / general

author: Warhawk
author_rank: Frequent Contributor
timestamp: June 30, 2016, 10:02:01 am
content: Hello Everyone,I'd like to ask you for help. I've been trying to connect few hierarchical-repeat blocks together but without success yet.My design is very complex so I rather made a sketch which should shed some light on the problem.When you look at the circuit diagram, you identify that it can be split into two blocks which repeat:LED block which repeats four timesControl block which repeats two timesLet's ignore the "sync" signal for the moment.My first idea is on the second picture. I wanted to wire out only one "OUT" signal from the CTRL block. However, it seems that Altium complains about repeated buses, e.g. "REPEAT(OUT[1..2])". They seem to be identified across the whole project. Second, I don't know how to connect two buses(2x bus of two signals) "OUT[1..2]" to REPEAT(IN). The picture speaks for itself.The second idea is on the third picture. I wanted to get rid of repeated buses so I had OUT1, OUT2 which was repeated two times (OUT1_1, OUT2_1, OUT1_2, OUT2_2). Again, I had a problem how to connect it to the LED block.For those who are curious why do I need it; it is about a multiphase DC-DC with four identical power stages and two 2-ch controllers driving them.Any hint is highly appreciated!

author: ajb
author_rank: Super Contributor
timestamp: June 30, 2016, 04:34:14 pm
content: Buses and the repeat syntax are pretty blunt tools in Altium. I ran into similar frustrations with a nested repeated design a while ago:https://www.eevblog.com/forum/altium/multi-channel-designs-and-buses-and-nested-'repeat()'/You might be able to get something acceptable by repeating the ctrl and led blocks separately, and breaking out the buses from the ctrl block and to the LEDs and just wire the members of the nets together (You'll wind up with multiple names on nets which is a warning by default in Altium. You can either suppress or ignore the warning, or use a resistor or net tie or something to join the nets.).The other option would be to make the LED blocks children of the ctrl blocks. This might lead to other problems (like the ones I had); it depends on what other connections you need to make between levels.Hopefully Harnesses will wind up being supported in Repeat() relatively soon (see the bugcrunch links in the other thread), as that will make it possible to do more elegant arrangements.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 30, 2016, 11:08:50 pm
content: Put two instances of the "LED" inside one "control" sheet.Put two instances of the "control sheet" on main.I assume / hope your actual "complex" design is more than literal inverters and LEDs..Tim

author: Warhawk
author_rank: Frequent Contributor
timestamp: July 02, 2016, 10:25:35 am
content: Gentlemen,thank you for your inputs. I ended up using separate blocks. At the time I wrote this post, I did not know that that I can use multiple sheet blocks referring to the same page. Over and above that It makes my block diagram way more easy-to-read.

author: Warhawk
author_rank: Frequent Contributor
timestamp: July 02, 2016, 10:28:42 am
content: Quote from: T3sl4co1l on June 30, 2016, 11:08:50 pmTim, as I wrote in the first post, it is a multiphase DC-DC converter