HDLBits (21) — 按位置連接端口
本題鏈接:
https://hdlbits.01xz.net/wiki/Module_pos
這個(gè)問題和上一個(gè)(module)類似。 您將獲得一個(gè)名為 mod_a 的模塊,該模塊按順序有 2 個(gè)輸出和 4 個(gè)輸入。 您必須按位置順序?qū)?6 個(gè)端口連接到頂層模塊的端口 out1、out2、a、b、c 和 d 上。
您將獲得以下模塊:
module mod_a ( output, output, input, input, input, input );


題目
預(yù)期的解決方案長(zhǎng)度:大約 1 行。

答案

輸出波形


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