2013-06-17 21:09:26
最近學習流水線以及狀態機,總遇到注入加入寄存器可以分割組合邏輯,從而提高電路的運行頻率的說法;還有流水線可以提高速度的說法,剛開始很是疑惑,覺得流水線的方法,輸出與輸入之間的延時更大了,怎么會提高頻率呢?
現在才明白是latency與delay的區別,按照自己的理解整理一下。
latency:
- 輸入數據與該數據經過處理后的結果輸出之間的延時,是時鍾延遲
- 一般以時鍾為單位,指的是相對於某個時鍾起始位置的1個或多個時鍾后數據才有效
- 決定信號處理的響應速度
delay:
- 時序器件之間的邏輯延時,主要指器件延時、布線延時
- 是絕對的時間,指的是相對於時鍾邊沿的某個時間后數據才有效
- 決定電路的時鍾頻率,即運行頻率
舉個簡單的例子:
數據din經過一個與門and、一個三態門tri,到達觸發器d的輸入端d,d在時鍾clk的作用下,輸出q。
那么din到d之間的時間就是delay,決定了電路的運行頻率,即clk的大小,delay越小,clk可以取得越高;反之,delay越大,clk就會受限制。
q與d之間的時間就是latency,此處是一個clk周期的時間。
PS:個人理解,歡迎補充指正。