注释语句是每种语言编程必不可少的要素。好的注释语句可以帮助程序设计者有效组织程序架构,提醒设计者快速浏览和回顾该段程序的设计意图和程序中的注意事项。同时也为别的工程师提供快速理解代码的手段。
1. VHDL语言注释格式
在VHDL语言中,用连续的短横杠组成了VHDL的注释符号“–”,凡是写在这之后的并且与注释符号同在一行的任何字符,在VHDL编译时都会被自动忽略,即成为注释。如:
signal a : std_logic;
signal nc : std_logic;
signal b : std_logic;
nc <= not a; – – this is a “not” operater
– – b<=nc ;
其中 this is a “not” operater跟在双短线–之后为注释语句,在综合和仿真时自动忽略,注释语句只起到提高程序阅读性效果。
– – b<=nc ; 该句也是注释语句,虽然在VHDL语言中,b <=nc;是符合语法格式的语句,但由于跟在双短线之后,该一句变成了注释语句。
也可以整行注释,如:
– – this is a not operater ,
nc2 <= not c;
VHDL只有“- -”这一种注释语法,并且这种注释语法是单行有效的。如果需要连续注释只能每行使用双短线组成,这点与C语言注释语句或Verilog语言的注释语句不同。
– – this is a not operater
— not is a keyword for inverse operation
由此可见,只能使用每行添加双短线的方式完成VHDL的多行语句的注释。因此,如果纯手工的来添加或解除大量VHDL的注释,将会是一件枯燥而繁琐的事。不过,目前大部分支持VHDL的工具软件都支持自动注释添加功能,即通过选中需要添加注释的若干行,然后点击类似“添加注释”的按钮,即可一次性完成多行的注释添加;同样道理,如果同时选中若干行注释,然后点击类似“解除注释”的按钮,就可一次性完成多行注释的解除,十分方便。Vivado text编辑器多行注释的操作如图1,图2所示:
图1 Vivado多行注释(Toggle line Comments)
操作后的结果如图2所示,
图2
不过需要注意的是,自动添加或解除注释,只能用在行首进行注释的情况,不适用在一行中间部分添加的注释语句。
nc <= not c; – – this comment can not automatically added or removed!
文件头:
一般好的习惯在每个工程文件的开头由注释语句组成一段说明(或声明)文件,指明文件创建日期,修改日期,作者,版权,及该文件简短说明等。工程师在编写文件时要保持一个良好的习惯,为以后代码维护和版权维护带来方便。
Xilinx 推荐的格式如下:
--//////////////////////////////////////////////////////////////////////////////// -- Company: <Company Name> -- Engineer: <Engineer Name> -- -- Create Date: <date> 创建时间 -- Design Name: <name_of_top-level_design> 设计名称 -- Module Name: <name_of_this_module> 本模块名称 -- Target Device: <target device> 使用的目标器件 -- Tool versions: <tool_versions> 开发工具的版本号 -- Description: 描述 -- <Description here> -- Dependencies: 依赖 -- <Dependencies here> -- Revision: 修订版 -- <Code_revision_information> -- Additional Comments: -- <Additional comments> --//////////////////////////////////////////////////////////////////////////////// --//////////////////////////////////////////////////////////////////////////////// -- 公司: Fraser Innovation Inc. -- 工程师:庄乾起 -- 创建日期:2021 年 2月18 -- 设计名称: 注释 -- 模块名: -- 目标器件: cyclone 10lp -- 工具软件版本号: Quartus II 20.3 -- 描述: -- <Description here> -- 依赖文件: -- <Dependencies here> -- 修订版本: -- rev1.1 -- 额外注释: -- 待定 --//////////////////////////////////////////////////////////////////////////////
好的文件头对于版权维护,版本维护都起到良好的作用。
新版本VHDL-2008支持块注释方式(block comments), 可以使用/* …*/ 注释一段内容,
a good start