LibrePCB / librepcb-rfcs

MOVED TO https://librepcb.discourse.group/
Apache License 2.0
3 stars 0 forks source link

Gate and pin swapping #34

Closed ouabache closed 5 years ago

ouabache commented 5 years ago

I am trying to understand how LibrePCB will do gate and pin swapping. Let me know if I have this right.

I create a symbol for a NAND2 gate. I create a symbol for a power block. I create components for a NAND2 and power block

I put a bunch of NAND2's on a schematic with one power block for every 4 gates.

I create a component for a 74LS00 with 4 NAND2's and a power block.

I select 4 NAND2 components and one power block and bundle them into a 74LS00.

I can now select any two NAND2 gates from any 74LS00's and LibrePCB can swap them.

So what about pin swapping?

I create another NAND2 with swapped pins and make it a symbol variant for my NAND2 component.

Swapping pins is simply a case of selecting a gate and choosing its other symbol variant.

But if I want to swap pins after packaging I need to create 16 variants for the 74LS00 representing every possible combination of normal and swapped pins.

Is this how it will work?

John Eaton

ubruhin commented 5 years ago

I don't know exactly how it will be implemented. Maybe something like that:

The components need only one symbol variant containing all gates. These gates may be assigned to a "swap group" to make them swapable.

In schematics you place the "NAND2 Quad" component with all 4 gates + power block. As the gates are marked as swapable, these can be swapped in schematics.

Pin swapping may be implemented with swap groups at component signal level. Every signal can be swapped with other signals contained in the same swap group.

But that's just a rough idea... ;)

ouabache commented 5 years ago

Remember that the designer who places the NAND gates might not be the same one that does the PCB. It may go into a FPGA to be placed on a board or it may go directly to the PCB designer. In that case the PCB designer will package the gates and put in the PWR blocks.

That is also why you cannot back annotate to the original schematic. I design a power supply module that becomes part of numerous product boards. They may all have to change my reference designators but none of them will ever back annotate onto my copy. That's how it works when you reuse and share designs.

Kicad is targeted to the lone wolf developer that does everything in one workspace on one machine. If LibrePCB wants to establish its own niche you should ensure that it works in a team development environment where all developers share files through RCS repos on a file server.

I keep all my work in a git repository in a dropbox folder and clone it into my workspaces as needed. That way dropbox is never thrashing as it tries to backup all my generated files and I only push data out when I reach a stable checkpoint. My house could burn down and all I would lose are the changes since my last checkpoint.

ubruhin commented 5 years ago

This issue was moved to https://librepcb.discourse.group/t/gate-and-pin-swapping/22