-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PC jump to a invalid address after du restarted. #25
Comments
On Sat, Feb 7, 2015 at 12:53 PM, Xiongfei(Alex) GUO <
To get the facts straight here, did you set the pc to 0x100 after you had
https://github.com/openrisc/mor1kx/blob/master/rtl/verilog/mor1kx_ctrl_espresso.v#L1233
Stefan |
Yes, here is my gdb script.
I need some time to simulate them and maybe start at next weed end.
I think so too, but how could it happen, it must have some inherent relation. |
Hi, I have a problem when I am using mor1kx.
My env:
I use openocd,jtag_vpi and gdb to debug the system, after I uploaded the elf program and let it start to run, the PC was jump to 0x4.
I think it might be a bug when du stop the cpu, and at the same time, CPU is in branch or delay slot.
And I think after a
du_restart
issued, CPU might need to wait until something is finished.Let me explain it, It is a little bit complicated, so pls correct me if...
ctrl_branch_occur
isHIGH
), CPU is stalled by external signal (du_stall
by debug_unit by gdb)execute_delay_slot
andctrl_branch_occur_o
become alwaysHIGH
until thedu_stall_i
is de-asserted.du_restart_o
pulse to let CPU jump to0x100
ctrl_branch_occur_o
isHIGH
, so CPU believe it is in branching, but actually the first two instructions are twol.nop
.0x4
, then everything messed up. -_-Another clue is if I modify
It seems that it is fixed, I am really not sure about this!
Thanks!
The text was updated successfully, but these errors were encountered: