Altifigence Academy

13 / 24 · 概念

接受事件與停頓期間的穩定性

分配來源端與接收端責任,並保留停頓的負載內容。

傳輸需要兩個訊號在邊緣同時成立

Valid 承諾來源端有負載內容可提供。Ready 承諾接收端可在當前邊緣接受一筆。兩個訊號皆為高的上升緣,恰好傳輸一筆交易。負載內容包含所有伴隨欄位,例如標籤、操作碼或位址。valid 持續為高,可能代表一筆停頓項目,也可能代表在連續 ready 邊緣傳輸的一連串項目。

valid 為高、ready 為低時,保持 valid 與完整負載內容穩定。我們的契約只允許重設或明確 flush 取消此義務。若來源端等 ready 才宣告 valid,接收端又等 valid 才宣告 ready,兩者可能永遠等待。準備好的項目應獨立於 ready 提供。這些交握與穩定性原則記載於 Arm AMBA AXI 規格 A3 節。此小型串流並非完整 AXI 介面的實作。

邊緣validready負載內容傳輸
010tag4,y9無
110tag4,y9無
211tag4,y9tag4 一次
311tag5,y12tag5 一次
401無關無

Tag4 在整個停頓期間都必須保持不變。邊緣 2 傳輸後,來源端可呈現 tag5。邊緣 4 只有 ready,不會建立交易。只計算 valid 可能遺失輸入;只讀取資料可能重複輸出。

這些規則假設單一時脈域。它們不解決跨時脈域或亞穩態。以各自交握計算被接受輸入與已交付輸出。沒有重設時,接受數減去交付數,必須等於內部尚未完成的工作量。將被接受標籤排入佇列,只在交付時移除。將此計數與停頓負載檢查結合,即使算術值碰巧相同,也能偵測遺失、重複與身分改變。

自己試試看

表中四個邊緣的 valid 為高。發生多少次傳輸?哪些標籤被傳輸?若邊緣 1 的 y 變成 10,違反哪項規則?

查看解說

發生兩次傳輸:邊緣 2 與 3 的標籤 4 與 5。邊緣 1 改變 y,違反了邊緣 0 開始停頓的交易之負載穩定性。

此選擇適用於本瀏覽器,隨時可從頁尾變更。