首页 文章

Verilog:访问子模块实例中的连线

提问于
浏览
0

我想知道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;

(这种语法显然对我不起作用) .

P.S:我知道这不是最好的做法,但就我而言,它会让事情变得更容易 .

谢谢!

编辑:我希望它能用于合成代码 .

1 回答

  • 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节"Member selects and hierarchical names" .

相关问题