Operator ImageFlowControl

Operator Library: Debugging

透過ImageFlowControl 運算子,您可以控制從無數來源接收到的資料流。

若您的設計屬此情況,ImageFlowControl運算子將特別有用

  • 其資料來源來自無止盡(無限)的來源,且不使用基於 RAM 的影像緩衝區。
  • 程式中包含迴圈,而您希望偵測並防止迴圈中的資料遺失。

使用此運算子,可確保在後續的管線中不會發生 FIFO 溢出。

此運算子的運作方式與ImageFifo運算子類似——它內建了一個 FIFO。

此外,該運算子還提供了一種特定的溢出控制機制。若發生溢出時

  • 圖片會被截斷(且僅會傳送圖片的前半部分)。
  • 只要溢出狀況持續存在,影像就會被捨棄。(當溢出狀況結束時,傳輸將 從下一幀的第一個像素開始。)

如此一來,操作員便能確保該設計能夠執行。

特定的計數參數會告知您,有多少幀資料因溢出情況下被截斷而遺失,以及有多少幀資料因截斷而以不完整狀態傳送 。 這使您能夠追蹤設計中(或例如在迴圈中)的資料遺失情況。

此外,可透過寬度和高度皆可自訂的虛擬幀來補償遺失的幀。 此功能可在輸出鏈路上出現暫時性頻寬限制時, 確保傳入與傳出的幀率保持恆定。 然而,此方法僅在生成的虛擬幀大小相較於遺失的幀足夠小時,才有效。

[重要] 執行階段測試

此運算子專為在執行階段測試與分析您的設計而設計: 在您使用此運算子進行偵錯之前,必須先建置 (合成) 設計、将其載入目標硬體,並啟動實際的影像處理。

該運算子並非用於 VisualApplets 內的設計模擬。

I/O Properties

Property Value
Operator Type M
Input Links TerminateI(可選),外部終止訊號輸入。 若設定為 1,則會終止當前輸入影像,亦即 該運算子將作為匯出端。可透過 CompensateLostFrames 參數啟用遺失幀的補償功能。
I,影像資料輸入
輸出連結 O,影像資料輸出
StatusO(選配),statusO 埠與影像資料輸出埠 O 同步。 此埠寬度為兩位元。第 0 位元:若為設定狀態,則表示 當前幀已被截斷。第 1 位元:若為設定狀態,則表示為虛幀。僅需評估幀內的最後一個資料字 。

Supported Link Format

Link Parameter 輸入連結 TerminateI(可選) Input Link I Output Link O 輸出鏈路狀態 O(可選)
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

Parameters

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

要儲存的 FIFO 實體數量。

實體類型
Type 靜態寫入參數
Default LINE
Range {FRAME, LINE, PIXEL}

定義儲存實體。

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

定義 FIFO 的實作類型。

FifoFillLevel
Type dynamic write parameter
Default 0%
Range [0%, 100%]

實際 FIFO 填充率(百分比)。

MaxFifoFillLevel
Type dynamic write parameter
Default 0%
Range [0%, 100%]

儲存曾達到的最高 FIFO 填充水準。

計數器寬度
Type 靜態寫入參數
Default 16
Range [8, 32]

設定此運算子內所有計數器的位元寬度。

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

統計因輸出鏈路被阻塞或可選的 TerminateI 輸入而丟失的完整幀數。ra>

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

統計因過早終止而未完成的幀數。

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

統計傳輸至輸出鏈路的全幀數量。

清除狀態
Type dynamic write parameter
Default 否
Range {是,否}

若設定為「是」,所有計數器都會被清除。

CompensateLostFrame
Type dynamic write parameter
Default 否
Range {是,否}

若設定為「是」,所有遺失的幀都將透過插入虛幀來進行補償。

DummyFrameWidth
Type dynamic write parameter
Default 1024
Range [2, MaxImageWidth]

要生成的虛擬框架的寬度。

DummyFrameHeight
Type dynamic write parameter
Default 1
Range [1, MaxImageHeight]

要生成的模擬框架的高度。

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

統計所有已產生的虛擬幀。

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

發送幀與接收幀數量的差異:OutgoingEofCounter - IncomingEofCounter。

Examples of Use

以下範例展示了 ImageFlowControl 運算子的使用方式:

  • 「Image Flow Control」

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