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

Posted

技术标签:

【中文标题】HDL 中的多路复用器(8 位输入和 4 位输出)【英文标题】:Mux(8-bits input and 4-bits output) in HDL 【发布时间】:2019-11-24 16:34:58 【问题描述】:

如果 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]);

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于HDL 中的多路复用器(8 位输入和 4 位输出)的主要内容,如果未能解决你的问题,请参考以下文章

hdl 中的管道多路复用器

Verilog HDL实现的74HC595的进阶版本

2选1多路选择器的Verilog hdl

怎样把异步FIFO的Verilog hdl 代码中的parameter DSIZE = 8; parameter ASIZE = 4;改为宽度为16位,谢谢!

Verilog HDL 实现 74HC595

使用74LS83构成4位二进制全加\全减器。 具体要求:1)列出真值表; 2)画出逻辑图; 3)用Verilog HDL仿真