fpga pin
In order to do some useful work in real world using FPGA you will have to download your bit stream to it.
It will be connected to various resources.
If you don't assign pins on your own, synthesis tool will assign it for you and you will have to connect other devices as suggested by tool.So hardware (PCB) would be designed accordingly.
However, in real world first you fix the locations of various resources (other ICs, crystals i/os etc)on the PCB then assign pins in your FPGA tool accordingly.
Now how to make good pin assignments
Well it depends on various criteria of PCB designing, the nature of I/Os you are using,
how frequently they are toggling,(high frequency32 bit i/os prone to show SSO effect if not routed properly), signal integrity and debugging convenience etc also matters.