HDL 中的多路复用器(8 位输入和 4 位输出)



如果 sel = false,则 out 应包含 in 的低 4 位(即 in[0]、in[1]、in[2]、in[3](如果 sel = true,则 out 应包含 in 的高 4 位(即 in[4]、in[5]、in[6]、in[7](

这是我的代码以及如何修改它....?

CHIP NewMux
{
IN in[8], sel;
OUT out[4];
PARTS:
Mux4(sel=sel, a=in[0], b=false, out=out[0]);
Mux4(sel=sel, a=in[1], b=false, out=out[1]);
Mux4(sel=sel, a=in[2], b=false, out=out[2]);
Mux4(sel=sel, a=in[3], b=false, out=out[3]);
Mux4(sel=sel, a=in[4], b=true, out=out[0]);
Mux4(sel=sel, a=in[5], b=true, out=out[1]);
Mux4(sel=sel, a=in[6], b=true, out=out[2]);
Mux4(sel=sel, a=in[7], b=true, out=out[3]);
}

不能让多个组件生成相同的输出。您有 4 条输出线,因此需要使用 4 个简单的 1 位多路复用器。每个都将 sel 值和两个 in 行作为输入,并生成一个输出行。

最新更新