OpenCores

* Amber ARM-compatible core

Issue List
Load/store operations restarted when stalling #9
Closed Foske opened this issue over 11 years ago
Foske commented over 11 years ago

We use the a23 with Cache enabled. While executing a push {r3,lr}, the processor stalls forever while writing the second register (lr). I debugged this issue and found the following:

Due to a weird coincidence, the wb_stall and cache_stall together create a three cycle high o_fetch_stall signal in our design. The cache_stall is high the first cycle, the wb_Stall the second and third. This prevents data_access_update in execute.v to get high. After three cycles, the SAME write transaction is completely restarted, making the cache_stall high the first cycle, and the wb_stall the second and third. As a result, the core stalls forever, continuously writing the lr register.

I think it is incorrect that the write transaction is restarted. The core does get an acknowledgement from the bus. How can a write transaction restart when the stalling lines are high ?

csantifort closed this over 9 years ago

Assignee
No one
Labels
Bug