欢迎来到天天文库
浏览记录
ID:27683972
大小:181.28 KB
页数:12页
时间:2018-12-05
《vhdl代码书写规范》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VHDL代码书写规范(定稿)文件编号:编制:审核:可靠性审核:标准化:批准:文件会苍瓦文件历史记录文件编号现行版本V1.0文件标题VHDL代码书写规范文件履历版次编制日期更改内容(条款)V1.0V1.01.閥12.范围13.似吾測14.搁夫臟14.1命名规范1R1.—个文件只包含一个模块,文件命名和实体命名必须相同。文件名大写,K后缀小写。1K2.顶层文件命名方式使用工程名、器件型号与_TOP结合。顶层文件的元件实例化,后缀使用jnodule;第二层文件的元件实例化,后缀使用_block;第三层之后不做定义(若遇到常见的®本逻辑电路或子模块,如:SRAM、F
2、IFO等,那么优先使用具有代表性的名称)1R3.代码编写之前,以文档的方式,根据功能分类,分别对FPGA的外部端口进行命名约定。2R4.命名要有实际意义。2R5.命名标识符的首字符必须是字母,包含多个单词的标志符单词之间使用下划线分开。信号、变量等的命名最后字符也一定要求是字母,屮间的可以是数字或者其他合法符号。2R6.模块、信号、变量等的命名不大于64个字符2R7.实体、结构名、端口信号、常量用大写标识2R8.行为级、结构级和数据流级结构命名分別以“BEH_实体名”、“STR_实体名”和“1^1_实体名”区分。如果是混合使用,或者是分不清使用了那一种结构,
3、那么就是用1队_实体名”命名。3R9.单口RAM模块命名以SPRAM作后缀;双口RAM模块命名以DPRAM作后缀;ROM模块命名以ROM作后缀;FIFO模块命名以FIFOjt后缀;数字时钟笆理模块命名以DCM作后缀;锁相环模块命名以PLL作后缀;乘法模块命名以MULT作后缀;除法模块命名以DIV作后綴;加法模块命名以ADD作后缀;减法模块命名以SUB作后缀3K10.模块实例化时,采用‘如_乂*_元件名’标识,cell实例化时使用件名’标识。3R11.模块内部定义的信号、变量采用首字母大写命名。首字母符合说明的要求。3R12.非顶层模块端口信号命名方式采用I_
4、portname、0_portname和IO_portnamc分别对应输入、输出和双向端□信号。3R13.时钟信号必须用后缀“_clk”进行命名。3R14.对于微处理器接口的寄存器,必须包含reg标志。用下划线分开该寄存器功能特征。4R15.对于输入管脚时钟采样同步的信号命名要求后缀加“_buf”表示。多次采样加数字区分。4R16.—些常用的基木信号按说明统一后缀命名。4R17.多比特信号,应该使用相同的比特顺序,都采用downto描述。5R18.VHDL的保留字用小写。5R19.调用IEEE标准库时,“IEEE”用大写,其它用小写。54.2注释规范5R20
5、.每个VHDL源文件应该在文件头注释文件的基木信息。5R21.每个信号、变量、常量和端口的定义都要有注释。5R22.每个进程使用“”隔开。如果一个功能模块由几个进程组成,使用”--*****”隔开。...5R23.对于内部表,注释说明表的组成、表的内容及作用。64.3其它书写规范6R24.用缩进方式使得代码有层次感,缩进不要使用TAB键,缩进为4个空格。6R25.每行字符数,最大不能超过120。6R26.模块端U每行定义一个。先根据端U功能进行区分,然后再根据输入输出方向进行区分,类间用空行分开。6R27.调用模块使用“=〉”方式进行端口映射,总线到总线映射
6、吋(xdowntoy)要写全。6R28.调用模块进行端口映射时,一行代码只映射一个信号。顺序必须与原模块保持一致6K29功能集中或有很强的相关性的变量信号声明放在一起,类间用空行或注释分开。6R30.端U、信号、变量定义需要对齐;模块实例化时,端U映射需要对齐。6R31.运算符与信号之间必须有空格分开71.目的规范VHDL的书写风格,保证代码的可读性、可重用性和可移植性,并且要与现有的EDA工具保持一致,从而形成对VHDL代码的标准化管理。本标准规定丫VHDL代码书写规范。本标准适用于G-LINK公司研发屮心。3.术语说明木规范使用的术语解释如下:级别:指该
7、规则遵循的级别,奋两个级别,分别为推荐和规定。推荐:表示在一般情况下必须遵循该规则。规定:表示必须严格遵守该规则。说明:对此规则或准则的必要的解释。示例:对此规则举例进行说明,示例分为正例和反例。正例:对此规则或准则给出的正确示例。反例:对此规则或准则给出的反面示例。4.书写规范4.1命名规范R1.—个文件只包含一个模块,文件命名和实体命名必须相同。文件名大写,其后缀小写。级别:规定说明:文件类型为.vhd。如果文件名与实体名不一致,有些编译器不能识别,而且名字不一致,也不利于将文件与模块对应,不利于文件的管理。正例:文件名是SER_TSP.vhd,那么文件
8、内部实体的命名就是entitySER_TSPispo
此文档下载收益归作者所有