A quick note that might help a little re: changing port order with symbol generation... If you change the top-level signals of your Qsys system, you will have to regenerate a BSF symbol and will see the problem with the port-reordering. However, if you do not change the top-level signals of the Qsys system, and the system name is the same, you can turn off symbol generation (disable the .bsf checkbox on the Generation tab in Qsys), and just reuse the previously-generated symbol in your BDF so you don't have to change any of the port connections.