前言
verilog-mode中的@是一个非常神奇的操作符,使用得当能够极大的加速代码生成效率。
常规使用
@最基本的功能是提取module例化名中的第一个数字,然后代入到@的位置,比如如下的使用:
/*fw_pipe AUTO_TEMPLATE (
.data_out_valid (@_data_out_valid),
);
*/
fw_pipe #(/*AUTOINSTPARAM*/
// Parameters
.WIDTH (WIDTH))
u_pipe0_inst1(/*AUTOINST*/
// Outputs
.data_in_ready (data_in_ready),
.data_out (data_out[WIDTH-1:0]),
.data_out_valid (0_data_out_valid), // Templated
// Inputs
.clk (clk),
.rst_n (rst_n),
.data_in