Author Topic: Complex multi-channel design with hierarchy and repeated blocks  (Read 1649 times)

0 Members and 1 Guest are viewing this topic.

Offline Warhawk

  • Frequent Contributor
  • **
  • Posts: 391
  • Country: 00
    • Personal resume
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 times
  • Control block which repeats two times
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 ;) !

Online ajb

  • Super Contributor
  • ***
  • Posts: 1531
  • Country: us
Re: Complex multi-channel design with hierarchy and repeated blocks
« Reply #1 on: July 01, 2016, 02:34:14 am »
Buses and the repeat syntax are pretty blunt tools in Altium.  I ran into similar frustrations with a nested repeated design a while ago: http://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.
« Last Edit: July 01, 2016, 02:37:43 am by ajb »
 
The following users thanked this post: Warhawk

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 12298
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Complex multi-channel design with hierarchy and repeated blocks
« Reply #2 on: July 01, 2016, 09:08:50 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
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life? We can help.
 

Offline Warhawk

  • Frequent Contributor
  • **
  • Posts: 391
  • Country: 00
    • Personal resume
Re: Complex multi-channel design with hierarchy and repeated blocks
« Reply #3 on: July 02, 2016, 08:25:35 pm »
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.
« Last Edit: July 02, 2016, 08:27:40 pm by Warhawk »
 

Offline Warhawk

  • Frequent Contributor
  • **
  • Posts: 391
  • Country: 00
    • Personal resume
Re: Complex multi-channel design with hierarchy and repeated blocks
« Reply #4 on: July 02, 2016, 08:28:42 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

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


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf