EDA第2章硬件描述语言VHDL.ppt
《EDA第2章硬件描述语言VHDL.ppt》由会员分享,可在线阅读,更多相关《EDA第2章硬件描述语言VHDL.ppt(73页珍藏版)》请在三一办公上搜索。
1、第2章 硬件描述语言VHDL,用来实现硬件电路结构的描述语言称为硬件描述语言(Hardware Describe Language,HDL)。它是一种人工语言,主要用于从多种抽像层次上进行数字系统的建模。,2.1VHDL简介,VHDL的发展及特点传统设计与VHDL设计对照,VHDL的发展及特点,VHDL的英文全名是(Very High Speed Integrated Circuit,VHSIC)Hardware Description Language,VHDL是20世纪80年代中期,由美国国防部资助的VHSIC项目开发的产品。,1VHDL的发展,2VHDL的主要特点,(1)功能强大,灵活性
2、高(2)器件无关性(3)可移植性(4)自顶向下的设计方法(5)数据类型丰富(6)建模方便(7)运行库和程序包丰富,传统设计与VHDL设计对照,传统硬件设计方法有如下几个特征。(1)采用自下而上的设计方法(2)采用通用逻辑元器件(3)在系统硬件设计的后期进行调试和仿真(4)设计结果是一张电路原理图,1传统硬件设计方法,2使用VHDL的硬件设计方法,(1)支持自顶向下的设计方法,所谓自顶向下的设计方法就是从系统的总体要求出发,自顶向下分3个层次对系统硬件进行设计。第1个层次是行为描述。第2个层次是数据流描述。第3个层次为逻辑综合。,(2)采用大量的ASIC芯片(3)早期仿真,以确定系统的可行性(4
3、)设计更容易(5)只需写出系统的HDL源程序文件,在进行较复杂可编程逻辑电路设计时,通常建议采用原理图和VHDL结合的方法来设计。,2.2VHDL程序的基本结构,VHDL程序的基本单元与构成实体结构体库、程序包和配置,图2.1 VHDL程序结构示意图,VHDL程序的基本单元与构成,VHDL中的所有设计均与实体有关,实体是设计中最基本的模块。设计的最顶层是顶层实体。如果设计分层次,那么在顶级实体中将包含较低级别的实体。实体中定义了该设计所需的输入/输出信号、信号的输入/输出类型(即端口模式),同时,实体中还定义他们的数据类型。,实体,实体的格式如下:entity is port end;,图2.
4、2实体所对应的符号,每个端口必须进行如下定义:端口信号名、端口模式及端口数据类型。,图2.3端口模式示意图,所有能被仿真的实体都由一个结构体描述,结构体描述实体的行为功能,即设计的功能。,结构体,图2.4 结构体构成示意图,结构体的一般格式如下:architecture of is-结构体声明区域-声明结构体所用的内部信号及数据类型-如果使用元件例化,则在此声明所用的元件begin-以下开始结构体,用于描述设计的功能-concurrent signal assignments并行语句信号赋值-processes 进程(顺序语句描述设计)-component instantiations 元件例
5、化end;,库、程序包和配置,程序包定义了一组数据类型说明、常量说明、元件说明和子程序说明,以供其他多个设计实体引用。,1程序包,-包头说明package logic is type three_level_logic is(0,l,z);constant unknown_value:three_level_logic:=0;function invert(input:three_level_logic)return three_level_logic;end logic;-包体说明package body logic is-如下是函数invert的子程序体:function invert(i
6、nput:three_level_logic)return three_level_logic;begin case input is when 0=return 1;when 1=return 0;when z=return z;end case;end invert;end logic;,2库,库是专门存放预先编译好的程序包的地方,这样这些程序包就可以在其他设计中被调用。在VHDL中,可以存在多个不同的库,但是库与库之间是独立的,不能相互嵌套。目前VHDL中使用的库有STD库、IEEE库、Work库、ASIC的Vital库和用户定义库。,表2.1IEEE库及程序包说明,3配置,一个实体可用
7、多个结构体描述,在具体综合时选择哪一个结构体来综合,则由配置来确定。,图2.5一个设计实体的配置,2.3VHDL的语法要素,VHDL的文字规则VHDL的数据对象VHDL的数据类型运算操作符,VHDL的文字规则,标识符是描述VHDL中端口、信号、常数、变量以及函数等名称的字符串。,1标识符,VHDL87标识符书写规则如下。使用的字符:26个英文字母,数字09以及下划线。标识符必须以英文字母开始。下划线的前后必须是英文字母。VHDL中用于标识符的英文字母不区分大小写。标识符中不能有空格。标识符不能与VHDL的关键字重名。,VHDL93标识符基本部分的定义规则与VHDL87标准的相同,但除了基本部分
8、的定义外,VHDL93标准还支持扩展标识符。,2数字,(1)整数文字 整数文字都是十进制的数。(2)实数文字 实数文字也是十进制的数,但必须带有小数点。,(3)以数制基数表示的文字,用这种方式表示的数字由5个部分组成。十进制数标明数制进位的基数。数制隔离符号“#”。表达的文字(实际要表达的具体数字)。指数隔离符号“#”。用十进制表示的指数部分,如果这一部分为0,则可以略去。,3字符串,(1)字符 字符是用单引号括起来的ASCII字符,可以是数值,也可以是符号或字母(2)文字字符串 文字字符串是用双引号括起来的一串文字(3)数字字符串 数字字符串称为矢量,分别代表二进制、八进制、十六进制的数组。
9、,VHDL语言常用的数据对象为常量(Constant)、信号(Signal)、变量(Variable)。,VHDL的数据对象,1常量,常量在设计描述中保持某一规定类型的特定值不变。,2信号,信号用于声明内部信号,而非外部信号(外部信号对应为in,out,inout,buffer),它在元件之间起互连作用,可以赋值给外部信号。,3变量,变量只在给定的进程中用于声明局部值或用于子程序中。,表2.2VHDL语言数据对象定义位置和作用范围,4信号与变量的区别,说明的位置不同 赋值符号不同 赋值后的结果不同 信号在整个结构体内有效,变量只在定义的进程或子程序内有效。,表2.3信号与变量赋值语句功能比较,
10、VHDL的数据类型,VHDL本身标准(VHDL预定义)的数据类型有10种。它们都是在VHDL标准程序包Standard中定义的。,1标准的数据类型,(1)整数(2)实数(3)位(4)位矢量(5)布尔量(6)字符(7)字符串(8)时间(9)错误等级(10)自然数和正整数,2std_logic和std_logic_vector类型(IEEE预定义)3用户自定义的数据类型,(1)type语句用法 type语句的语法结构如下:type 数据类型名 is 数据类型定义 of基本数据类型;或type 数据类型名 is 数据类型定义;,(2)subtype语句用法,subtype语句的语法格式如下:subt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 硬件 描述 语言 VHDL

链接地址:https://www.31ppt.com/p-6504919.html