※ 引述《Vampirespit (Vampirespit)》之銘言:
: 如題
: 請問大家 要如何用verilog HDL實現pipeline呢?
: 有人跟我說是"外加一個更快的時脈下去作管線切換"的方式
: 請問他說得對嗎? 如果是的話 要怎麼實現呢?
: 有沒有板上會用verilog HDL實現pipeline的高手呢?
: 可以分享一下您是如何寫code的嗎?
: 還有想請問 當程式用pipeline完成後
: 用 QuartusII 軟體合成電路之'clk'(在timing analysis裡面)真的會變快嗎?
: 萬分感謝 ^___^
這= =
你要先搞清楚PIPELINE是怎麼實現的
如果弄懂的話,應該就不是問題了
基本上概念是像下面這樣
原始動作:
輸入→REG→動作一→動作二→動作三→動作四→動作五→REG→結果
5ns 3ns 10ns 4ns 4ns
本來一個操作一共可以切成五部分,如上
那麼這個操作一共要26ns完成
所以系統操作的週期最快為26ns
切完之後變成
CLK ─┬──────────┬──────┬──────────┐
10ns ↓ ↓ ↓ ↓
輸入→REG1→動作一→動作二→REG2→動作三→REG3→動作四→動作五→REG4→結果
5ns 3ns 10ns 4ns 4ns
這樣的話系統操作的週期可以縮短到10ns
關於PIPELINE的作法,在計算機結構都會有講述
你可以自己參考一下
--
╭ █◣◢█ ╮ ╭ ███◣╮ ╭═══╮ ╭═════╮ ╭═════╮
║ ████ ╰══╯ █ ◥█╰══╯◢ ☆ ╰═╯ ◢▌ ◢╰══╯ ║
║ ████ ◢◢◣ █◣ █ ◢█◣ █ ◢ ◢█◣ ██◣ █ ◢█◣ ╴ ║
˙ █◥◤█ █◤ ███◤ █◢◤ █ █ █◢█ █▌█ █ █◢◤☆  ̄ρ▄ ║
║ ◥ ◤ █ ● █◥█◣ ◥█◤ █ ◤ ◥◤◥ ◥█◤ █ ◥█◤ ╰〈╭▄﹀║
╰New York Yankees═ ◤ ════ #40 ◤ Chien-Ming Wang═◤═══ψTheAnswer3╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.95.114