--- Quote Start ---
I have been using ModelSim to input instructions, but they are all hardcoded in and I would ultimately like to be able to load a basic assembly program onto the board and have it execute. Any advice on how to go from testing with input/output pins to being able to use custom assembly instructions?
--- Quote End ---
So what is your processor interface? Does it have a separate instruction and data buses? Have you created those buses with signals that adhere to the Avalon specification? If you have, then you could create a _hw.tcl file, and create a Qsys system containing the processor, some SRAM at your processor boot address, a PIO, and another master such as the Avalon-MM BFM.
The PIO component could be used to hold your processor in reset. The Avalon-MM BFM master can then be used to fill the SRAM with the assembly instruction for your processor. The BFM can then program the PIO to release your processor from reset, and it'll boot from SRAM.
The BFM can then reset your processor, load the next image to SRAM, and you can repeat the process.
Cheers,
Dave