- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[华为VHDL编程规范
华为VHDL编程规范
(2010-10-18 13:30:09)
转载
标签:
vhdl 编程 规范 杂谈 分类: FPGA 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 语句提供为条件信号赋值 即一个信号根据条件被赋一值 代
文档评论(0)