用于忽略位的复制运算符

时间:2015-02-05 15:59:37

标签: verilog

我想知道是否可以选择性地映射模块输出中的位。 例如

module A (
input wire [4:0] X,
output wire [4:0] Y
)
endmodule

module B (
..
)
(
wire  [2:0] w;
wire  [2:0] v;
A I1 (
.X ({{2{1'b1}},w}),
.Y (??????,v)
);

endmodule

是否有任何语法允许我为线v选择所需的位而无需创建额外的线并使用assign语句。

问候

1 个答案:

答案 0 :(得分:0)

您可以建立此连接:

.Y (v)

但您可能会从模拟器收到编译警告。

要避免警告,您可以创建一条电线,但不需要分配:

module A (
    input  wire [4:0] X,
    output wire [4:0] Y
);
endmodule

module B;
wire  [2:0] w;
wire  [2:0] v;
wire  [1:0] noconn;
A I1 (
    .X ({{2{1'b1}},w}),
    .Y ({noconn, v})
);
endmodule