Operator StreamAnalyzer

Operator Library: Debugging

運算子 StreamAnaylzer 提供關於資料流動情況的資訊。它不會修改影像資料。

您可以使用此運算子來偵測阻擋(抑止)狀況。

當管線中發生阻擋時,您可以使用此運算子來查看畫面中的哪個位置(在哪一個像素)發生了阻擋。

此外,運算子 StreamAnalyzer 提供有關管線容量利用率的資料(有效時間、閒置時間、被阻擋時間的百分比)。

當內部 Counter 溢位時,會在 OverflowMask 參數中設定對應的溢位位元,並且 Counter 會停止。

[重要] 執行階段測試

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

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

I/O Properties

Property Value
Operator Type O
Input Link I,影像資料輸入
Output Link O,影像資料輸出

支援的 Link 格式

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, LINE1D, PIXEL0D as I
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height any as I

參數

ClearMode
Type 動態寫入參數
Default ClearWithProcessStart
Range {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse}

此參數定義所有 read 參數的重設行為。

NoClearing: 保留所有 read 參數的值。 ProcessEnable 和 ProcessReset 對這些值沒有影響。

ClearWithProcessStart: 只有在 ProcessEnable 的載上升緣時,才會清除 read 參數的值。

ClearWithProcessReset: 只有在 ProcessReset 的載上升緣時,才會清除 read 參數的值。

SendClearPulse: 按需清除所有 read 參數的值。

MeasurementMode
Type 動態寫入參數
Default AllCycles
Range {AllCycles, FrameCyclesOnly, LineCyclesOnly}

此參數允許您分析 MeasurementPeriod 的特定部分:

AllCycles:在 MeasurementPeriod 內的所有週期上測量效能。

FrameCyclesOnly:在畫面開始到結束之間的的所有週期上測量效能。因此會省略 MeasurementPeriod 內的畫面間隙。

LineCyclesOnly:在行開始到結束之間的所有週期上測量效能。因此會省略 MeasurementPeriod 內的畫面間隙與行間隙。

MeasurementPeriod
Type 動態寫入參數
Default 1000
Range [1, 65535]

效能測量時間(以毫秒為單位)。

測量週期的定義對於分析時間比例以及計算平均值非常重要。

FrameCountWidth
Type 靜態寫入參數
Default 24
Range [4, 63]

設定畫面 Counter 的 Bit Width。(畫面 Counter 為參數 CurrFrame)。

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

自測量週期開始以來經過的時間(以毫秒為單位)。

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

此參數作為畫面 Counter 使用。會計算所有以 EndOfFrame 旗標結束的畫面。僅在 IMAGE-2D 模式下可用。

CurrBlocked
Type 動態讀取參數
Default 0
Range [0, 1]

如果設定為 1:數值 1 表示影像資料流已被阻擋。

BlockedCyclesPerFrame
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidthtBitwidth+4))-1]

計算單一畫面傳輸過程中,影像串流遭到阻擋的時脈週期數。

A pixel gap always has exactly the length of the blocking which provokes the gap. However, the offset of the gap may differ from the offset of the blocking status.

如果先前已在處理線路中實作緩衝器運算子,則無法因阻擋狀態而傳輸的像素將會被緩衝。

如果先前未在處理線路中實作緩衝器運算子,則無法因阻擋狀態而傳輸的像素將會被丟棄。

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

首次發生阻擋之畫面的畫面編號。

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

最後一次發生阻擋之畫面的畫面編號。

FirstBlockedXPos
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidthBitWidth+4))-1]

首次出現阻擋的水平位置。

LastBlockedXPos
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidthBitWidth+4))-1]

直到目前為止,影像串流最後一次遭到阻擋的水平位置。

範例:如果值為 7:水平位置 7 是直到目前為止最後一個被阻擋的 X 位置。水平位置 8 是發生最後一次阻擋之後的第一個未被阻擋位置。

FirstBlockedYPos
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidthBitWidth+4))-1]

首次出現阻擋的垂直位置。

LastBlockedYPos
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidthBitWidth+4))-1]

直到目前為止,影像串流最後一次遭到阻擋的垂直位置。

範例:如果值為 13:垂直位置 13 是直到目前為止最後一個被阻擋的 Y 位置。垂直位置 14 是發生最後一次阻擋之後的第一個未被阻擋位置。

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

首次出現阻擋的時間戳記。

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

最後一次出現阻擋之時間點的時間戳記。

在此時間點之後,直到目前為止未再發生其他阻擋。

DataRate
Type 動態讀取參數
Default 0
Range

以每秒百萬像素 (Mega Pixel) 為單位測量的資料速率。

BlockedFraction
Type 動態讀取參數
Default 0
Range [0.0, 100.0]

測量期間內封鎖循環的百分比 (請參閱 MeasurementPeriod 參數)。

IdleFraction
Type 動態讀取參數
Default 0
Range [0.0, 100.0]

測量期間內閒置循環的百分比 (請參閱 MeasurementPeriod 參數)。

ValidFraction
Type 動態讀取參數
Default 0
Range [0.0, 100.0]

測量期間內攜帶資料的有效循環百分比 (請參閱 MeasurementPeriod 參數)。

OverflowMask
Type 動態讀取參數
Default 0
Range [0, 511]

Operator Control:

位元編碼的溢位信號。設定的位元表示下列 Counter 發生溢位:

[0] = FrameCount

[1] = PixelCount

[2] = xPos

[3] = yPos

[4] = LinePeriod

[5] = InhibitCount

[6] = InhibitCountFrame

[7] = IdleCount

[8] = ValidCount

使用範例

下列範例顯示了 StreamAnalyzer operator 的使用方式: