Operator ImageFlowControl

Operator Library: Debugging

透過 ImageFlowControl operator,您可以控制從無限來源接收到的資料流。

若您的設計符合以下情況,ImageFlowControl operator 將特別有幫助:

  • 由無法停止的(無限)來源提供資料,且未採用基於 RAM 的影像緩衝區。
  • 包含迴圈,且您希望偵測並防止迴圈中的資料遺失。

使用此 operator,您可以確保後續管線中不會發生 FIFO 溢位。

此 operator 的運作方式類似 ImageFifo operator - 它具有內建的 FIFO。

此外,此 operator 還提供特定的溢位控制機制。若發生溢位:

  • 影像會遭到裁切(且僅轉發影像的前半部分)。
  • 只要溢位情況持續,影像就會被丟棄。(當溢位情況結束時,傳輸將從下一影格的第一個像素開始。)

透過這種方式,operator 可確保設計能夠順利執行。

特定的計數參數會告知您遺失了多少影格,以及有多少影格因在溢位情況下被裁切而導致轉發不完整。 這可讓您追蹤設計中(例如在迴圈中)的資料遺失情況。

此外,遺失的影格可以使用具有可選寬度和高度的虛擬影格(dummy frames)來補償。 如果在輸出連結處出現暫時的頻寬限制,此功能可保持進出影格的速率一致。 然而,這只有在產生的虛擬影格相較於遺失的影格足夠小的情況下才能運作。

[重要] 執行階段測試

此 operator 旨在於執行階段測試和分析您的設計:您需要建置(合成)設計、將其載入目標硬體,並啟動實際的影像處理,然後才能使用該 operator 進行偵錯。

此 operator 並非用於 VisualApplets 內的設計模擬。

I/O Properties

Property Value
Operator Type M
輸入連結 TerminateI(選用),外部終止訊號輸入。如果設為 1,目前的輸入影像將被終止,亦即 該 operator 會作為接收端(sink)。透過 CompensateLostFrames 參數可以啟用遺失影格的補償。
I,影像資料輸入
輸出連結 O,影像資料輸出
StatusO(選用),statusO 連接埠與影像資料輸出連接埠 O 同步。此連接埠寬度為兩個位元。Bit 0:若設定,表示目前影格遭到截斷。Bit 1:若設定,表示為虛擬影格。僅必須評估影格內的最後一個資料字。

支援的 Link 格式

Link Parameter 輸入連結 TerminateI(選用) Input Link I Output Link O 輸出連結 StatusO(選用)
Bit Width 1 [1, 64] as I 2
Arithmetic 無 {unsigned, signed} as I as I
Parallelism 無 any as I as I
Kernel Columns 無 any as I as I
Kernel Rows 無 any as I as I
Img Protocol SIGNAL VALT_IMAGE2D as I as I
Color Format 無 any as I GRAY
Color Flavor 無 any as I 無
Max. Img Width 無 any as I as I
Max. Img Height 無 any as I as I

參數

EntitiesToStore
Type 靜態寫入參數
Default 8
Range [1, (2^32)-1]

要儲存的 FIFO 實體數量。

EntitiesType
Type 靜態寫入參數
Default LINE
Range {FRAME, LINE, PIXEL}

定義儲存實體。

ImplementationType
Type 靜態寫入參數
Default AUTO
Range {AUTO, BRAM, LUTRAM}

定義 FIFO 實作類型。

FifoFillLevel
Type 動態寫入參數
Default 0%
Range [0%, 100%]

以百分比表示的實際 FIFO Fill.

MaxFifoFillLevel
Type 動態寫入參數
Default 0%
Range [0%, 100%]

儲存曾達到的最大 FIFO Fill.

CounterWidth
Type 靜態寫入參數
Default 16
Range [8, 32]

設定此運算子內所有 Counter 的 Bit Width。

LostFrameCount
Type 動態讀取參數
Default 16
Range [0, (2^CounterWidth)-1]

計算因輸出鏈結阻塞或選用的 TerminateI 輸入而遺失的完整影格。ra>

IncompleteFrameCount
Type 動態讀取參數
Default 16
Range [0, (2^CounterWidth)-1]

計算因提早終止而不完整的影格。

FullFrameCount
Type 動態讀取參數
Default 16
Range [0, (2^CounterWidth)-1]

計算傳遞至輸出鏈結的完整影格。

ClearStatus
Type 動態寫入參數
Default 否
Range {Yes, No}

如果設為 "yes",則會清除所有 Counter。

CompensateLostFrame
Type 動態寫入參數
Default 否
Range {Yes, No}

如果設為 Yes,則會透過插入虛擬影格(dummy frames)來補償所有遺失的影格。

DummyFrameWidth
Type 動態寫入參數
Default 1024
Range [2, MaxImageWidth]

所要產生的虛擬影格寬度。

DummyFrameHeight
Type 動態寫入參數
Default 1
Range [1, MaxImageHeight]

所要產生的虛擬影格高度。

DummyFrameCount
Type 動態讀取參數
Default 0
Range [0,(2^CounterWidth)-1]

計算所有產生的虛擬影格。

EofDifferenceFrameCount
Type 動態讀取參數
Default 0
Range [-(2^CounterWidth), (2^CounterWidth)-1]

傳出與傳入影格數量之間的差值:OutgoingEofCounter-IncomingEofCounter。

使用範例

以下範例顯示了 ImageFlowControl operator 的使用方式:

  • 'Image Flow Control'

    範例 - 用於偵錯硬體中設計的內部資料流控制以及可能的補償。