hdl - HDL 中的多路复用器(8 位输入和 4 位输出)
问题描述
如果 sel = false,则 out 应包含 in 的低 4 位(即 in[0]、in[1]、in[2]、in[3])
如果 sel = true,则 out 应包含高 4 -in 的位(即 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 值和两个输入行作为输入,并生成一个输出行。
推荐阅读
- c - 从命令行参数检查 Char 输入
- python - 如果不是声明
- html - 如何使 CSS 3 中间 div 框居中
- python - 删除numpy数组中的行和列
- git - 适用于我公司所有开发团队的 Git 分支策略
- javascript - 反应重新渲染待办事项数组
- python-3.x - 如何打开 Raspberry Pi 上的 OLED 显示屏?
- node.js - Mongoose.aggregate(pipeline) 使用 $unwind、$lookup、$group 链接多个集合
- angular - 遍历打字稿中的地图对象列表
- java - 为什么文件中的数组对象在 Java 中有 NumberFormatException?