2015-06-27 02:38:08 +00:00
|
|
|
struct Prefetch {
|
2015-06-28 08:44:56 +00:00
|
|
|
uint16 slot[8] = {0};
|
|
|
|
uint3 input = 0;
|
|
|
|
uint3 output = 0;
|
2015-06-27 02:38:08 +00:00
|
|
|
|
2015-06-28 08:44:56 +00:00
|
|
|
bool stalled = true;
|
2015-06-27 02:38:08 +00:00
|
|
|
unsigned slots = 0;
|
2015-06-28 08:44:56 +00:00
|
|
|
signed wait = 0;
|
2015-06-27 02:38:08 +00:00
|
|
|
uint32 addr = 0;
|
|
|
|
} prefetch;
|
|
|
|
|
2015-06-28 08:44:56 +00:00
|
|
|
auto prefetch_stall() -> void;
|
|
|
|
auto prefetch_start(uint32 addr) -> void;
|
|
|
|
auto prefetch_step(unsigned clocks) -> void;
|
|
|
|
auto prefetch_wait() -> void;
|
2015-06-27 02:38:08 +00:00
|
|
|
auto prefetch_take() -> uint16;
|