VHDL第1讲盛建伦老师.ppt
《VHDL第1讲盛建伦老师.ppt》由会员分享,可在线阅读,更多相关《VHDL第1讲盛建伦老师.ppt(68页珍藏版)》请在三一办公上搜索。
1、盛建伦,1,数 字 逻 辑,Digital Logic,青岛理工大学,广义双语教学课程,盛建伦,2,习题参考答案,1-24,(5),盛建伦,3,习题参考答案,1-13,(2),(3),1-15,(1),(2),盛建伦,4,硬件描述语言VHDL基础,第3章,Very High speed Integrated Circuit Hardware Description Language,VHDL(非常高速集成电路硬件描述语言)是由美国国防部支持的一项研究计划,于1983年创建,目的是以文字化方法描述电子电路与系统。1987年,VHDL成为IEEE标准,即IEEE1076标准,1993年修改为IEE
2、E1164标准,1996年,IEEE又将电路合成的标准程序与规格加入到VHDL语言中,称为1076.3标准。之后,又有1076.4标准和1076.6标准。,盛建伦,5,VHDL程序设计基本结构,VHDL用语言的方式而非图形等方式描述硬件电路,容易修改,容易保存。特别适合于设计组合逻辑电路和状态机:译码器、编码器、加法器、多路选择器、地址译码器、.,盛建伦,6,VHDL程序基本结构,VHDL程序通常包含实体(Entity),结构体(Architecture),配置(Configuration),包集合(Package),和库(Library)五部分。,库是专门存放预编译程序包的地方。,其中实体用
3、于描述所设计的系统的外部接口信号;,配置语句安装具体元件到实体结构体对,可以被看作是设计的零件清单;,结构体用于描述系统内部的结构和行为;建立输入和输出之间的关系;,包集合存放各个设计模块共享的数据类型、常数和子程序等;,盛建伦,7,VHDL主要用于描述设计系统的结构、行为、功能和接口。,器件 或子系统 ARCHITECTURE Process Process Sequential Process Combinational Process component Ports,它将一个设计(元件、电路、系统)分为:,外部(可视部分、端口),内部(不可视部分、内部功能、算法)。,Very High
4、speed Integrated Circuit Hardware Description Language,盛建伦,8,一、信号(signal)的含义和信号的两种最常用类型:std_logic 和 std_logic_vector,VHDL入门需掌握的基本知识,二、四种常用语句的基本用法赋值语句、if语句、case语句 和 process语句,三、实体(entity)、结构体(architecture)以及 一个实体和一个结构体组成的设计实体。,四、层次结构的设计 掌握元件(component)语句和端口映射(port map)语句。,五、库(library)和程序包(package)的基本
5、使用。,有了以上入门知识,就能做一般的设计了。,盛建伦,9,库(library)和程序包(package),库(Library)用于存放预先编译好的程序包(Package),,作用:,程序包中定义了数据集合体、逻辑操作和元件等。主要是声明在设计或实体中将用到的常数,数据类型,元件及子程序等。,任何一种设计都要充分利用前人已有的成果,公用的资源要尽可能使用;自己已经设计好的资源也要尽量利用起来,程序包(package)和库(library)就是一些可以公用的资源,是设计实体的一个重要组成部分。,盛建伦,10,库(library),设计库对当前设计是可见的,默认的,无需用library子句和use
6、子句说明的库。,VHDL语言的库分为两种,一种是设计库,一种是资源库。,库是用来放置可编译的设计单元的地方。VHDL中的常用库有:STD库、WORK库、IEEE库和用户定义库。,Std 和 work 这两个库是设计库。,盛建伦,11,VHDL的标准库。库中存放有称为“standard”的标准包集合,其中定义了多种常用的数据类型,均不加说明可直接引用。,库(library),STD库,常用的资源库。IEEE库包含经过IEEE正式认可的STD_LOGIC_1164包集合和某些公司提供的一些包集合,如STD_LOGIC_ARITH(算术运算库)、STD_LOGIC_UNSIGNED等。,WORK库是
7、现行作业库。设计者所描述的VHDL语句不需要任何说明,都将存放在WORK库中。WORK库对所有设计都是隐含的,因此在使用该库时无需进行任何说明。,IEEE库,WORK库,盛建伦,12,库(library),用户定义库,用户定义库简称用户库,是由用户自己创建并定义的库。,除了IEEE标准资源库外,各可编程器件厂家的EDA软件提供自己独特的资源程序包。由于这些程序包是为它们制造的器件服务的,往往更有针对性。,设计者可以把自己经常使用的非标准(一般是自己开发的)包集合和实体等汇集在一起定义成一个库,作为对VHDL标准库的补充。,用户定义库在使用时同样要首先进行说明。,Qartus 中提供了一个LPM
8、库,库中有许多称之为 MegaFunctions的功能强大的函数。,盛建伦,13,库(library),除了STD库和WORK库之外的其它库均为资源库。,使用资源库中的元件和函数之前,需要使用library子句和use子句予以说明。,没有说明的库中的元件不能使用。,library子句和use子句总是放在设计实体的最前面(可以放在注释之后)。,如果一个设计实体中使用了某个库中的元件和函数,就要使用相应的library子句和use子句。,library子句的作用是使该库在当前文件中“可见”。,盛建伦,14,library子句说明使用哪个库,它的格式是 library 库名1,库名2,库名n;,库(
9、library),std库和work库是设计库,在任何设计文件中隐含都是“不可见”的,不需要特别说明。也就是说,每一个设计文件中总是隐含下列不可见的行:library std,work;use std.standard.all;,use子句说明使用哪个库中的哪个程序包中的元件或者函数。它的格式是:use 库名.程序包名.all;,这些是不用在程序里写的,盛建伦,15,程序包(package),程序包是一种使包体中的类型、常量、元件和函数对其他模块(文件)是可见、可以调用的设计单元。,程序包是公用的存储区,在程序包内说明的数据,可以被其它设计实体使用。程序包由包头和包体两部分组成。,盛建伦,16
10、,VHDL语言要素,盛建伦,17,VHDL数据对象,数据对象(Data Objects):,凡是可以被赋予一个值的对象称为数据对象,数据对象用于传递信号。,例:,数据对象值的类型,数据对象类型,数据对象名,盛建伦,18,信号和变量,信号(signal),变量(variable),是硬件中物理连线的抽象描述,信号在元件的端口连接元件以及在元件内部各部分之间的连接。,在硬件中没有类似的对应关系,它们主要用于保存中间结果。例如作为数组的下标。,常量代表数字电路中的电源、地、恒定逻辑值等常数。,常量(Constant),盛建伦,19,信号在逻辑电路设计中最常用的数据类型,在VHDL语言中有10种数据类
11、型,但是在逻辑电路设计中最常用的是std_logic和std_logic_vector提供的数据类型。,std_logic类型分为布尔(boolean)型、位(bit)型、位矢量(bit_vector)型。,std_logic有9种状态,常用的是三种状态:,1 高电平0 低电平z高阻,高阻状态是为了双向总线的描述,盛建伦,20,信号说明,一个信号只有经过说明后才能使用。用VHDL语言进行设计就是写一系列语句。信号说明形式如下:,一个语句用分号结束。,Signal clock,T1,T2:std_logic;,Signal 信号名:数据类型:=设定值;,Signal A:Std_logic_ve
12、ctor(3 Down to 0):=“0000”;,例如:,Signal r0,r1,r2,r3:std_logic_vector(15 downto 0);,Signal r0,r1,r2,r3:std_logic_vector(0 upto 15);,设定值,可选项,盛建伦,21,(1)说明位置不同,信号通常在实体、结构体和程序包中说明,变量一般在进程、过程和函数语句中说明;,信号与变量的区别,(2)赋值运算符不同,信号用“=”符号进行赋值,变量用“:=”符号赋值;,(3)延迟不同,信号的赋值存在延迟,变量的赋值是直接的,没有任何延迟时间。,从信号说明看不出一个信号是组合逻辑还是时序逻辑
13、(例如寄存器),这与ABEL语言是不同的。,盛建伦,22,VHDL 操作符,VHDL操作符:,逻辑操作符,算术操作符,符号操作符,关系操作符,盛建伦,23,逻辑运算符,-signal a,b:std_logic;-signal c,d:std_logic_vector(7 downto 0);,有7种逻辑运算符:,NOT、OR、AND、NAND、NOR、XOR、XNOR。,说明:-是注释开始的标志,这些signal语句的存在只是为了说明这些信号的类型,供阅读方便使用。,两个进行逻辑运算的信号,类型必须相同。例如,a and b a or b not a,正确,c and d c xor d n
14、ot c,正确,a and c,错误,常用的为前三种。,盛建伦,24,不等于(a and b)or(c and d),逻辑运算符,例如:,a and b or c and d,等于(a and b)or c)and d,这些逻辑运算符,not优先级最高,其他的优先级相同。因此运算时按由左到右的顺序展开。运算时要注意加括号。,NOT、OR、AND、NAND、NOR、XOR、XNOR。,能进行逻辑运算的数据类型:bit、bit_vector、boolean,std_logic、std_logic_vector,盛建伦,25,Signal a,b,c,d:std_logic_vector(3 dow
15、nto 0);,Signal e,f,g,h:std_logic_vector(1 downto 0);,d=a and b and c;,d=a or b or c;,d=a xnor b xnor c;,h=e nor f nor g;,h=(e nor f)nor g;,d=(e nor f)nor g;,例,盛建伦,26,算术运算符,a+ba+1,常用的算术运算符有:+-,-USE ieee.Std_logic_arith.ALL;-signal a,b:std_logic_vector(15 downto 0);,字符串必须用双引号括起来,字符类型通常用单引号括起来,字符类型区分大小
16、写,,a+01,求和运算符、求积运算符、符号运算符、混合运算符、移位运算符,VHDL中的求和运算符包括加减运算和并置运算,操作数的数据类型为整型。,例,VHDL语句不区分大小写,盛建伦,27,并置运算符&,-signal a,b:std_logic_vector(3 downto 0);-signal c,d:std_logic_vector(2 downto 0);a and(1&c)c&a,并置运算符用于位的连接,形成矢量。也可连接矢量形成更大的矢量。,例如:,盛建伦,28,Signal a:std_logic_vector(4 downto 0);,Signal b:std_logic_
17、vector(2 downto 0);,Signal c:std_logic_vector(1 downto 0);,b c,a=b c,例:,并置运算符&,并置运算符用于位的连接,形成矢量。也可连接矢量形成更大的矢量。,盛建伦,29,关系运算符,=等于/=不等于 大于=大于等于,关系运算符有下列几种:,关系运算的结果为“真”(true)或者“假”(false)。,=、/=在实现硬件电路时比其它的关系运算符对芯片的利用率要高,等于、不等于运算符适用于所有的数据类型,其他的运算符适用于整数、位及矢量等。在进行关系运算时,两边的数据类型必须相同,但位长度可以不同。,盛建伦,30,VHDL顺序语句,
18、顺序语句的特点是,每一条顺序语句的执行顺序是与它们的书写顺序基本一致的。顺序语句只能出现在进程(Process)和子程序中,子程序包括函数(Function)和过程(Procedure)。,顺序语句的种类:,进程语句赋值语句 流程控制语句 等待语句,子程序调用语句 返回语句 空操作语句,盛建伦,31,常用的4种语句,VHDL有许多类型的语句,入门只需掌握4种语句:,赋值语句,if语句,case语句 和 process语句。,盛建伦,32,赋值语句,-signal a,b,c:std_logic;-signal d,e,q:std_logic_vector(3 downto 0);,=是信号赋值
19、符,=左右两边数据类型必须相同,数据长度必须相同。,1、信号赋值语句,由于信号是物理量,因此赋值有延迟时间。如第二个语句就是一个或门,因此,信号d”或“q后到e有延迟时间。,信号赋值语句的语法格式为:目标信号名=表达式(设定值);,c=not(a and b);e=d or q;,盛建伦,33,-variable x,y,z:integer range 0 to 255;x:=0;y:=132;z:=x;,赋值语句,2、变量赋值语句,:=是变量赋值符。:=左右两边的数据类型必须相同。由于变量没有相对应的明确的物理量,因此变量赋值没有时间延迟。,盛建伦,34,3.并行赋值语句,(1)条件赋值语句
20、,格式:,目标信号=表达式1 WHEN 条件1 ELSE,表达式2 WHEN 条件2 ELSE,表达式N-1 WHEN 条件N-1 ELSE,表达式N;,盛建伦,35,并行赋值语句,(2)选择赋值语句,格式:,目标信号=信号表达式1 WHEN 选择条件1,,信号表达式2 WHEN 选择条件2,,WITH 选择条件表达式 SELECT,信号表达式N WHEN 选择条件N;,盛建伦,36,if 语句,if语句的三种形式:,1、门闩if语句,2、二选一if语句,3、多选一if语句,流程控制语句,语法格式:If expression Then statement;Elsif expression Th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 讲盛建伦 老师
链接地址:https://www.31ppt.com/p-6522938.html