gpt4 book ai didi

emacs - 如何在 verilog 模式下使用正则表达式删除 I/O 端口声明

转载 作者:行者123 更新时间:2023-12-01 07:39:53 29 4
gpt4 key购买 nike

我正在尝试实例化 abc_d模块,我不希望它的所有端口都被声明为 abc 中的 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

相关的已回答问题:
  • Using Regular Expressions for Verilog Port Mapping
  • using emacs auto's to instansiate a stub module (inputs=0, outputs=[]
  • 最佳答案

    您的 verilog-auto-output-ignore-regexp稍微偏离。它在删除“ex_out_port”周围的括号后起作用

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

    我无法在文档或常见问题解答中找到任何代码示例 gnore-regexp。我确实在 veriloop 网站的一个论坛中找到了一个示例(verilog-mode 的所有者):
    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 样式 header :
    module abc(
    /*AUTOINPUT*/
    /*AUTOOUTPUT*/
    );
    /*AUTOWIRE*/

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

    关于emacs - 如何在 verilog 模式下使用正则表达式删除 I/O 端口声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43609954/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com