I'm trying to do the PCB design, using Eagle, for a small board with an FPGA that basically just routes the I/O lines to the outside.

So, for the purpose of routing this board, the pins are basically interchangeable, but obviously this doesn't transfer to the next design, so I'd rather not assign them the same swaplevel statically.

Is there a way to dynamically alter the swaplevel of the pins of components placed in a concrete project, or can I make components configurable in that way?

  • \$\begingroup\$ I'm confused, why can't you make a project-specific component library (which is best-practice btw, avoids modifying existing libraries which you need to do from time to tme, and makes it easily distributable), modify the swaplevel for the purposes of routing the board and let eagle do its thing. Any other projects and boards would be unaffected. You can also make alternative symbols/packages for existing devices if you would prefer not to modify existing symbols. \$\endgroup\$
    – crasic
    Commented Jun 16, 2014 at 21:01
  • \$\begingroup\$ I'd still have to keep track of "modified" vs "unmodified" components, and would have huge difficulties forwarding bugfixes between projects. \$\endgroup\$ Commented Jun 17, 2014 at 8:32
  • \$\begingroup\$ Altium has the facility to allow you to define "pin groups", in which you can re-route wires during the layout phase (you literally just route the net to whichever pin you want on the FPGA), and propagate those changes back to the schematic automatically. I know you are using eagle, but if you really want that feature, it is available. \$\endgroup\$ Commented Jun 17, 2014 at 10:33
  • \$\begingroup\$ @SimonRichter I disagree, it is pretty typical to redraw all the symbols and footprints from scratch (instead of relying and trusting that eagle did a good job). It is not much work to include an FPGA_ROUTABLE symbol and use it as alternative for that component, for a distinct project you keep all the symbols/packages/etc. in one library for all your components all maintained together. If you are using eagle default libraries for your projects, its already impossible to forward bugfixes, you need to make your own libraries, this is standard practice. \$\endgroup\$
    – crasic
    Commented Jun 17, 2014 at 17:20
  • \$\begingroup\$ I'd add that "one library" is a logical grouping, you can subdivide into individual library files of course, but the point is don't rely on eagle provided or even manufacturer provided stuff, you need to make sure the footprints confirm to fab tolerances and the symbols match reality, etc, especially for high density parts like FPGA's manufacturers will be using assumptions different from the realities of your fab. So if you are already redrawing the footprints you might as well add an alt symbol to your component while you are at it \$\endgroup\$
    – crasic
    Commented Jun 17, 2014 at 18:11

1 Answer 1


No. Eagle does not have this functionality in its current (v6) form. I don't know of any plans to add it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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