跳转至

Writeback Queue

Function Description

The Writeback Queue contains 18 Writeback Entries, responsible for writing back replacement blocks (Release) to the L2 Cache via the C channel of TL-C, and for responding to Probe requests (ProbeAck).

Feature 1: WritebackQueue Empty Entry Allocation and Refusal

For timing considerations, new requests are refused when the WBQ is full; however, when the WBQ is not full, all requests are accepted, and an empty entry is allocated for the new request. The current version no longer supports merging requests within the Writeback Queue.

Feature 2: Request Stalling Conditions

The TileLink specification restricts concurrent transactions, requiring that if a master has a pending Grant (i.e., has not yet sent a GrantAck), it cannot send a Release with the same address. Therefore, if any miss request finds an entry with the same address in the Writeback Queue when entering the MissQueue, that miss request will be stalled.

Overall Block Diagram

The overall architecture of the WritebackQueue is shown in 此图.

WritebackQueue Flowchart

Interface Timing

Request Interface Timing Instance

此图 shows the interface timing on the Writeback Queue for a request that needs to be written back to L2.

WritebackQueue Timing

WritebackEntry Module

WritebackEntry State Machine Design

State Design: The state machine design for the WritebackEntry is shown in 此表 and 此图:

WritebackEntry State Register Meanings
State Description
s_invalid Reset state, this WritebackEntry is empty
s_release_req Sending Release or ProbeAck request
s_release_resp Waiting for ReleaseAck request

WriteBackEntry State Machine Diagram