 Question: I am debugging some C54x assembly code
and as I single step in the emulator, the current instruction is not being executed until
sometimes 1 to 3 instruction words later according to the emulator display. The delayed
execution was NOT happening when I ran the same code under the simulator.
Answer: The current instruction in the
emulator and EVM interfaces is in the decode phase of the pipeline. The simulator shows
the execute phase of the pipeline. This is the way they were originally designed.
There is a physical limitation that prohibits stopping the Emulator at the execute
phase. The emulator only has visibility to the decode stage of the C54x pipeline. After
the decode stage the emulator can not stop execution. So there is no way for the emulator
to stop at the execute stage. |