FAQ Trouble shooting
To submit a problem and a solution to the FAQ list student are asked to write a description of the problem and how you solved the problem. Also provide a title to the problem. Screen shots of the error and corrected settings or pathways are most welcome and are the best way to present the problem: the error report and the click path to solve the problem.
1. Wiring in Quartus II not sticking to the connection.
This was an unusual problem where the I/O pin wasn’t sticking to the pin. Normally after making a pin connection the wire is “stickly” meaning if you move the pin slightly the wiring stays attached. In this problem the pin moved but the wire didn’t showing the X—that denotes the end of a wire segment where it appeared connected. The solution was to turn on the Rubberband feature:
Figure 1 Getting the wiring to connect to nodes.
Submitted by Prof Johnson
2. Seven Segment Display problem
This was a problem found in Lab 4. Student had borrowed the system developed for Lab 3 Binary Count adding the pio_output for the 7–segment display. Unless the pio_output was named seven_seg_pio in the processor core it would not run. The reason is the canned software we used called that bus to the 7-segment display by that name and if the hardware is not named the same then we experience a mismatch during Eclipse and see errors.
Submitted by Anthony Bisceglia, BCOT ‘13
3. ELF download fails problems: License Setup
Figure 2 This screen is usually our first indication of a problem.
Change some settings in Quartus to allow a floating license to appear. The first setting you must change can be done by selecting Assignments>>Settings… and from there make sure that under “EDA Tool Settings >> Simulation” the Tool name is set to ModelSim-Altera. Next go back to the main screen and select “Tools >> Options…” and change the License Setup if you are using the Web version like I am. You must make sure that “Wait for floating licenses is checked. These errors as well as the fixes can be seen in the figures below.
Figure 3 Setting the Simulation variable.
This screen is found under Tools>>Options of the main menu.
Figure 4 Check off Wait for floating license
Figure 5 This is the OpenCore License--Do not close this window
Submitted by Anthony Pisello, BCOT ’13.
A peculiar aspect of the above suggestion is that even though I went thru my Quartus II design and made the suggested changes, compiled the hardware, downloaded the design down to the board, then created a Nios II HelloWorldSmall application; it worked but I did not get a Web-License window to appear. In subsequent labs I did have a floating license appear.
Submitted by Prof Johnson
4. Downloading ELF problems: OS problems
Figure 6 The elf file is supposed to be located here.
If students were using Windows 8 they are asked to click on the software icon on their desktop, select properties and change the compatibility to Windows 7 and also check off Run as Administrator.
5. Downloading ELF problems: No hardware present
This problem is a killer because we haven’t fully solved it but we sure can tell it exists. Everything is running smoothly until we get the dreaded ELF download failure. To detect the lack of hardware on the DE2 Board switch to the Run>>Run Configuration in the main menu.
Figure 7 Checking the target connection
Figure 8 Opening screen of the Run Configuration
In the first screen you should check that Eclipse software knows where the ELF file is located. In this screen shot you can see I have two Run Configurations because I had used a previous version of this program using a different name. Make sure you have selected the right one. Move to the Target Connection tab next:
Figure 9 Target Connection tab
You should see the JTAG connection via the USB-Blaster listed in the Cable fields of the Processors and Byte Stream Devices tables. If not try refreshing the connection using the Refresh connection button on the right. This is useful if the Quartus II programmer hasn’t released the USB port.
Next click on System ID Properties button to have Eclipse go down to the DE2 board and read the system ID. You should see the 3rd blue LED, LOAD, flash when the computer accesses the board. If all is well, you will see the system ID and timestamp match up. Eclipse knows their value from the *.sopcinfo file Eclipse reads at the start of the NIOS II project. If the system ID and the timestamp don’t match up or it says “Not Found” you don’t have the right *.sopcinfo file loaded for the hardware downloaded or there is no hardware download to the DE2 board (even if the programmer appeared to work).
Figure 10 System ID Properties screen when no hardware is present...notice the reported error at the top
The best way to verify there is no hardware on the DE2 board is to go back to your Quartus II design and add a slide switch connect to an LED outside the LED as seen below.
Figure 11 Adding a test switch
Add the pins and compile the hardware then program the board. You can test immediately if the hardware has been added. If the LED doesn’t light there is no hardware on the DE2 board thus there is nowhere for the ELF file to go when Nios II tries to download that binary file. This problem was solved successfully by Prof Johnson on August 28, 2013. The students had to follow very carefully the re-installation instructions post on my website; they can use a short cut seen on page 3 where they installed the extracted files again. They should uninstall the old version and then delete all files left over on the hard drive. The write up for the solution is a document called Solving Quartus v13 hardware problems.docx posted on my website. See the 2nd page for the re-installation instructions.
6. The following error was reported:
Figure 12 no solution reported so far to this trouble.
This problem is creating the Makefiles the Eclipse software could not find nios2-elf-objcopy.exe file in the directory nios2eds. I had suggested to the student to re-install his software. I didn’t hear back from him so this presumably cleared his problem.
7. When running Lab 3 of Binary Count, the count appears but the LEDs aren’t lighting up.
This turned out to be caused by using the wrong name for the output pio. The effect is like having no connection between the command to turn on and the LED. Nothing happens. The Qsys module should be named led_pio.
8. Reset vector error
This error turned up in the makefile portion of Eclipse. There reason was due to a difference between what the instructions said should be the setting for the reset vectors in the Nios II core on the first screen of the wizard setting up the microcontrollers components. Usually we leave these setting blank until the memory is installed. Depending on where the memory base address is, the reset is offset from this base. The written instructions said to use an Absolute value meaning 0x00. In this case the memory had the lowest address in the design and this instruction was correct. The student had used auto-assign base addresses which moved the memory to 0x8000. The correct setting was to change to the memory location using the pull-down feature that referenced the memory.