0
\$\begingroup\$

The question is one, but revolves about:

  1. component definition in the library
  2. placement between the schematic and the PCB document so that they remain synced
  3. proper Net definitions and
  4. avoid errors captured by the compiler and
  5. proper BOM list generation.

I am relatively novice altium user and I am designing a fairly simple 2-layer fanout board for a component. I have also created a library for the component.

The component in focus has input, output and IO pins and its default component type is standard, which means that it will be included in the BOM list.

Now what I want, is that the board has pads for this component on both sides, for test reasons. In such a way the test engineer will be able to solder the component on either, but only one at a time, side of the board, leaving the pads on the opposite side unused. Of course the two sets of pads will be electrically shorted and hence, will belong to the same Nets according to specs. This way I will be able to route the board later.

What I did, is that I placed two instances of the component in the schematic: one with "standard" type and one with "standard (no BOM)", which almost brings me to the desired result.

The problem is that I get an error for the output pin from the compiler that "Net contains multiple Output Pins." I understand the error, but I don't see how to resolve it, as according to the recommendation I should break my library definition, by changing the I/O specification.

Another option would be to place only one component in the schematic and two components in the PcbDoc, but this brings up two new questions:

  1. How to keep the two synced, such that when I am doing a "Update Schematic/PCB document" no changes occur in the Engineering Change Order?
  2. How to place a component with body in Mechanical layer, so that this is not visible in 3D View?

What is the way to do this properly in Altium?

Thank you very much and cheers!

\$\endgroup\$
1
\$\begingroup\$

Another way would be to define a connector pattern with the same fooprint, pins are passive, prefix could still be U_something_A (whatever your convention is), and no 3D body associated with it. I hate ignoring netlist errors, eventually they come back to haunt you.

\$\endgroup\$
  • \$\begingroup\$ You should be able to use the existing schematic symbol of the IC as the symbol for the connector, just changing the pins to passives if you want to save some work there (make sure you save the symbol as something else so it doesn't overwrite the existing IC symbol (usually that's automatic, but...). \$\endgroup\$ – isdi Oct 24 '18 at 15:24
0
\$\begingroup\$

Put two parts on your schematic, connect all pind in parallel. Ignore the warnings about two outputs on the same net - you know only one part will be installed, yes? Place the parts on top & bottom of the board. You may find you cannot place them exactly opposite each other and still be able to route them. Some placement experimentation may be needed.

\$\endgroup\$
0
\$\begingroup\$

The most common way to do this is to add a two copies of the component in the schematic, and use variants to indicate which is populated (the part on the top or the part on the bottom). The part you don't populate for a given variant should be marked as "Not Fitted". Before you can do this, however, you have to create your two variants and compile the project. Once compiled, a tab will appear at the bottom of the schematic editor which you can click on to enter the sheet editor:

enter image description here

When you enter this sheet editor there is a button at the top in one of the toolbars that looks like a component symbol with a red X through it. When you hover over it the label shows Toggle Part Fitted or Not Fitted:

enter image description here

If you click this you can use the tool to change the part so it is not populated for the selected variant. It will either not show up on the BOM at all, or if you have "Include Not Fitted Components" checked in your BOM configuration, it will show up on the BOM with a quantity of 0.

This way you have two "Standard" components, each with their own footprint, and your variant determines which footprint is populated. I would consider this the right way to do it.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.