StreamAnalyzer 運算子

Operator Library: Debugging

「StreamAnaylzer」運算子會提供有關資料流通過程的資訊。它不會觸及影像資料。

您可以使用該運算子來偵測阻塞(抑制)狀況。

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

此外,StreamAnalyzer運算子會提供有關管線容量利用率的資料 (有效比例、閒置比例及受阻時間比例,單位為百分比)。

當內部計數器發生溢出時, 「OverflowMask」參數中的對應溢出位元會被設定,且計數器將停止運作。

[重要] 執行階段測試

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

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

I/O Properties

Property Value
Operator Type O
Input Link I, Image data input
Output Link O、Image data output

Supported Link Format

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

Parameters

ClearMode
Type dynamic write parameter
Default ClearWithProcessStart
Range {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse}

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

NoClearing:保留所有讀取參數的值。 ProcessEnable 與 ProcessReset 對這些值沒有影響。

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

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

SendClearPulse:依需求清除所有讀取參數的值。

測量模式
Type dynamic write parameter
Default AllCycles
Range {所有循環、僅框架循環、僅線循環}

此參數可讓您分析「測量週期」中的特定區段:

AllCycles: 效能是根據 「測量期間」內的全部週期來進行衡量的。

僅計入幀週期: 效能是根據幀開始與結束之間的所有 週期來進行量測的。 因此,量測期間內的幀間空隙將被排除在外。

僅計行週期: 效能是根據所有週期進行測量, 範圍涵蓋行起始至結束之間。 因此,測量期間內的幀間隙與行間隙均不予計入。

MeasurementPeriod
Type dynamic write parameter
Default 1000
Range [1, 65535]

用於效能測量的時間(單位:毫秒)。

測量期間的定義對於分析時間比例,以及 計算平均值而言,至關重要。

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

設定幀計數器的位元寬度。 (幀計數器為parameterCurrFrame)。

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

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

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

此參數用作幀計數器。 計數範圍包含所有以 EndOfFrame 標誌結束的幀。 僅在 IMAGE-2D 模式下可用。

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

若設定為 1:數值 1 表示影像傳輸遭阻擋。

每幀被阻塞的週期數
Type 動態讀取參數
Default 0
Range [0, (2^(ImageWidth × Bitwidth + 4)) - 1]

計算在一個畫格的流經過程中, 影像流被阻塞的時鐘週期數。

像素間隙的長度總是與引發該間隙的阻塞狀態完全相同。 然而,該間隙的偏移量可能與阻塞狀態的偏移量不同。

若在處理流程的較早階段已實作緩衝運算子,則那些 因阻塞狀態而無法傳輸的像素將被緩衝。

若在處理鏈的前段未實作緩衝運算子,則那些 因阻塞狀態而無法傳輸的像素將會被捨棄。

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

發生首次阻塞時的幀號。

最後被阻擋的幀
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 是自上次發生封鎖事件後,第一個未被封鎖的位置。

首次被封鎖的時間
Type 動態讀取參數
Default 0
Range [0, (2^32)-1]

首次發生阻塞時的時間戳記。

最後被封鎖時間
Type 動態讀取參數
Default 0
Range [0, (2^32)-1]

最後一次阻塞發生時的時間戳記。

自該時刻起,直至目前為止,再未發生任何阻塞情況。

資料傳輸速率
Type 動態讀取參數
Default 0
Range

測量所得的資料傳輸速率單位為每秒百萬像素。

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]

操作員控制:

位元編碼的溢出訊號。當某個位元被設定時,表示以下計數器發生溢出:

[0] = FrameCount

[1] = PixelCount

[2] = xPos

[3] = yPos

[4] = 線段週期

[5] = 抑制計數

[6] = 抑制計數幀

[7] = IdleCount

[8] = 有效計數

Examples of Use

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