- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章VHDL语言基础
主讲人 曾繁泰 山东大学 VHDL程序设计教程 主讲人 曾繁泰 VHDL硬件描述语言 电子科学与技术系 程鸿亮 第1章 VHDL语言基础 1.1 概述 硬件描述语言(Hardware Description Language,HDL),顾名思义,是电子系统硬件行为描述、结构描述、数据流描述的语言。利用硬件描述语言可以进行数字电子系统的设计 概述 可编程器件设计中的HDL 主要的硬件描述语言 美国国防部电子系统项目有众多的承包公司。由于各公司技术路线不一致,许多产品不兼容,他们使用各自的设计语言,造成了信息交换困难和维护困难。国防部为他们的超高速集成电路提供一种硬件描述语言,要求各公司的合同都用它来描述,以避免产生歧义。 VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language即超高速集成电路硬件描述语言。 主要的硬件描述语言 Candence公司是一家著名的EDA公司该公司的Verilog HDL于1983年由Gate Way Design Automatic公司的Phil Moorby首创。他在1984~1985年间成功设计了Verilog-XL仿真器,于1986年提出了快速门级仿真的XL算法,使Verilog HDL语言变得更加丰富和完善,从而受到了EDA工具设计公司的青睐。1989年Candence公司购买了GDA公司,Verilog HDL语言从此变为Candece公司的“财产”,成为该公司的EDA设计环境上的硬件描述语言。经过该公司的努力,Verilog HDL于1995年成为IEEE标准,即Verilog HDL 1364-1995。 开发环境(硬件) 开发环境(软件) 1.2 VHDL程序结构 VHDL程序包含实体(Entity)、结构体(Architecture) 2个部分。 实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成。 实体说明用于描述设计系统的外部接口信号; 结构体用于描述系统的行为、系统数据的流程或者系统组织结构形式。 库 库用于存放已编译的实体、构造体、包集合、配置。库有两种: 一种是用户自行生成的IP库,有些集成电路设计中心开发了大量的工程软件,有不少好的设计范例,可以重复引用,所以用户自行建库是专业EDA公司的重要任务之一。 另一种是PLD,ASIC芯片制造商提供的库。比如常用的74系列芯片,RAM,ROM控制器,Counter计数器等标准模块。 包 包集合存放各设计模块能共享的数据类型、常数、子程序等。 配置 配置用于从库中选取所需单元来组成系统设计的不同规格的不同版本,使被设计系统的功能发生变化。 1.3 VHDL程序的实体 设计实体是VHDL程序的基本单元,是最重要的电子系统抽象。 它可以代表整个电子系统、 一块电路板或一枚芯片, 简单的可以是一个与门电路(AND Gate), 复杂的可以是一个微处理器或一个数字电子系统。 一个实体由实体说明和结构体说明两部分组成。 例1-1 计数器程序结构 LIBRARY IEEE; USE ieee.std_logic_1164.all; ENTITY entity_name IS PORT ( data_input_name : IN INTEGER RANGE 0 TO count_value; clk_input_name : IN STD_LOGIC; clm_input_name : IN STD_LOGIC; ena_input_name : IN STD_LOGIC; count_output_name:OUT INTEGER RANGE 0 TO Count_value); END entity_name; 实体的组成 实体的组织由实体名、类属表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式为: ENTITY 实体名 IS [GENERIC(类属表);] [PORT(端口表);] 实体说明部分; [BEGIN 实体语句部分;] END [ENTITY] [实体名]; 例1-2 8位加法器的实体 ENTITY add8 IS PORT(b: in std_logic_vector(7 downto 0); a: in std_logic_vector(7 downto 0); Ci: in std_logic; Sum: out std_logic_vector(7 downto 0); Co: out
文档评论(0)