微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > FPGA实战演练逻辑篇40:代码书写规范

FPGA实战演练逻辑篇40:代码书写规范

时间:06-23 来源:互联网 点击:

if  on  select with bus  impure  open

severity  xnor  case  in  or  shared  xor  component  inertial  others  signal

configuration  inout  out  sla  constant  is  package  sra  disconnect label  port  srl

         除了以上这些保留的关键词不可以作为用户自定义的其他名称,verilog和VHDL还有以下的一些用户自定义命名规则必须遵循:

●  命名中只能够包含字母、数字和下划线“_”(verilog的命名还可以包含符号“$”)。(特权同学,版权所有)

●  命名的第一个字符必须是字母(verilog的命名授字符可以是下划线“_”,但一般不推荐这么命名)。(特权同学,版权所有)

●  在一个模块中的命名必须是唯一的。(特权同学,版权所有)

●  VHDL的命名中不允许连续出现多个下划线“_”,也不允许下划线“_”是命名的最后一个字符。(特权同学,版权所有)

关于模块名称、端口名称、信号名称、各种变量或常量名称等的命名,有很多推荐的规则可供参考,如下:

●  尽可能使用能表达名称具体含义的英文单词命名,单词名称过长时可以采用易于识别的缩写形式替代,多个单词之间可以用下划线“_”进行分割。(特权同学,版权所有)

●  对于出现频率较高的相同含义的单词,建议统一作为前缀或后缀使用。(特权同学,版权所有)

●  对于低电平有效的消耗,通常加后缀“_n”表示。(特权同学,版权所有)

●  在同一个设计中,尽可能的统一大小写的书写规范。(很多规范里对命名的大小写书写格式有要求,但是笔者这里不做详细规定,大家可以根据自己的需要设定。)

(2)    格式

         这里的格式主要是指每个代码功能块之间、关键词、名称或操作符之间的间距(行间距、字符间距)规范。得体的代码格式不仅看起来美观大方,而且便于阅读和调试。关于格式,可能不同的公司也都有相关的规范要求,笔者在此建议大家尽量遵循以下一些原则:

●  每个功能块(如verilog的always逻辑、VHDL的process逻辑)之间尽量用一行或数行空格进行隔离。(特权同学,版权所有)

●  一个语法语句一行,不要在同一行写多个语法语句。(特权同学,版权所有)

●  单行代码不宜过长,所有代码行长度尽量控制在一个适当的便于查看的范围。(特权同学,版权所有)

●  同层次的语法尽量对齐,使用Tab键(通常一个Tab对应四个字符宽度)进行缩进。(特权同学,版权所有)

●  行尾不要有多余的空格。(特权同学,版权所有)

●  关键词、各类名称或变量、操作符相互间都尽量保留一个空格以作隔离。(特权同学,版权所有)

(3)    注释

         Verilog的注释有“/* */”以及“//”两种方式。“/*”左侧和“*/”右侧之间的部分为注释内容,此注释可以用在行前、行间、行末或多行中;“//”后面的内容为注释,该注释只可用在行末(当然了,它也可以顶个,那么意味着整行都是注释)。(特权同学,版权所有)

         VHDL的注释只有“--”一种。类似verilog的“//”,“--”后面的内容为注释,该注释只可用在行末。(特权同学,版权所有)

         注释的摆放和写法通常也有讲究,几个要点归纳如下:

●  每个独立的功能模块都要有简单的功能描述,对输入输出信号功能进行描述。(特权同学,版权所有)

●  无论习惯在代码末注释还是代码上面注释,同一个模块或工程中尽量保持一致。(特权同学,版权所有)

●  注释内容简明扼要,不要过于冗长或写废话(例如:add = add+1;          //add自增)。(特权同学,版权所有)


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top