簡體   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