Unless you use Cadence ConceptHDL (now called Allegro Design Entry
HDL), my method may not make sense to you or your schematic tool.
Our FPGA schematic model has multiple symbol versions for different
parts of the FPGA. One for the config/jtag pins, one for an IO pin,
one for a Vcco (bank power) pin, and one for MGT IO. The first version
is only used once per FPGA on the board. You use as many of the other
three versions as are required to represent your connections (e.g. one
IO version for each IO pin you use, etc.) The IO symbol version has an
IO pin and a Vcco pin on it. The Vcco pin # is common to all IO pin #s
in the same bank. Cadence only allows pin swapping between functions
that have the same signal on their common pin(s) (i.e. their Vcco pins
are hooked up to the same power rail). The Vcco symbol version is used
to add all the extra Vcco pins per bank that your FPGA requires. It has
two pins also, one that is the same common vcco pin as the IO slice
uses, and the other is an "extra" Vcco pin to represent the other vcco
pins in that bank. The symbol has a property that ensures that the
extra and common Vcco pins are shorted together, to make sure that all
Vcco pins of a bank receive the same power.
Hope this made sense, but if you don't use Cadence, it might not...
Something similar can probably be done in Mentor schematics, but I
don't know how.
As for checking the pinout of the FPGA design vs the board netlist, it
is MUCH easier if your net names connected to the FPGA on the board
match the port names of the FPGA design. Then you can extract a
netlist of all connections to the FPGA, and compare it with the pin
report of the FPGA more easily. I have no idea of the capabilities of
the lower-tier schematic capture tools.
Andy