verilog2001标准的接口定义:
module sync_fifo #(
parameter DEPTH = 32,
parameter DATA_W = 32
) (
input wire clk ,
input wire rst_n ,
input wire wreq ,
input wire [DATA_W-1:0] wdata ,
output wire full_flg ,
input wire rreq ,
output wire [DATA_W-1:0] rdata ,
output wire empty_flg
);
这种定义方式将端口方向,reg还是wire型,端口宽度等信息都整合在了一起,减少了不必要的重复,使得代码长度大大缩短,非常紧凑。另外,用于模块编译的例化参数都被放置在端口定义之前,有利于模块例化时进行配置。