運算子 SignalDelay

Operator Library: Signal

此運算子會延遲輸入訊號,並將其輸出至其輸出端。 延遲時間由參數Delay 控制。

輸入端脈衝的上升沿會觸發延遲。 參數Delay的當前數值決定了延遲時間。 輸入脈衝的脈衝寬度將被保留,也就是說,上升沿和下降沿都會被延遲。

此運算子可透過參數Mode 定義的兩種模式來執行:

  • SinglePulse:

    此運算子每次僅能延遲單一脈衝。 在延遲脈衝期間,運算子輸入端無法接受新的脈衝。 在此情況下,所有新的輸入脈衝都將被忽略。 當脈衝正在處理時,任何延遲參數的變更均不予理會。

    可透過輸入連結「重置」來重置該運算器。 當重置輸入為高電平時,不會處理任何輸出脈衝。 所有處理程序均會中止。 當重置輸入為低電平時,該運算器將重新開始運作。 以下波形說明了該運算器的運作行為。

  • MultiplePulses:

    在此模式下,操作器可同時延遲多個輸入脈衝。 該操作器為固定長度的移位寄存器。 此模式下無法變更延遲時間。 下圖說明了此模式。

    若將重置輸入與「多脈衝」模式搭配使用,可能會導致出現未定義的數值。 因此,若使用重置輸入,必須將其設定為 參數DurationBits中定義的持續時間。 若不使用,請將其連接至 GND。

    「多脈衝」模式的設計初衷是僅用於短暫的延遲。 較長的延遲將需要消耗大量資源。

Tick 輸入端定義了運算器處理資料的時間。 它可作為預分頻器使用。 在大多數情況下,不需要使用 Tick 輸入端。此時,請將其連接至運算器的 VCC 端子。 下圖顯示了 Tick 輸入端所產生的影響。

使用 tick 的一個特殊情況是,即使沒有 tick 存在,也會對輸入脈衝進行取樣。 波形的第二個輸入脈衝即顯示了此情況。 這可確保不會遺失任何輸入脈衝。

此 operator 不包含在 VisualApplets 功能模擬中。

I/O Properties

Property Value
Operator Type O
Input Links I,訊號資料輸入
tick,訊號資料輸入
重置,訊號資料輸入
Output Link O,信號資料輸出

Supported Link Format

Link Parameter Input Link I Input Link Tick Input Link Reset Output Link O
Bit Width 1 1 1 as I
Arithmetic 無號數 無號數 無號數 as I
Parallelism 1 1 1 as I
Kernel Columns 1 1 1 as I
Kernel Rows 1 1 1 as I
Img Protocol VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL as I
Color Format VAF_GRAY VAF_GRAY VAF_GRAY as I
Color Flavor FL_NONE FL_NONE FL_NONE as I
Max. Img Width any any any as I
Max. Img Height any any any as I

Parameters

Mode
Type 靜態參數
Default SinglePulse
Range {單脈衝, 多脈衝}

用於定義操作員是否只能延遲單一脈衝,或是可同時延遲多個脈衝。 請參閱上方的說明。

延遲位元
Type 靜態參數
Default 16
Range [1, 64]

此參數用於定義可能發生的最大訊號延遲。 僅當「模式」設定為「單脈衝」時,此參數才會啟用。

延遲
Type 動態/靜態 參數
Default 0
Range [0, 2^DelayBits-1](若 Mode=SinglePulse),否則 [1, 2^64-1]

實際延遲是透過此參數來定義的。 若Mode設定為 MultiplePulses,則此參數始終為靜態。

Examples of Use

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