是不是觉得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自动帮忙做了实例化。