Verilog代码注释要求

Verilog代码注释要求

优秀且完整的注释是代码的重要组成部分,特别是对于一个个人开发和小团队而言,能帮助你快速的了解每一个函数和功能块的具体内容、接口等。下面是个人在FPGA学习中的一点经验,希望有所帮助。

1.文件开头

Module name:XXX
Create date:XXXX/XX/XX
Modify date:XXXX/XX/XX
Engineer:XXX
Revision:XXX
Description:XXXX....

2.模块定义

module name(
    input   sign_1,
    input   sign_2,
    ...
    //(空格或注释行隔开)
    output  out_sign_1,
    ...
    output  out_sign_1,
)
//接口列表中来自不同顶层模块或者一类接口与其它接口以空格隔开
//每一个端口名都要有意义,直观的表示信号含义,不能随便定义,且风格要统一
//特殊的信号要注释说明

3.wire和reg等变量的定义

//单行注释说明多个变量对应于哪个功能块
wire [3:0]  vaddr;  //注释说明变量的意义
wire [1:0]  det;    //注释说明变量的意义

举例:
//正交变换后输出信号
reg signed    [width_1_2:0]          a_imag;    //I路
reg signed    [width_1_2:0]          a_real;    //Q路

4.always功能块

//功能块说明
always()begin

end

//功能块说明
genver i;
for()begin

end

注意:复杂的功能块里面的begin-end也需要注释说明,以方便理解

5.代码的功能块区

建议按照功能区分代码块
mouule name(

)

// begin:信号差分转单端
//该always块功能说明
always()begin

end

//该always块功能说明
always()begin

end
//end:信号差分转单端

// begin:信号解析
//该always块功能说明
always()begin

end

//该always块功能说明
always()begin

end
//end:信号解析

endmodule

6.常量定义

//常量建议大写,且说明含义
parameter WIDTH = 10;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值