Warm tip: This article is reproduced from serverfault.com, please click

其他-如何使用emacs verilog-mode获取声明顺序AUTOINST?

(其他 - How to get declaration order AUTOINST with emacs verilog-mode?)

发布于 2020-12-10 16:42:51

使用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:
Questioner
Omnivore
Viewed
0
Omnivore 2020-12-22 00:03:21

事实证明,这是由于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来解决此问题。