如何在verilog中通过一个输入处理输出和输入总线传输?

如何在verilog中通过一个输入处理输出和输入总线传输?,verilog,Verilog,我想用verilog制作一个简单的模块 计划是这样的 If(en) A=B; else B=A; 我想实现没有时钟的verilog 能否实现上述逻辑 更新 我想要两个输入输出端口的总和。 但我不知道怎么做。您能告诉我如何计算两个输入输出端口的总和吗 Module test1( en, A, B, C ); input en; inout [1:0] A; inout [1:0] B; output [3:0] C; ... What can I do ? .

我想用verilog制作一个简单的模块

计划是这样的

If(en)
  A=B;
else
  B=A;
我想实现没有时钟的verilog

能否实现上述逻辑

更新 我想要两个输入输出端口的总和。 但我不知道怎么做。您能告诉我如何计算两个输入输出端口的总和吗

Module  test1(
   en,
   A,
   B,
   C
);
input en;
inout [1:0] A;
inout [1:0] B;
output [3:0] C;

...
What can I do ?
...


endmodule
如果(英文) A=B; 其他的 B=A

您不能将两个输入输出端口
A
B
相加<代码>en确定方向。 考虑这个代码:

assign A = (en) ? B : 1'bz;

assign B = (~en) ? A : 1'bz;
en
较低时,
B
将作为您的输出,
A
将作为您的输入

en
处于高位时,
A
将作为您的输出,
B
将作为您的输入

当您分配
A
B
之和时,您的输出
C
将是未定义的,因为任何一个输入都是
1'bz

assign C = A + B; // will cause undefined behavior

将其声明为
inout
并使用类似于
assigna=(en==1)?b:1'bz assign b=(en==0)?a:1'bz可能有帮助。输入输出端口a是什么?B或者两者都有?为了帮助您改进问题,请在vhdl和verilog之间进行选择。不是两者都有。@e19293001我想是verilog。请