Operator Library: Synchronization
算子 Overflow 將不可中斷的輸入 2D 資料流從隨後可能偶爾會被阻塞的影像處理管線中解耦。 當內部小緩衝區因輸出資料被阻塞而滿載時,它會識別出溢位情況。如果發生溢位, 正在進行的畫面會透過立即附加行尾和畫面結束標記而被切斷。相應的畫面將被視為 已損壞,並相應地產生一個事件。當新畫面進入輸入 I,而輸出的阻塞狀態仍然滿載時, 畫面將被跳過。隨後將產生關於遺失畫面的事件。
請參閱 Stoppable and Non-Stoppable Data Streams 教學主題 以獲得實務指導。
![]() |
溢位會導致非矩形畫面 |
|---|---|
|
當輸入畫面因溢位情況而被切斷時,輸出畫面的最後一行通常會比其他行 更短。請確保後續的影像處理管線能夠處理這種情況。 |
對於每個損壞或遺失的畫面,都會產生一個溢位事件。溢位事件會傳輸包含 畫面編號和溢位類型的資料負載。事件負載以三個 16 位元資料字提供。前兩個字代表 畫面編號的 32 位元值,其中最低有效位元儲存在第一個字中。第三個 16 位元字提供 溢位遮罩,其中遮罩位元的定義如下:
-
[0]:畫面已損壞
-
[1]:畫面已遺失
-
[2]:先前發生事件遺失
-
[3]:畫面正常
-
[4] .. [15]:保留
請注意,畫面編號會在 Acquisition Start 時重設。另請注意,第一個畫面的畫面編號將為零,而 DMA 傳輸則以畫面編號一開始。 畫面編號是 32 位元值。如果達到其最大值,它將從零重新開始。在 64 位元目標執行階段上, DMA 傳輸編號將是 64 位元值。 如果設定了 frame corrupted,則事件中具有該畫面編號的畫面已損壞,亦即它將不具有完整的長度,因此後續處理 可能會產生無效的結果。 如果設定了 frame lost 旗標,則事件中具有該畫面編號的畫面已被完全丟棄,因此後續處理管線 未接收到來自該畫面的任何資料。 corrupted frame 旗標和 frame lost 旗標絕不會在同一個事件中同時出現。event loss occured before 旗標是一種額外的安全機制。這意味著某個事件已經遺失。 這只可能在極高的事件速率下發生,在正常條件下不應發生。
| Link Parameter | Input Link I | Output Link O |
|---|---|---|
| Bit Width | [1, 64] | as I |
| Arithmetic | {unsigned, signed} | as I |
| Parallelism | any | as I |
| Kernel Columns | any | as I |
| Kernel Rows | any | as I |
| Img Protocol | VALT_IMAGE2D | VALT_IMAGE2D |
| Color Format | any | as I |
| Color Flavor | any | as I |
| Max. Img Width | any | as I |
| Max. Img Height | any | as I |
| EventsForSuccessfulFrame | |
|---|---|
| Type | 動態讀取/寫入參數 |
| Default | OFF |
| Range | [OFF, ON] |
|
定義是否應為任何通過的畫面產生事件。 |
|
| OverflowOccurred | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 1] |
|
通知是否發生了溢位事件。 此參數會在讀取存取後重設,因此它顯示在先前的讀取存取 與目前的讀取存取之間是否發生了溢位情況。 |
|
算子 Overflow 的使用方式如以下範例所示:

![[注意]](../common/images/admon/caution.png)
上一頁

