Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Verilog:访问子模块实例中的wire_Verilog_System Verilog - Fatal编程技术网

Verilog:访问子模块实例中的wire

Verilog:访问子模块实例中的wire,verilog,system-verilog,Verilog,System Verilog,我想知道Verilog中是否有一种语法,可以访问子模块中的某条导线,而不将该导线作为输出 例如,如果具有以下模块: 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 现在,我想从Module_Top的范围访问实例“sm”

我想知道Verilog中是否有一种语法,可以访问子模块中的某条导线,而不将该导线作为输出

例如,如果具有以下模块:

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
现在,我想从Module_Top的范围访问实例“sm”中的连线“c”。 有办法吗? 可能是这样的:

assign f = sm/c; 
(这种语法显然不适合我)

附言: 我知道这不是最好的做法,但对我来说,这会让事情变得容易得多

谢谢


编辑:我想要一个可合成的代码

你们非常接近。使用点,而不是斜杠:

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

请参阅第23.7节“成员选择和层次结构名称”。

您是否可以通过问题编辑添加此选项,以用于测试台或可合成代码。这似乎不起作用。遗憾的是,我没有访问您的参考文档的权限,但我尝试了一下,却得到了一个错误:“无法解析层次名称”。有什么想法吗?好的,我已经找到了,而且还找到了一些关于这个主题的例子。然而,这对我不起作用。它可以合成吗?@Bamba也许你想让导线c作为模块_sub的输出。否则,toolic的解决方案将起作用(可能无法合成)。这里有一个类似的问题,您可以参考,以访问模块层次结构之外的资源: