我想在verilog中创建一个简单的模块
计划就是这样。
If(en)
A=B;
else
B=A;
我想在没有时钟的情况下实现verilog。
是否可以实现上述逻辑?
我想要两个inout端口的总和。 但我不确定如何。你能不能让我知道怎样才能把2个输入端口加起来?
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
答案 0 :(得分:1)
如果(烯) 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
将成为您的输入。
当您分配C
和A
的总和时,您的输出B
将不确定,因为任何一个输入都是1'bz
。
assign C = A + B; // will cause undefined behavior