1、目的
本规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结果,指导设计工程师使用VHDL规范代码和优化电路,规范化公司的
ASIC/
FPGA设计输入,从而做到∶
①逻辑功能正确
②可快速仿真
③综合结果最优
④可读性较好
2、范围
本规范涉及VHDL编码风格、规定,编码中应注意的问题,VHDL代码书写范例等。本规范适用于所有的采用VHDL代码进行设计的项目。
3、定义
VHDL∶Very high speed IC Hardware Description Language,甚高速
集成电路的硬件描述语言FSM∶Finite Status Machine,有限状态机
SIMulate∶仿真,通过输入激励在计算机上验证设计是否正确。包括RTL仿真和门级仿真。模拟;是指对一个物理器件的结构、功能或其他特性如延时特性等用抽象的语言或高级语言(如用
C语言进行算法描述)所进行的建模。
4、引用标准和参考资料
下列标准包含的条文,通过在本标准中引用而构成本标准的条文。在标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的 各方应探讨使用下列标准最新版本的可能性。
5、规范内容
以下内容中,有关的保留字用黑体标识。对不作为审核的内容用"建议"字眼标识。
5.1VHDL编码风格
本章节中提到的VHDL编码规则和建议适应于 VHDL的任何一级(RTL,behavioral,,gate_level,也适用于出于仿真,综合或二者结合的目的而设计的
模块
5.1.1标识符(Identifiers)命名习惯
标识符用于定义实体名、结构体名、
信号和变量名等,选择有意义的命名对设计是十分重要的。命名包含信号或变量诸如出处、有效状态等基本含义,下面给出一些命名的规则,包括VHDL语言的保留字。
5.1.1.1标识符定义命名规定
● 标识符第一个字符必须是字母,最后一个字符不能是下划线,不许出现连续两个下划线。
● 基本标识符只能由字母、数字和下划线组成。
● 标识符两词之间须用下划线连接。如∶Packet addr, Data_in, Memwr,Mem_ce
● 标识符不得与保留字同名,VHDL保留字见附录6.1。
5.1.1.2标识符大小写规定
● 对常量、数据类型、实体名和结构体名采用全部大写;“对变量采用小写;
● 对信号采用第一个词首字符大写。· 保留字一律小写。
5.1.1.3信号名连贯缩写的规定
长的名字对书写和记忆会带来不便,甚至带来错误。采用缩写时应注意同一信号在模块中的一致性。一致性的缩写习惯有利于文件的阅读理解和交流。
部分缩写的统一规定为∶
5.1.1.4信号名缩写的大小写规定
● 单词的缩写若是信号名的第一个单词则首字符大写,如∶Addr in中的Addr。若该单词缩写不是第一个单词则小写,如∶ Addr en中的en。
● 多个单词的首字符缩写都大写,不管该缩写在标识符的什么位置,如∶RAM addr,Rd_
CPU_en。
5.1.2数据对象和类型
5.1.2.1类型使用规定
● VHDL是很强的类型语言,可综合的数据类型为标量类型(包含可枚举类型、整型、浮点型、物理类型)和组合类型(包含记录、数组),模拟模型的数据类型为存取类型、文件型。可综合的VHDL代码的编写不采用模拟类型、浮点型、物理类型。
● 不同基本类型的数据不能由另一类型赋值,不同类型间的赋值需使用运算符的重载。如∶Cnt8_q为STDLOGIC_VECTOR类型,若不对+'运算符重载,则Cnt8_q<=Cnt8_q+1语句在综合中将出错。可通过对+运算符进行重载即使用use IEEE.std logic arith.all语句,则上句赋值语句是正确的。
● 常量名和数据类型必须用大写标识符表示。
更多详细内容请下载附件查看