在编写Verilog的时候一点看法:
每个人的代码风格都可能不一样,但是好的代码风格会给自己和同事带去很大的方便,也许大家刚开始没有注意到这点。再过了很长的时候后你回过头来看你的代码架构不会那么乱,一看你的模块就知道你的是什么功能和实现的方法,很容易就切入到到工程里了,这些工程风格可以参考C语言的编程风格和华为的硬件描述风格,大小写,用有意义的单词或缩写,每个模块应该尽量的独立。尽量采用宏定义.或常量定义........非阻塞赋值的时候前后空一格,最后一个end最好跟在最后一个语句后面,这样可以减少行数,还有就是一个always块的begin end的end后面最好跟一个“end always”这样可以方便知道这个模块结束了.虽然很小但是有时候去很好,有的地方可以加上必要的注解........下面是华为的:
(1)每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同。
(2)每个设计文件开头应包含如下注释内容:
l年份及公司名称。
l作者。
l文件名。
l所属项目。
l顶层模块。
l模块名称及其描述。
l修改纪录。
请参考标准示例程序[3]。
(3)大小写
a如无特别需要,模块名和信号名一律采用小写字母。
b为醒目起见,常数(`define定义)/参数(parameter定义)采用大写字母。
(4)标识符
a标识符采用传统C语言的命名方法,即在单词之间以“_”分开,如:max_delay、data_size等等。
b采用有意义的、能反映对象特征、作用和性质的单词命名标识符,以增强程序的可读性。
b为避免标识符过于冗长,对较长单词的应当采用适当的缩写形式,如用‘buff’代替‘buffer’,‘ena’代替‘enable’,‘addr’代替‘address’等。