Operator Library: Debugging
透過ImageFlowControl 運算子,您可以控制從無數來源接收到的資料流。
若您的設計屬此情況,ImageFlowControl運算子將特別有用
- 其資料來源來自無止盡(無限)的來源,且不使用基於 RAM 的影像緩衝區。
- 程式中包含迴圈,而您希望偵測並防止迴圈中的資料遺失。
使用此運算子,可確保在後續的管線中不會發生 FIFO 溢出。
此運算子的運作方式與ImageFifo運算子類似——它內建了一個 FIFO。
此外,該運算子還提供了一種特定的溢出控制機制。若發生溢出時
- 圖片會被截斷(且僅會傳送圖片的前半部分)。
- 只要溢出狀況持續存在,影像就會被捨棄。(當溢出狀況結束時,傳輸將 從下一幀的第一個像素開始。)
如此一來,操作員便能確保該設計能夠執行。
特定的計數參數會告知您,有多少幀資料因溢出情況下被截斷而遺失,以及有多少幀資料因截斷而以不完整狀態傳送 。 這使您能夠追蹤設計中(或例如在迴圈中)的資料遺失情況。
此外,可透過寬度和高度皆可自訂的虛擬幀來補償遺失的幀。 此功能可在輸出鏈路上出現暫時性頻寬限制時, 確保傳入與傳出的幀率保持恆定。 然而,此方法僅在生成的虛擬幀大小相較於遺失的幀足夠小時,才有效。
![]() |
執行階段測試 |
|---|---|
|
此運算子專為在執行階段測試與分析您的設計而設計: 在您使用此運算子進行偵錯之前,必須先建置 (合成) 設計、将其載入目標硬體,並啟動實際的影像處理。 該運算子並非用於 VisualApplets 內的設計模擬。 |
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | TerminateI(可選),外部終止訊號輸入。 若設定為 1,則會終止當前輸入影像,亦即
該運算子將作為匯出端。可透過 CompensateLostFrames 參數啟用遺失幀的補償功能。 I,影像資料輸入 |
| 輸出連結 | O,影像資料輸出 StatusO(選配),statusO 埠與影像資料輸出埠 O 同步。 此埠寬度為兩位元。第 0 位元:若為設定狀態,則表示 當前幀已被截斷。第 1 位元:若為設定狀態,則表示為虛幀。僅需評估幀內的最後一個資料字 。 |
| 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 |
| 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。 |
|
以下範例展示了 ImageFlowControl 運算子的使用方式:
-
範例 - 用於對硬體中的設計內部資料流控制進行偵錯以及進行可能的補償。

![[重要]](../common/images/admon/important.png)
上一頁

