在 Verilog 中,如何将模块的输入接地本质上是输入 = 0 值

问题描述

所以我正在制作一个 ALU,它有一个 8to1 多路复用器,可以在不同的操作之间进行选择。然而,只需要 6 个操作,因此多路复用器的其他两个输入甚至不需要使用。那么有没有办法将它们本质上连接到gnd?基本上不为这些情况输出任何内容?

这里是参考/可视化的一般设计示意图。 https://i.gyazo.com/854f8acd904f9e7db2f950c3b4eab27d.png

这是我的 8to1 Mux 代码。 (不要认为我需要展示这个,但它可能会有所帮助。)

module eight_one_mux(D,S,out);
input [7:0] D;
input [2:0] S;
output reg [63:0] out;

always @(D or S) 

begin

case(S)

0 : out = D[0]; //And
1 : out = D[1]; //Or
2 : out = D[2]; //Adder
3 : out = D[3]; //xor
4 : out = D[4]; //lefter
5 : out = D[5]; //righter
6 : out = D[6]; //GND
7 : out = D[7]; //GND
default : out = 1'bx;

endcase
end

endmodule

解决方法

您可以直接将它们设置为 0

6 : out = 1'b0; //GND
7 : out = 1'b0; //GND

(附带说明,如果这是一个多路复用器,您可能希望输出的位数与输入的位数相同)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...