HDLBits (22) — 按名稱連接端口
本題鏈接:
https://hdlbits.01xz.net/wiki/Module_name
?此問題和之前的module類似。都可以在某種程序中給出一個名為mod_a的模塊,其中包含2個輸出和4個輸入。必須按名稱將6個端口連接到對應(yīng)的頂級模塊的端口:

你被提供了以下模塊:
module mod_a ( output out1, output out2, input in1, input in2, input in3, input in4);

預(yù)期解決方案長度:大約1行。

題目

答案

輸出波形


端口是模塊與外界交互的接口。對于外部環(huán)境來說,模塊內(nèi)部是不可見的,對模塊的調(diào)用只能通過端口連接進(jìn)行。
端口列表
模塊的定義中包含一個可選的端口列表,一般將不帶類型、不帶位寬的信號變量羅列在模塊聲明里。一個模塊如果和外部環(huán)境沒有交互,則可以不用聲明端口列表。
端口聲明
(1) 端口信號在端口列表中羅列出來以后,就可以在模塊實(shí)體中進(jìn)行聲明了。
根據(jù)端口的方向,端口類型有 3 種: 輸入(input),輸出(output)和雙向端口(inout)。
input、inout 類型不能聲明為 reg 數(shù)據(jù)類型,因?yàn)?reg 類型是用于保存數(shù)值的,而輸入端口只能反映與其相連的外部信號的變化,不能保存這些信號的值。
output 可以聲明為 wire 或 reg 數(shù)據(jù)類型。
(2) 在 Verilog 中,端口隱式的聲明為 wire 型變量,即當(dāng)端口具有 wire 屬性時,不用再次聲明端口類型為 wire 型。但是,當(dāng)端口有 reg 屬性時,則 reg 聲明不可省略。
(3) 當(dāng)然,信號 DOUT 的聲明完全可以合并成一句。
(4) 還有一種更簡潔且常用的方法來聲明端口,即在 module 聲明時就陳列出端口及其類型。reg 型端口要么在 module 聲明時聲明,要么在 module 實(shí)體中聲明。
參考內(nèi)容:
5.1 Verilog 模塊與端口?| 菜鳥教程:
https://www.runoob.com/w3cnote/verilog-module-port.html