Verilog coding style

Coding Style

1. 文件书写规范

1.1 文件头格式

文件头包含三部分内容:

  1. 版权信息声明,该部分保持不变;

  2. 文件描述:包括文件名、版本信息、日期、作者,特别关注Description项,可以添加使用限制、模块功能说明等内容。

  3. 日志信息:该日志信息仅用于记录较大改动(如需求变更),对于仿真BUG修正记录则不用放在这里。

    //-------------------------------------
    //COPYRIGHT(c) 2021, huawei
    //ALL right are reserved.
    //-------------------------------------
    //              Design information
    //-------------------------------------
    //File name           :iic_top.v
    //Version             :v0.1
    //Date                :2021/04/10
    //Author              :WA
    //Decription          :
    //-------------------------------------
    //Log:
    //       v0.1     :initial
    //
    //-------------------------------------
    

1.2 文件命名规则

  1. 文件名 必须与 模块名相同(模块命名遵照命名规则)。
  2. 单个文件只能定义一个模块,无论该模块代码行数多少,禁止在单个文件内定义多个模块。

1.3 有效注释

  1. 单个文件中代码注释(不包含文件头 和 日志信息)不低于30%
  2. 注释信息采用英文
  3. 注释说明添加在目标代码的前面,力求准确

2. 变量命名规范

2.1 参数、宏命名规范

参数、宏命名采用 大写字母+下划线+数字 的方式,禁止使用其他类别的字符

//-----------Parameter Define-----------------
parameter DEC_IDLE             = 3'h0;
parameter SYS2DEC              = 3'h1;
parameter DEC                  = 3'h2;
parameter DEC2SYS              = 3'h3;
parameter DEC_REAL_DONE        = 3'h4;

2.2 普通变量的命名

变量命名遵循简洁、清晰、有意义的原则,禁止私有&&随意的命名,好的变量命名能够提高程序的健壮性和可维护性。

  1. 变量命名采用 小写字母+下划线+数字 的方式,禁止使用其他类别的字符

  2. 除IP Core外,独立开发模块命名 同 变量命名规则

  3. 变量命名应表征该变量的具体含义,禁止随意使用a,b,x,temp等没有含义的单个字符串来命名

  4. 对于低电平有效变量,在名称后面加“_n”或者“_b”,例如rst_n

  5. 读?写是能信号命名为xxx_we/xxx_re,高电平有效;低电平有效的读写使能信号命名为xxx_wen/xxx_ren,其他高有效使能信号采用后缀“_ena”标记,低有效使能信号采用后缀“、_ena_n”标记

  6. 边沿变量后缀为“_pos”和“_neg”, 例如ack_pos表示总线响应变量ack的上升沿

    always @ (posedge clk or negedge rst_n)begin
        if(rst_n==1'b1)
            ncu_ack_1z <= `TD 1'b0;
        else begin
            ncu_ack_1z <= `TD i_ncu_ack;
        end
    end
    assign ncu_ack_pos = i_ncu_ack & (~ncu_ack_1z)
    
  7. 打拍变量采用“xz”后缀表示,x表示数字;禁止组合逻辑采用“_z“命名

    always@(posedge clk)begin
    	drx_data_1z <= i_drx_data;
        drx_data_2z <= drx_data_1z;
        drx_data_3z <= dr
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值