使用vim自动实例化时,我按声明顺序获得了AUTOINST,如图所示。但是,我需要对多个实例使用emacs AUTO_TEMPLATE,因此我尝试使用“ emacs --batch file.v -f verilog-batch-auto”。不幸的是,这给出了一个排序的顺序。如何使用emacs verilog-mode获取此声明顺序AUTOINST?
DWC_mipi_dsi_host i_DWC_mipi_dsi_host_left
(/*AUTOINST*/
//APB Interface
.presetn (presetn ), // input
.pclk (pclk ), // input
.paddr (paddr[9:0] ), // input
.penable (penable ), // input
.psel (psel ), // input
.pwrite (pwrite ), // input
.pwdata (pwdata[31:0] ), // input
.prdata (prdata[31:0] ), // output
.interrupt (interrupt ), // output
//DPI INTERFACE
.dpipclk (dpipclk ), // input
.dpivsync (dpivsync ), // input
.dpihsync (dpihsync ), // input
.dpipixdata (dpipixdata[`DSI_HOST_PIXELDATAWIDTH-1:0] ), // input
.dpidataen (dpidataen ), // input
.dpishutdn (dpishutdn ), // input
.dpicolorm (dpicolorm ), // input
.dpiupdatecfg (dpiupdatecfg ), // input
.edpihalt (edpihalt ), // output
根据http://doc.endlessparentheses.com/Fun/verilog-auto-inst.html上的文档,看来我需要使用verilog-auto-arg-sort:nil和verilog-auto-inst-sort:nil
我想在〜/ .emacs和文件底部设置它们,但是没有区别。有任何想法吗?
// Local Variables:
// verilog-library-flags:("-f ../src/files.vc")
// verilog-auto-arg-sort:nil
// verilog-auto-inst-sort:nil
// End:
事实证明,这是由于emacs预先安装了较旧版本的verilog-mode。
emacs Verilog --> Version and FAQ
You are using verilog-mode 2017-08-07-c085e50-vpo-GNU
可以通过按照https://www.veripool.org/wiki/verilog-mode上的说明更新verilog-mode来解决此问题。