HDLBits (10) — 7458芯片
2021-09-13 00:07 作者:僚機(jī)Wingplane | 我要投稿
本題鏈接:
https://hdlbits.01xz.net/wiki/Wire_7458
7458 是具有四個(gè)與門(mén)和兩個(gè)或門(mén)的芯片,它比 7420 稍微復(fù)雜一點(diǎn)。
創(chuàng)建一個(gè)與 7458 芯片功能相同的模塊。 它有10個(gè)輸入和2個(gè)輸出。 您可以選擇使用分配( assign )語(yǔ)句來(lái)驅(qū)動(dòng)每條輸出線(xiàn)網(wǎng),或者您可以選擇聲明4條線(xiàn)網(wǎng)用作中間信號(hào),其中每條內(nèi)部線(xiàn)網(wǎng)都由一個(gè)與門(mén)的輸出驅(qū)動(dòng)。 如需額外練習(xí),請(qǐng)同時(shí)嘗試兩種方法。

預(yù)期的解決方案長(zhǎng)度:大約 2-10 行。
模塊聲明:
module top_module (
? ?input p1a, p1b, p1c, p1d, p1e, p1f,
? ?output p1y,
? ?input p2a, p2b, p2c, p2d,
? ?output p2y );
提示
您需要用一個(gè)值驅(qū)動(dòng)兩個(gè)信號(hào)(p1y 和 p2y)

題目
module top_module (
? ?input p1a, p1b, p1c, p1d, p1e, p1f,
? ?output p1y,
? ?input p2a, p2b, p2c, p2d,
? ?output p2y );
endmodule

答案
module top_module (
? ?input p1a, p1b, p1c, p1d, p1e, p1f,
? ?output p1y,
? ?input p2a, p2b, p2c, p2d,
? ?output p2y );
? ?wire g1, g2, g3, g4;
? ?assign g1 = p1a & p1b & p1c;
? ?assign g2 = p1d & p1e & p1f;
? ?assign g3 = p2a & p2b;
? ?assign g4 = p2c & p2d;
? ?assign p2y = g3 | g4;
? ?assign p1y = g1 | g2;
endmodule
module top_module (
? ?input p1a, p1b, p1c, p1d, p1e, p1f,
? ?output p1y,
? ?input p2a, p2b, p2c, p2d,
? ?output p2y );
? ?assign p2y = (p2a & p2b) | (p2c & p2d);
? ?assign p1y = (p1a & p1b & p1c) | (p1d & p1e & p1f);
endmodule

輸出波形


標(biāo)簽: