1 书写格式
团队要统一书写格式,统一缩进要求。统一编辑器,比如vim/gvim。
1.1 模块端口声明
- 要尽量使用Verilog-2001标准,这样可以减少代码行,而且便于修改和删除。例如:
//
module sram_ctrl(
//Interface with ATPG
input test_mode,
//Interface with AHB
input hreset_n,
input hclk,
input hsel,
input hready,
input [1:0] htrans,
input [2:0] hburst,
input hwrite,
input [2:0] hsize,
input [31:0] haddr,
input [31:0] hwdata,
output hreadyout,
output [1:0] hresp,
output [31:0] hrdata
);
- 每行只声明一个端口,这样可以在其上或者其后添加一些简短的注释。
- 少量信号可按输入输出分组。
- 大量信号需要按功能分组,功能组前面加注释,功能组之间加空行分割,以便于阅读。
- 在每个功能组内,哪一个最主控,哪一个就越靠前。一般采用如下顺序:
A. 时钟信号 B. 复位信号 C. 使能信号 D. 控制信号 E. 地址信号 F. 响应信号 G. 数据信号
|