Author Topic: Spreading multi-part components across multiple channels  (Read 7045 times)

0 Members and 1 Guest are viewing this topic.

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
Spreading multi-part components across multiple channels
« on: January 11, 2016, 10:53:18 pm »
If I have multiple sheet symbols each containing one op amp, is it possible to have Altium automatically assign parts from a quad op-amp across four of those channels?  I have the Part ID unlocked for the ops in the schematic, and I have "Complete Existing Packages" set to "Whole Project" in the annotation menu, and I've changed Designator Format to "$Component" in project options, but it doesn't work.  It seems that the annotator only sees the original instance of the component in the source schematic rather than each instance of it.  Am I doing it wrong, or is this just not possible?

Edit to add:  I actually have two instances of one sheet with 2 op amps each, and four instances of another sheet with one op amp each, all placed as individual sheets (no "REPEAT[]").  AD does actually change the Part ID of one of the solo op amps to match it with one of the two-op amp channels, but I wind up with the same designators across all instances of each sheet and none of the other op amps wind up connected properly as a result.
« Last Edit: January 11, 2016, 11:00:51 pm by ajb »
 

Offline exmadscientist

  • Frequent Contributor
  • **
  • Posts: 404
  • Country: us
  • Technically A Professional
Re: Spreading multi-part components across multiple channels
« Reply #1 on: January 18, 2016, 03:40:13 am »
I asked the same question a while ago. From everything I can tell, it is simply not possible. I ended up copying and pasting my subcircuit eight times, which was bloody annoying to keep straight on the schematic side, but at least let me assign different resistor values to different channels trivially. (Supposedly AD16's "improved" variant support would have let me do that anyway, but it still does nothing to help with the dual/quad part issue.)

I agree that it's pretty ridiculous for this to be missing from Altium.
 

Offline mrpackethead

  • Super Contributor
  • ***
  • Posts: 2845
  • Country: nz
  • D Size Cell
Re: Spreading multi-part components across multiple channels
« Reply #2 on: January 18, 2016, 03:48:55 am »
I'd be happy for them to leave that out, but get rid of the crashing.
On a quest to find increasingly complicated ways to blink things
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
Re: Spreading multi-part components across multiple channels
« Reply #3 on: January 18, 2016, 06:56:25 pm »
Eh, I'm not too bothered by it, really.  In this case I only had two and four instances of each channel type with a total of 8 op amps and a handful of passives, so not a huge pain.  Anything really complex probably has enough op amps in each channel that it's not an issue, or is easier to route with single/dual packages.  If you have a lot of passives and only one or two op amps per channel, you could split the channel into different stages with the op amps in between stages. 

It seems to be a limitation with the way schematics are compiled and annotated.  For a multi-channel design (with or without "REPEAT()") it seems each sheet gets compiled and annotated once per definition--not per instance--according to the annotation rules, so all of the instances of each sheet have the same base designators.  Then the designator format is applied after that, where channel suffixes are appended.  So they'd presumably have to rewrite the annotator to be aware of the entire project structure and all *instances* of each sheet rather than just the definitions.

Oh well.
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22387
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Spreading multi-part components across multiple channels
« Reply #4 on: January 18, 2016, 07:05:36 pm »
You can go in and manually annotate a given component instance, to have an arbitrary physical designator (at least since AD14), but I'm not sure about "part" (i.e., suffix).

For sure, it would absolutely screw with the other underlying purpose of sheet instances: repeated placement/routing.  Channels would have to have mismatched components and routes, which is dumb.

At least with the ready availability of compact singles and pairs and such of common parts (logic gates, op-amps..), it's not a big deal.

(As an aside, amazingly enough, it's *possible* to do this in Multisim/Ultiboard, at least as of the version I last used.  But, Multisim absolutely will not respect manual designator assignments, and will randomly reset all your careful work.  And can't be back-annotated into submission, because it thinks all the parts are new and separate.  So, yeah.)

Tim
« Last Edit: January 18, 2016, 07:10:31 pm by T3sl4co1l »
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline ajbTopic starter

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
Re: Spreading multi-part components across multiple channels
« Reply #5 on: January 18, 2016, 07:31:34 pm »
Yeah, the band where duplication in the schematic is helpful but not being able to fully duplicate placement/routing isn't a big deal is pretty narrow, to the point where it's probably not worth the effort to do the annotation manually.  And the situations where you really want to share parts but be able to duplicate most of the routing could be done with a different (if slightly less elegant) schematic structure.

Also, manual annotation across channels would be especially annoying if part swapping is still broken--I haven't even bothered to try since, like, 14.3, though, so maybe they've fixed it  :-DD.
« Last Edit: January 18, 2016, 07:33:07 pm by ajb »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf