1. 程式人生 > >FPGA中latency與delay概念的區別

FPGA中latency與delay概念的區別

最近學習流水線以及狀態機,總遇到注入加入暫存器可以分割組合邏輯,從而提高電路的執行頻率的說法;還有流水線可以提高速度的說法,剛開始很是疑惑,覺得流水線的方法,輸出與輸入之間的延時更大了,怎麼會提高頻率呢?

現在才明白是latency與delay的區別,按照自己的理解整理一下。

latency:

  1. 輸入資料與該資料經過處理後的結果輸出之間的延時,是時鐘延遲
  2. 一般以時鐘為單位,指的是相對於某個時鐘起始位置的1個或多個時鐘後資料才有效
  3. 決定訊號處理的響應速度 

delay:

  1. 時序器件之間的邏輯延時,主要指器件延時、佈線延時
  2. 是絕對的時間,指的是相對於時鐘邊沿的某個時間後資料才有效
  3. 決定電路的時鐘頻率,即執行頻率 

舉個簡單的例子:

資料din經過一個與門and、一個三態門tri,到達觸發器d的輸入端d,d在時鐘clk的作用下,輸出q。

那麼din到d之間的時間就是delay,決定了電路的執行頻率,即clk的大小,delay越小,clk可以取得越高;反之,delay越大,clk就會受限制。

q與d之間的時間就是latency,此處是一個clk週期的時間。