HDLBits (4) — 四個(gè)線網(wǎng)
本題鏈接:
https://hdlbits.01xz.net/wiki/Wire4
創(chuàng)建一個(gè)具有 3 個(gè)輸入和 4 個(gè)輸出的模塊,其行為類似于進(jìn)行這些連接的電線:
a -> w?
b -> x?
b -> y?
c -> z
下圖說明了電路的每個(gè)部分如何對應(yīng) Verilog 代碼的每一位。 從模塊外部看,有三個(gè)輸入端口和四個(gè)輸出端口。
當(dāng)您有復(fù)數(shù)個(gè)賦值語句時(shí),它們在代碼中出現(xiàn)的順序無關(guān)緊要。 與其他編程語言不同,assign 語句(“連續(xù)賦值”)描述事物之間的聯(lián)系,而不是將值從一個(gè)事物復(fù)制到另一個(gè)事物的操作。
現(xiàn)在或許應(yīng)該澄清一個(gè)可能造成混淆的地方:這里的綠色箭頭代表線網(wǎng)之間的連接,但它們本身并不是線網(wǎng)。 模塊本身已經(jīng)聲明了 7 條連接的線網(wǎng)(命名為 a、b、c、w、x、y 和 z)。 這是因?yàn)檩斎牒洼敵雎暶鲗?shí)際上聲明了一條連接的線網(wǎng),除非另有說明。 標(biāo)注input wire a 與input a 相同。 因此,assign 語句不是在創(chuàng)建線網(wǎng),而是在已存在的 7 條線網(wǎng)之間創(chuàng)建連接。

預(yù)期的解決方案長度:大約4行。
模塊聲明:
提示
連接運(yùn)算符 { signal1, signal2, signal3, ... } 在這里很有用。

題目

答案

輸出波形


wire 類型表示硬件單元之間的物理連線,由其連接的器件輸出端連續(xù)驅(qū)動。如果沒有驅(qū)動元件連接到 wire 型變量,缺省值一般為 "Z"。線網(wǎng)型還有其他數(shù)據(jù)類型,包括 wand,wor,wri,triand,trior,trireg 等。
參考內(nèi)容:
2.3 Verilog 數(shù)據(jù)類型 | 菜鳥教程:https://www.runoob.com/w3cnote/verilog-data-type.html