是否可以编写一个带有3条线a,b,c的模块,它将输出:
在verilog?
答案 0 :(得分:0)
如果您有三个网都驱动相同的线,那么这将在模拟中得到您想要的东西:
module three_drive(
input a,
input b,
input c,
output d);
assign d=a;
assign d=b;
assign d=c;
endmodule
然而,我不知道合成会对此有何影响。
听起来我真正想要的是将这三个信号一起放在FPGA的输入上并将它们缩短在一起。
答案 1 :(得分:0)
如果你不关心如果没有人驾驶它会导致什么结果,那么nguthrie有正确的答案。如果它不是x,如果它不被驱动,那么你可以这样做:
module three_drive(
input a,
input b,
input c,
output d);
wire temp;
assign temp=a;
assign temp=b;
assign temp=c;
assign d = (temp === 1'bz) ? 1'bx : temp;
endmodule
以上不是可综合的,但它会得到您正在寻找的模拟行为。