统一使用 VS Code 插件 bmpenuelas.systemverilog-formatter-vscode
对代码进行自动格式化
注意使用--indentation_spaces 4
还应将.v
文件关联到SystemVerilog
以获得自动格式化,具体方法是点击VS Code右下角的Verilog
,然后在弹出的窗口选择Configure File Association for '.v'
使用蛇形命名,形如aaa_bbb_ccc
一般来讲分为三个部分,每个部分之间通过下划线连接:
- 连接到的模块简称,如
icache
- 信号线的含义,如
data
- 信号的方向,
o
或i
全部连起来如icache_data_o
如果使用了SystemVerilog,那么尽量把意义相近的信号打包成struct,定义在头文件中,然后作为端口的类型
使用蛇形命名,在模块内部,不添加后缀o
或i
如果使用SystemVerilog,那么状态机的状态要求使用enum
如:
enum int unsigned {
ACCEPT_ADDR = 0,
IN_TRANSACTION_1 = 1,
IN_TRANSACTION_2 = 2
}
约定实例化的模块间连接用的信号使用以下三部分命名:
- 起始模块名
- 到达模块名
- 信号含义
例如frontend_icache_addr
如果有多输出的信号,使用multi
代替到达模块名
例如ctrl_multi_stall
注意无需o
或i