电线

时间:2017-11-02 11:39:50

标签: verilog

我刚刚开始使用Verilog,我想知道是否有办法执行以下操作:

如果我有三个两位线,其中testmux在其索引中连接到muxt一位,而muxt在其索引中连接到muxt2一位,是否有办法通过仅基于分配来访问muxt2中的“1”位testmux?我天真地尝试使用下面代码片段中的最后一行,但它似乎不起作用,即使用括号。非常感谢任何指导,谢谢你。

output test;
  wire [1:0] testmux = {muxt,1'b0};
  wire [1:0] muxt = {muxt2,1'b0};
  wire [1:0] muxt2 = {1'b1,1'b0};
  assign test = testmux[1][1][1];

Crude Diagram

1 个答案:

答案 0 :(得分:0)

没有办法按照你想要的方式去做。您确实创建了分层布线,但只允许在扁平布线上进行阵列访问。在verilog中没有办法做这样的分层表达式。

如果我理解你的意图正确,只需要访问muxt2的高位。顺便说一句,您还需要更改声明的顺序。电线必须在使用前声明。

output test;

wire [1:0] muxt2 = {1'b1,1'b0};
wire [1:0] muxt = {muxt2,1'b0};
wire [1:0] testmux = {muxt,1'b0};

assign test = muxt2[1];