- 1、本文档共216页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 VHDL硬件描述语言;2.1 VHDL简介;硬件描述语言(Hardware Description Language,HDL):
即可以描述硬件电路的功能、信号连接关系及定时关系的一种语言。目前, VHDL和Verilog已先后成为IEEE标准硬件描述语言。
硬件描述语言(HDL)的特点:
可以借鉴高级编程语言的功能特性对硬件电路的行为和结构进行高度抽象化和规范化的描述;同时,还可以对硬件电路的设计进行不同层次、不同领域的模拟验证和综合优化等处理,从而使硬件电路的设计达到高度自动化。;HDL语言的种类; 硬件描述语言 VHDL :
VHDL 的英文全名是VHSIC (Very High Speed Integrated Circuits) Hardware Description Language ,即超高速集成电路硬件描述语言。于1983年由美国国防部提出,由IEEE进一步发展,并在1987年12月作为IEEE-STD-1076 标准发布, 1993年被更新为IEEE-STD-1164 标准,目前已被广泛应用。
1995年 我国技术监督局制定的《CAD通用技术规范》推荐VHDL作为我国电子设计自动化硬件描述语言的国家标准。至此,VHDL在我国迅速普及,现在已成为从事硬件电路设计开发人员所必须掌握 的一门 技术。;BLM
Menter Graphics公司是一家著名的EAD工具开发公司,它的EDA设计工具在综合、仿真、验证等方面都有独到之处。Menter公司的硬件描述语言BLM由PASCAL语言发展而来。BLM硬件描述语言还未成为IEEE标准。
AHDL语言具有C语言设计风格,好学好用,再加上ALTERA公司的大力推广,使它得到了众多用户的使用。
只有VHDL语言和Verilog-HDL语言成为IEEE 标准语言。;2.2 VHDL语法基础;标识符规则是VHDL语言中符号书写的一般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的书写规范,使之在综合仿真过程中不生产生歧义,易于仿真。
VHDL语言有两个标准版:VHDL’87版和VHDL’93版。VHDL’87版的标识符语法规则经过扩展后,形成了VHDL’93版的标识符语法规则。前一部分称为短标识符,扩展部分称为扩展标识符。VHDL’93版含有短标识符和扩展标识符两部分。;短标识符规则:
短标识符由字母、数字以及下划线字符组成,且具有以下特征要求:
● 第一个字符必须是字母;
● 最后一个字符不能是下划线;
● 不允许连续两个下划线;
● 在标识符中大、小写字母是等效的。
● VHDL中的注释文字一律为2个连续的连接线“--”,可以出现在任一语句后面,也可以出现在独立行;
● VHDL的保留字(关键字)不能用于标识符;;如下标识符是非法的:
_ tx_clk
8B10B
large#number
link_ _bar
select
rx_clk_;扩展标识符规则:
扩展标识符是VHDL’93版增加的标识符书写规则:
(1) 扩展标识符用反斜杠来定界。例如:\multi_screens\, \eda_centrol\等都是合法的扩展标识符。
(2) 允许包含图形符号、空格符。例如:\mode A, \$100\, \p%name\等。
(3) 反斜杠之间的字符可以用保留字。例如: \buffer\, \entity\, \end\等。
(4) 扩展标识符的界定符两个斜杠之间可以用数字打头。如:
\100$\, \2chip\, \4screens\等。
(5) 扩展标识符中允许多个下划线相连。例如: \Four_screens\, \TWO_Computer_sharptor\等。
(6) 扩展标识符区分大小写。例如: \EDA\ 与\eda\不同。
(7) 扩展标识符与短标识符不同。例如:\COMPUTER\ 与Computer不同。 ;十进制数书写的规范格式为:
十进制文字: := 整数[整数][指数]
整数: := 数字或下划线连接的数字
指数: := E[+]整数或E[-]整数
整数举例:089,0,456-78,2e8,5e3。
实数举例:,,,-3,+5。 ;用“基”表示数字的规范书定格式为:
被表示的数: := 基#基于基的整数[.基于基的整数]#指数
基为2~16之间的十进制正整数。#号为定界符,基为10时可省略定界符和基。
基于基的整数: := 扩展数字{[下划线]扩展数字}
扩展数字: := 数字/字母
文档评论(0)