Emacs verilog mode



Emacs的verilog mode

是不是觉得verilog的语法,有一些啰嗦呢,实例的例化、信号连接工作太无聊呢?来来来,试试Emacs。 有人说Emacs老土的编辑器了,现在没有人用了吧,还真不是,其强大的扩展性(可折腾性),真是IC验证人的出门在外必备良药啊。 那么在哪里能安装呢?来这里找

如果是windows版本,需要设置一下环境变量。方法是,控制面板->系统->高级系统设置->环境变量->新建->变量名是HOME->变量值是C:\Users\heyao\documents。

根据自己的需要选择合适的变量值,用来存放用户的.emacs.d文件夹以及.emacs文件,我选择的是C:\Users\heyao\documents。.emacs.d主要是用来放置一下emacs的插件,.emacs是用户自己的初始化设置。

先不折腾这个配置,打开emacs,敲入下面代码:

module fanout (/*AUTOARG*/)
   input i;
   output [31:0] o;
   wire [31:0] o = {32{i}};
endmodule

保存,(快捷键CTRL+x CTRL+s,为了便于说明,用C-x C-s来表示),命名文件为fanout.v。

然后,用户C-c C-a,代码就变成了如下:

module fanout (/*AUTOARG*/
   // Outputs
   o,
   // Inputs
   i
   )
   input i;
   output [31:0] o;
   wire [31:0] o = {32{i}};
endmodule

我们再C-x 3,并排打开窗口,然后C-x C-f,新建一个文件ex_inst.v,如下:

module ex_inst (/*AUTOARG*/)
   input i;
   output [31:0] o;
   inout      io;

   fanout fanout (/*AUTOINST*/);
endmodule

然后,C-c C-a,代码就变成了如下:

module ex_inst (/*AUTOARG*/
   // Outputs
   o,
   // Inouts
   io,
   // Inputs
   i
   )
   input i;
   output [31:0] o;
   inout      io;

   fanout fanout (/*AUTOINST*/
	  // Outputs
	  .o            (o[31:0]),
	  // Inputs
	  .i            (i));
endmodule

可以看到Emacs自动帮忙做了实例化。