-verilog模塊組成:
-端口:模塊與外界環境交互的接口。所有端口隱含地聲明爲wire類型。若希望輸出端口保存數值,則需要顯式的聲明爲reg類型;輸入與雙向端口不能被聲明爲reg類型。
三種端口類型如下:
input:輸入;
output:輸出;
inout:輸入/輸出雙向端口;
在聲明端口數據類型時可以在模塊端口列中聲明(將端口聲明嵌入到端口列表):
在模塊中定義的所有過程塊(initial、always等、連續賦值語句、實例引用都是並行的。
-端口連接規則:
模塊之間通過端口互聯時需要遵從以下規則:
1、
2、位寬匹配:允許內外兩個部分具有不同位寬。
3、允許模塊實例的端口保持未連接狀態,例如作爲測試端口
-端口連接方式:
1、順序端口連接:需要連接到模塊實例的信號必須與模塊聲明時目標端口在端口列表中的位置保持一致。
2、命名端口連接:端口和相應的外部信號按照其名字進行連接,其中括號內部的是該模塊的端口,括號外部的是原模塊的端口(即下面的fulladd4的端口)。
若某端口懸空,則忽略即可
-層次命名:頂層模塊不能被其他模塊調用,以頂層模塊作爲根,通過“.”連接對其他模塊命名,即層次路徑名。每個標識符都具有唯一的層次名。