Hi there, I have a really strange bug I can't figure out. I am developing some firmware for a proprietary testboard that utilizes the Cyclone FPGA. It contains 1 NIOS processor with multiple PIOS and some custom DMA logic. One of the PIOS is an output that drives some LEDs on the board.I ran into an issue today where the firmware would not run properly (The main.cc initiates a blinking sequence on the LEDS when it starts). This hasn't happened before, and I didn't really change anything in the NIOS at all so I decided to change the led driver on one of the LEDS to be constantly on just to be sure I was actually programming the device with the new .sof file. I accomplished this by OR'ing the pio with VCC. You can see this part of the logic at http : // imgur . com / 8Jw3b (Remove spaces) Here is the weird part...WITH the OR, the firmware functions properly and the NIOS starts running my programming. WITHOUT it doesn't work. It completely flabbergasts me why this simple change affects the functionality of the NIOS core. Any ideas?
Usually this indicates a timing problem. A small change on the design makes the placement and route take a complete different road, and makes your design work, only by chance.Is your design fully contrained and does it meet all timing requirements?