Forum Discussion
Altera_Forum
Honored Contributor
11 years agoWhat the preloader does is takes the I/O settings that Quartus generates and configures the I/O setting registers (this is something that happens automatically on the FPGA side of the chip). This is the main purpose of the scan manager, it's to give boot code direct access to the I/O settings so that software can program their settings because configuring the FPGA doesn't affect the HPS I/O. These are the high level steps:
1) HPS boots 2) Preloader writes the HPS I/O settings into scan manager 3) Preloader writes the HPS pin mux settings into the system manager 4) Preloader "unfreezes" the HPS I/O by accessing the scan manager (this is when the I/O change from tri-state and take on the appropriate role in your design) So if you have unused HPS I/O set to input tri-state with weak pullup that setting is written in step 2 and when step 4 completes those unused I/O will remain set to tri-state (and your used HPS I/O will take the form of whatever your design uses). You are correct, you don't make pin location assignments in Quartus for the HPS I/O because that is handled by the preloader and the pin muxing. You can make other assignments to the HPS I/O like drive strength for example but keep in mind that the HPS I/O are limited in functionality compared to the FPGA I/O so not all of the assignments you are used to will be possible with the HPS I/O.