EEVblog Electronics Community Forum

Electronics => PCB/EDA/CAD => Altium Designer => Topic started by: Warhawk on June 30, 2016, 10:02:01 am

Title: Complex multi-channel design with hierarchy and repeated blocks
Post by: Warhawk on June 30, 2016, 10:02:01 am
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:
Let'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 ;) !
Title: Re: Complex multi-channel design with hierarchy and repeated blocks
Post by: ajb on June 30, 2016, 04:34:14 pm
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()'/ (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.
Title: Re: Complex multi-channel design with hierarchy and repeated blocks
Post by: T3sl4co1l on June 30, 2016, 11:08:50 pm
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.. :-DD

Tim
Title: Re: Complex multi-channel design with hierarchy and repeated blocks
Post by: Warhawk on July 02, 2016, 10:25:35 am
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.
Title: Re: Complex multi-channel design with hierarchy and repeated blocks
Post by: Warhawk on July 02, 2016, 10:28:42 am
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.. :-DD

Tim

Tim, as I wrote in the first post, it is a multiphase DC-DC converter  ;)