2015-02-05 54 views
-1

我想知道是否有可能有选择地映射模块输出中的位。 例如。忽略位的复制操作符

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 

是否有任何语法可以让我为wire v选取所需的位而无需创建额外的连线并使用assign语句。

问候

回答

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