入行挺久的,但是一直没有写过一些技术文档之类的文章。几年前有过类似的想法,但是觉得自己道行太浅,难免班门弄斧。
最近因为某些原因在学习和整理一些内容,也顺便发出来和大家一起交流。希望可以和大家一起学习,大家也可以提供宝贵的意见。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
长长的分割线,下面是正文
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码规范(一)
代码规范很多都是team的统一要求,有些并非是强制,team内遵循某个约定,以方便阅读、管理。
代码规范的好处:
- 方便他人阅读,交流和理解;以及后期的继承和维护;
- 方便自己阅读,修改和管理;
- 有效减少从设计,仿真和综合的迭代时间和迭代次数;
- 良好的代码风格和代码规范,让design变得愉快,相反,会很痛苦;(亲生子和继子)
一、信号命名
1. 信号命名常用前后缀
- 采用有意义且有效的名字,尽量采用连贯的缩写,比如:address →addr; clock→clk;
- 长信号名用下划线“_”分割单词;
- 特殊信号加后缀表示其特性,如:低电平有效信号: _n;时钟信号:_clk;输入信号:i_或者_i ; 输出信号:o_或者_o;
- 多级寄存器的信号(同一时钟域),第一级以“_d1”结尾,后面依次“_d2”,"_d3",其他类型的信号禁止使用该后缀命名;
- 不建议使用reg作为信号结尾;
- 不使用vdd, vss, vcc, vref开头为普通信号命名; </