繁体   English   中英

如何在verilog模式下使用regexp删除I / O端口声明

[英]How to remove I/O port declarations using regexp in verilog mode

我正在尝试实例化abc_d模块,我不希望它的所有端口都被声明为abc top模块中的I / O端口。 我想排除ex_out_port被声明为output端口。

module abc(/*AUTOARG*/);
/*AUTOINPUT*/
/*AUTOOUTPUT*/
/*AUTOWIRE*/
abc_d u_abc_d(/*AUTOINST*/);
endmodule
//Localvariables:
//verilog-auto-output-ignore-regexp:("ex_out_port")
//END:

预期代码:

 module abc (/*AUTOARG*/
 /Inputs
 input port1;
 input port2;
 /Outputs
 output port3;
 output port4;
 /*AUTOWIRE*/
 wire ex_out_port;

 //Instance
 abc_d u_abc_d(/*AUTOINST*/
 .port1 (port1),
 .port2 (port2),
 .port3 (port3),
 .port4 (port4),
 .ex_out_port (ex_out_port)):
endmodule

相关的已回答问题:

你的verilog-auto-output-ignore-regexp稍微关闭了。 在“ex_out_port”周围删除括号后,它可以工作

//verilog-auto-output-ignore-regexp: "ex_out_port"

我无法在文档或FAQ中找到任何代码示例gnore-regexp。 我确实在veriloop网站(verilog模式的所有者)的论坛中找到了一个例子: https ://www.veripool.org/boards/15/topics/1635-Verilog-mode-Scope-for-AUTO_LISP-


仅供参考:除非您严格遵循Verilog-1995语法或运行过时版本的verilog-mode,否则您可以考虑更改:

module abc(/*AUTOARG*/);
/*AUTOINPUT*/
/*AUTOOUTPUT*/
/*AUTOWIRE*/

到Verilog-2001以来支持的ANSI样式头:

module abc(
/*AUTOINPUT*/
/*AUTOOUTPUT*/
);
/*AUTOWIRE*/

它在功能和行为上都相同,生成的代码行数较少。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM