我想知道Verilog中是否存在访问子模块中的线路而不使该线路成为输出的语法。
例如,如果有以下模块:
For Each cc As Control In Me.Controls
If TypeOf cc Is CheckBox Then
DirectCast(cc, CheckBox).Checked = False
End If
Next
For Each cc As Control In Form1.Controls
If TypeOf cc Is CheckBox Then
DirectCast(cc, CheckBox).Checked = False
End If
Next
现在,我想访问电线' c'在实例中' sm'来自Module_Top的范围。 有办法吗? 也许是这样的:
module Module_Sub(a,b);
input a,b;
wire c;
...
endmodule
module Module_Top(d, e);
input d,e;
wire f;
Module_Sub sm(d,e);
...
endmodule
(这种语法对我来说显然不起作用)。
P.S: 我知道这不是最好的做法,但就我而言,它会让事情变得更容易。
谢谢!
编辑:我希望它能用于合成代码。
答案 0 :(得分:0)
你非常接近。使用点,而不是斜线:
module Module_Sub(a,b);
input a,b;
wire c;
endmodule
module Module_Top(d, e);
input d,e;
wire f = sm.c;
Module_Sub sm(d,e);
endmodule
请参阅IEEE Std 1800-2012,第23.7节和第34条;成员选择和分层名称"。