- 26
- 0
- 约3.57千字
- 约 6页
- 2017-06-07 发布于重庆
- 举报
VHDL编程规范
华为VHDL编程规范
(2010-10-18 13:30:09)
转载
标签:
编程
规范
杂谈 分类: 1.标识符 (Identifiers)命名习惯标识符用于定义实体名 结构体名 信号和变量名等 选择有意义的命名对设计是十分重要的命名包含信号或变量诸如出处有效状态等基本含义 下面给出一些命名的规则 包括
VHDL语言的保留字
2.标识符定义命名规定
标识符第一个字符必须是字母 最后一个字符不能是下划线 不许出现连续两个下划线
基本标识符只能由字母 数字和 下划线组成
标识符两词之间须用下划线连接
标识符不得与保留字同名
3. 标识符大小写规定
对常量 数据类型 实体名和结构体名采用全部大写
对变量采用小写
对信号采用第一个词首字符大写
保留字一律小写
建议用有意义而有效的名字 能简单包含该信号的全部或部分信息 如输入输出信息
Data_in 总线数据输入 Din 单根数据线输入 FIFO_out FIFO数据总线输出 如
宽度信息 Cnt8_q 8位计数器输出信号的命名
变量主要用在高层次的模拟模型建模及用于运算的用途 但变量的综合较难定义 对于编写
可综合的VHDL模块 在没有把握综合结果情况下建议不使用
在VHDL中 信号(signal)代表硬件连线 因此可以是逻辑门的输入输出 同时 信号也可表达
存贮元件的状态 端口也是信号
在进程 process 中 信号是在进程结束时被赋值 因此 在一个进程中 当一个信号被多
个信号所赋值时 只有最后一个赋值语句起作用
1. 实体 结构体使用规定
library IEEE use IEEE.std_logic_1164.all 除IEEE大写外 其余小写
实体名和结构体名必须用大写标识 实体名必须与文件名同名 自定义的其他标识符如信号
名 变量名 标号等不得与实体名 结构体名同名
实体端口数据模式不准使用buffer 模式
需要反馈的信号可定义内部信号来解决 如计数器端口Count 可内部定义
信号 signal Cnt8_q STD_LOGIC_VECTOR(7 downto 0)
实体端口数据类型规定
实体端口的数据类型采用IEEE std_logic_1164 标准支持的和提供的最适合于综合的数据类型STD_ULOGIC STD_LOGIC和这些类型的数组 不采用IEEE 1076 /93 标准支持和提供的BIT BIT数组 INTEGER及其派生类型 这是为保证模拟模型和综合模型的一致性及减少转换时间和错误
代码书写要有层次即层层缩进格式 清晰 美观
要有必要的注释 25%
实体开始处应注明文件名 功能描述 引用模块 设计者 设计时间及版权信息等
如
-- Filename ﹕
-- Author ﹕
-- Description ﹕
library IEEE;
use IEEE.std_logic_1164.all;
entity ENTITY_NAME
port(
Port1 : in STD_LOGIC;
Port2 : in STD_LOGIC;
Port3 : out STD_LOGIC;
..
Portn : out STD_LOGIC
);
end ENTITY_NAME ;
architecture BEHAVIOR of ENTITY_NAME is
begin
Statements;
end BEHAVIOR ;
实体名的命名建议能大致反映该实体的功能如 COUNTER8 8位宽的计数器模块
DECODER38 3-8线译码器模块
一个实体可以有多个结构体 对单个结构体的实体 文件要包含结构体和实体说明 便于查
阅 对多个结构体的实体 建议把常用的结构体放在文件中 其余结构体用单独文件表示 使
用时用configuration 语句进行配置
2. VHDL各语句使用规定
with-select-when 语句书写规范规定
with- select - when 语句提供选择信号赋值 是根据选定信号的值对信号赋值 代码的书写规范为
with S select
X = A when 00,
B when 01,
C when 10,
D when others;
when_else 语句书写规范规定
when_else 语句提供为条件信号赋值 即一个信号根据条件被赋一值 代码书写规范为
Signal_
您可能关注的文档
- DCI11零部件包装要求33-38页.doc
- VC++手动添加命令消息处理函数实例操作.docx
- VC6-02-4-表23编译错误信息.doc
- Dcpogoa期货每天总结报告.doc
- VC600四轴加工中心故障解剖.doc
- VC60及安装方法.doc
- VCATS现代汽车上越来越多地采用各种模块控制元件.docx
- VCDDVD硬碟的帧率制式分辨率.doc
- VCD机保养须“六防.doc
- VCC500ChineseManual.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)