Altera_Forum
Honored Contributor
9 years agoCouple of questions about the remote update system
Hello!
This is my first time around this forums, so greetings to all of you. I hope you can help me with the following questions. I've been tasked with implementing the remote update functionality for our FPGAs, we are currently using Cyclone V (5CGX variants, at the moment). After using the ASMI and remote_update IPs and creating the necessary user logic, everything is working perfectly! However, I still have some doubts I haven't been able to completely clear out by reading the corresponding documentation, handbooks and application notes. A couple are just me wanting to be certain about how they work. 1) Since the update circuitry is implemented in dedicated hardware within the FPGA there is no way this could be affected by SEU errors, is this correct? What about the registers that hold status or watchdog timer values? 2) The watchdog's documentation states that it counts based on the "watchdog timer internal oscillator" and the CycV datasheet only mentions a minimun and maximum value (5.3 to 12.5 MHz). I'm not certain if this is an independent oscillator that needs configuring or if it's the same clock used as the "Active serial clock source" in the Device and Pin Options tab. If it's the first, where do I find this setting? I don't think it's the same clock used for the remote update IP input clock source since this wouldn't make any sense if the configuration fails (that clock could very well disappear), is that right? 4) Is it possible for a configuration error during user application to somehow get stuck resetting the watchdog timer? I see it resets on the falling edge of the reset signal, and I believe that in a worst case configuration error the signal would remain at a constant value (if it remains as it is at all, it *is* a configuration error after all), but I have no backing up for that claim. 5) There's also the reset based on CRC configuration error check (during user application, not while configuring), I think this is not enabled by default and I can see on the Device and Pin Options tab, the Error Detection CRC category, the item "Enable Error Detection CRC_ERROR pin" describes that it needs to be turned on for the device to check the validity of the programming data. However, if that pin is being used for some other purpose (it does have a couple of alternate functions) how would I go about enabling the CRC check? What about making the remote update IP reconfigure on CRC error? I know it's reported on the status register but you can only configure the watchdog enable through this IP. 6) Is there any other usual approach to reconfiguring the device on error? As it is right now, we don't have external access to the nCONFIG pin, but if that turns out to be a better solution than using the watchdog and CRC check we might be able to change the design... it doesn't seem like it would be a better idea though. Thank you all for your time! Regards, Sebastian.