Altera_Forum
Honored Contributor
19 years agoReset only the CPU
I have a system with a custom peripheral, a CPU and a dual ported memory which is connected to the PC via PCI interface. The CPU runns from the software stored in the dualported RAM.
Now I want to change the CPUs software via the PCI interface. For this purpose it is neccessary to bring the CPU into a save state and to generate a reset after the software upload has finished. There are several ideas on how to do this, but non of them is really satisfactory. The first is to add a second ram block, where the CPU waits while the software is updated and jumps to the reset vector when finished. This is easy to implement, but costs a lot of RAM. The second idea (thank you James) is to create a multi cycle custom instruction, which finishes when the software update is done. I like this idea, because it uses very little resources. BUT - how do I generate a reset after the instruction finishes? (remember - the RAM has been reprogrammed) Is there a possibility to modify the instruction pointer out of a custom instruction to jump to the reset vector? Is there a possibility to generate a reset in VHDL without reseting the peripherals? (my custom peripheral has to continue without interruption) Do you have any other ideas how to do this? Thanks Klaus