在某些线路上通过高阻抗的完整总线 VS 通过部分总线

Passing full bus with high impedance on some lines VS passing part of the bus

这些代码是否相同(在功能和门数方面)?

module Test1(
    input enable,
    output [1:0] bus
);
    
    
    assign bus[1:0] = (enable) ? 2'b0 : 2'bZ;
    
endmodule

还有这段代码:

module Test2(
    input enable,
    output [7:0] bus
);
    
    
    assign bus[1:0] = (enable) ? 2'b0 : 2'bZ;
    assign bus[7:2] = 6'bZ;
    
endmodule

如果我们这样称呼它们:

module Test(
    input enable
);
    
    wire [7:0] bus;
    
    Test1 test1(.enable(enable), .bus(bus));
    // Or :
    Test2 test2(.enable(enable), .bus(bus));
    
endmodule

无条件地将 'bZ 分配给网络本质上是一个 NOP。所以这两个模块在功能上是相同的。