Verilog 流水线设计
生活随笔
收集整理的這篇文章主要介紹了
Verilog 流水线设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、什么是流水線
流水線設計就是將組合邏輯系統地分割,并在各個部分(分級)之間插入寄存器,并暫存中間數據的方法。 目的是將一個大操作分解成若干的小操作,每一步小操作的時間較小,所以能提高頻率,各小操作能并行執行,所以能提高數據吞吐率(提高處理速度)。
二、什么時候用流水線設計
使用流水線一般是時序比較緊張,對電路工作頻率較高的時候。典型情況如下:
- 1)功能模塊之間的流水線,用乒乓 buffer 來交互數據。代價是增加了 memory 的數量,但是和獲得的巨大性能提升相比,可以忽略不計。
- 2) I/O 瓶頸,比如某個運算需要輸入 8 個數據,而 memroy 只能同時提供 2 個數據,如果通過適當劃分運算步驟,將大操作分解成小操作就有可能每次只需要2個數據,使用流水線也會減少面積。
- 3)片內 sram 的讀操作,因為 sram 的讀操作本身就是兩級流水線,除非下一步操作依賴讀結果,否則使用流水線是自然而然的事情。
- 4)組合邏輯太長,比如(a+b)*c,那么在加法和乘法之間插入寄存器是比較穩妥的做法。
三、使用流水線的優缺點
1)優點: 流水線縮短了在一個時鐘周期內信號必須通過的通路長度,增加了數據吞吐量,從而可以提高時鐘頻率,但也導致了數據的延時。舉例如下:
例如:一個 2 級組合邏輯&#
總結
以上是生活随笔為你收集整理的Verilog 流水线设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Proxy SwitchyOmega安装
- 下一篇: 非线性降维方法 Isomap Embed