instruction fetch matching algorithm
CodeArtifactThe instruction fetch matching algorithm is a co-simulation mechanism for feeding a consistent instruction stream to a pipelined RTL core and an instruction-set simulator (ISS). It handles RTL pre-fetching, jumps, traps, and on-the-fly instruction generation by keeping a fetch-order queue of pending instructions and matching ISS fetch requests against both program counter and expected instruction.
WIKI
Overview
The instruction fetch matching algorithm addresses a co-simulation problem: an RTL core and an instruction-set simulator (ISS) must receive the same instruction stream, but a pipelined RTL core can pre-fetch instructions that the ISS has not yet requested. Because jumps and traps can invalidate or redirect pre-fetched instructions, direct program-counter-only matching is insufficient. [C1]
The algorithm keeps a queue of pending instructions fetched by the RTL core but not yet consumed by the ISS. Each queue entry stores both the instruction and its program counter (PC). When the ISS requests its next instruction, the algorithm searches the pending queue for an entry whose PC and instruction both match the ISS-side expectation. [C2]
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →