Forum Discussion
For clarity, below is the exact sequence of steps I am taking along with screenshots/photos.
First, I use Programming File Generator invoked from within Quartus with the project open in order to convert from .sof to .rpd. This is the first screen that pops up, and I enter the output file information. Please confirm the other settings are correct... if I choose "AVST x16" as the Configuration Mode, the .rpd file type is not offered as a conversion option so I guess Active Serial x4 is the only possible choice since you said to convert to .rpd first.
I select the .sof file just generated by building the project. This .sof file works correctly if I manually program the FPGA directly through Quartus Programmer, so we know the .sof is good:
And after clicking "Generate", I get a success notification and the .rpd file is located where I specified.
Here you can see I attempt to perform the .rpd to .flash conversion within the Nios2 command shell, but I get the "file not found" error:
If I instead run the exact same command but within the Windows command shell (note the directory paths and everything is the same), it appears to work as a .flash file is generated. I am guessing there is no success message to be expected, so a silent return to the prompt must be a good thing (?):
Next, I ensure the Stratix 10 board SW3.3 is set to load the factory build at powerup so that I can connect to the board update portal:
And upon powering up, I am able to connect to the Board Update Portal through my web browser:
For hardware file I choose the .flash file generated by the steps above. There is no embedded processor in the FPGA design and so no software file exists/needs to be specified:
Here the file can be shown to be selected just prior to clicking "upload."
We can see the upload in process here:
After uploading, I get the following success message:
Note that though it says to press some switches and look at LEDs, those switches are not labeled nor are they documented in the User Guide so I don't know which ones to press. At any rate, the design should now be able to load upon a power cycle so I skip the steps above and get ready to power cycle the board to test if the design will load automatically.
After powering off the board, I first set SW3.3 to choose the user design on power-up and not the factory load:
Finally, after powering up with the user design selected via SW3.3, after a few seconds this red LED comes on and the design is non-functional... I'm assuming this LED indicates a configuration error.
Recall that the .rpd was generated using Active Serial x4 as the configuration mode since AVST x16 doesn't give me the .rpd option... I have tried setting SW1 (MSEL selection) to both "10" as well as "01," and neither works.
Can you describe to me what steps I did incorrectly, or missed? As far as I know I have done exactly as you indicated I should do as well as how the current documentation describes the flow. Thanks again for your help with this, this is an extremely frustrating and complex method of doing such a fundamental operation as loading a user design into NVM for auto-configuration at power-up.