Operator Library: Synchronization
此運算子可作為閥門,用以控制輸入鏈路的数据流。 訊號輸入「OpenValve」用於控制該閥門。 因此,此運算子可影響 I 與 O 之間像素、行及幀的數據流。 限制最大頻寬是此運算子的主要目的。 廣義而言,此運算子用於阻斷及控制影像處理的速度。 例如,此運算子可與 CreateBlankImage 來實現一個 輸出幀率可控的 影像產生器。
若閥門處於關閉狀態,VisualApplets 流量控制將阻擋所有傳入資料。 此時,輸入管線將會被阻塞。 若使用無法停止處理的運算子, 請確保使用容量足夠的緩衝區。例如連接至幀擷取卡的自由運行攝影機。 若操作元的輸出被任何後續的操作元阻塞,該操作元 將把此阻塞狀態轉發至輸入端。 在此情況下,開啟閥門並不會產生任何影響。 請勿將閥門與閘門混淆。閘門操作元在關閉時會捨棄輸入資料。
該閥門由訊號輸入「OpenValve」及操作員的參數所控制。 若「OpenValve」設定為 1,則操作員將允許傳輸 「SequenceLength」個像素、行或幀,具體取決於 「Mode」參數的設定。
若將OpenValve設定為恆定值 1,則操作員會允許 影像資料從輸入鏈路 I 無阻礙地傳輸至輸出鏈路 O,也就是說,閥門始終處於開啟狀態。
若在操作員的閥門仍處於開啟狀態時,將第二個脈衝設定為「OpenValve」,且 正在處理某個序列,則該脈衝將被忽略。 若在目前正在處理序列時,透過參數SequenceLength 變更序列長度,操作員會先完成前一個 序列,之後才會採用新值。
VisualApplets 中的高階模擬會將所有輸入影像 直接傳遞至輸出端,因為並未進行時序模擬。 輸入連結「OpenValve」中的任何數值均會被忽略。
Synchronous and Asynchronous Inputs
- 所有輸入彼此非同步。
| Mode | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | FRAME |
| Range | {PIXEL, LINE, FRAME} |
|
設定運算子的模式。 根據此參數,閥門將開啟SequenceLength 個像素、行或幀。 LINE 和 FRAME 模式是否可用,取決於輸入鏈路 I 的影像協定。 |
|
| 序列長度位元 | |
|---|---|
| Type | 靜態參數 |
| Default | 10 |
| Range | [1, 64] |
|
設定用以表示序列長度的位元數。 此參數僅在參數SequenceLength 設定為「動態」時才會啟用。 |
|
| 序列長度 | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | 1 |
| Range | 動態:[1, 2^SequenceLengthBits - 1],靜態:[1, 2^64 - 1] |
|
設定序列的長度。 若該運算子處於開啟狀態,則會根據參數Mode, 輸出指定數量的像素、 行或幀。 若「模式」設定為「PIXEL」,則該值必須能被並行度整除。 |
|
| ImplementationType | ||||
|---|---|---|---|---|
| Type | 靜態寫入參數 | |||
| Default | AUTO | |||
| Range | (AUTO, EmbeddedALU, LUT) | |||
|
參數「實作類型」(ImplementationType) 會影響運算子的實作策略,也就是說, 會使用哪些邏輯元件來實作該運算子。 您可以選擇下列其中一個值: AUTO: 當運算子被實例化時,系統會根據參數 SequenceLengthBits 自動選擇最佳的實作策略。 嵌入式算術邏輯單元(EmbeddedALU): 此運算子使用 FPGA 中非基於 LUT 的嵌入式算術邏輯單元。 LUT: 該運算子採用 FPGA 的 LUT 邏輯。
|
||||
以下範例展示了運算子 ImageValve 的使用方式:
-
DMA、RAM、GPIO、觸發與 LED 硬體自我測試的範例。
-
範例 - 用於對硬體中的設計內部資料流控制進行偵錯以及進行可能的補償。


![[注意]](../common/images/admon/note.png)
上一頁

