2011-03-08 86 views
3

在Verilog中執行並行循環嗎?我需要多次調用一個模塊,但他們必須同時執行。我一直在考慮使用for循環,而不是逐個寫出來。它會一樣嗎?Verilog中的循環如何執行?

回答

4

Verilog描述了硬件,所以在這種情況下執行循環或調用模塊時沒有意義。如果我正確理解你的問題的意圖,你希望有不同輸入和輸出的同一模塊的多個實例。

要完成此任務,您可以使用Verilog的generate statements自動生成實例。您可以在Emacs的verilog-mode中使用auto_template functionality。我更喜歡這種方法,因爲每個實例化都顯式出現在我的源代碼中,我發現檢測錯誤更容易。

+0

所以你只是把生成之前的for循環?如果你不這樣怎麼辦? – 2011-03-09 03:23:54

+0

我鏈接的頁面有一個使用示例。如果你沒有將循環和實例包含在generate/endgenerate塊中,那麼你的工具會發出抱怨 - 試試看看。 – jlf 2011-03-09 15:41:24

0

正如jlf回答,你正在尋找一個生成語句。您可以使用for-loop來對組合邏輯進行建模,例如遍歷寄存器中的所有位並計算輸出。這將在測試平臺中的一個始終塊或甚至一個初始塊中。