FPGA中latency與delay概念的區別

2021-09-06 10:28:15 字數 746 閱讀 6460

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:個人理解,歡迎補充指正。

AngularJS中Scope間通訊Demo

在angularjs中,每乙個controller都有對應的scope,而scope間有時候需要通訊。比如有如下的乙個controller巢狀 body ng controller table ng controller productctrl tr ng repeat product in pro...

FPGA中wire與reg型別的區別

wire表示直通,即只要輸入有變化,輸出馬上無條件地反映 reg表示一定要有觸發,輸出才會反映輸入。不指定就預設為1位wire型別。專門指定出wire型別,可能是多位或為使程式易讀。wire只能被assign連續賦值,reg只能在initial和always中賦值。wire使用在連續賦值語句中,而r...

Python在pycharm中的除錯 debug

作為一名程式設計師,除錯 debug 程式是一項必會的事情,在利用pycharm這個pythonide時,不好好利用其除錯功能真的是太可惜了。借用這兩天學習機器學習的工程。在deep learing工程中建立兩個python檔案,其中執行程式的檔名稱為main.py,另乙個knn.py則是機器學習中...