电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx

上传人:wj 文档编号:13132535 上传时间:2022-10-06 格式:PPTX 页数:118 大小:1.52MB
下载 相关 举报
电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx_第1页
第1页 / 共118页
电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx_第2页
第2页 / 共118页
电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx_第3页
第3页 / 共118页
电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx_第4页
第4页 / 共118页
电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx_第5页
第5页 / 共118页
点击查看更多>>
下载资源
资源描述

电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx

《电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx》由会员分享,可在线阅读,更多相关《电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx(118页珍藏版)》请在冰豆网上搜索。

电子科技大学EDA技术课件 3_1PPT课件下载推荐.pptx

VHDL具有丰富的仿真语句和库函数,可进行早期行为仿真,利于大系统的设计与验证。

VHDL设计与硬件电路关系不大。

VHDL设计不依赖于器件,与工艺无关。

移植性好。

VHDL体系符合TOP-DOWN和CE(并行工程)设计思想。

VHDL设计效率高,产品上市时间快,成本低。

易于ASIC实现。

9,3.1.5VHDL与其它硬件描述语言的比较,行为级RTL级门电路级RTL:

RegisterTranslateLevelVHDL:

系统级抽象描述能力强,适合行为级和RTL级的描述。

涉及电路细节少,工作量少,效率高。

IEEE标准,支持广泛。

对综合器要求高,不易控制底层电路的生成。

10,VerilogHDL:

系统级抽象描述能力比VHDL稍差;

门级开关电路描述方面比VHDL强。

适合RTL级和门电路级的描述。

需了解电路细节,工作量较多。

ABEL、PALASM、AHDL(AlteraHDL):

系统级抽象描述能力差,一般作门级电路,描述。

要求对电路细节有详细的了解。

工作量大。

对综合器要求低,易于控制电路资源。

支持少。

11,VHDL,12,VerilogHDL,3.1.6VHDL设计简述,13,VHDL主要用于描述数字系统的结构、行为、功能和接口。

VHDL将一个设计(元件、电路、系统)分为:

外部(可视部分、端口)内部(不可视部分、内部功能、算法),外部与内部:

ports,ports,CombinationalProcess,SequentialProcess,component,14,器件或子系统ENTITYARCHITECTUREProcessProcess,2选1选择器的VHDL描述:

15,VHDL语言的一些基本特点:

nVHDL语言由保留关键字组成;

n一般,VHDL语言对字母大小写不敏感;

例外:

、“”所括的字符、字符串;

n每条VHDL语句由一个分号(;

)结束;

nVHDL语言对空格不敏感,增加可读性;

n在“-”之后的是VHDL的注释语句;

nVHDL有以下描述风格:

行为描述;

数据流(寄存器传输RTL)描述;

结构化描述;

16,基本结构包括:

实体(Entity)结构体(Architecture)配置(Configuration)库(Library)、程序包(Package),17,3.2VHDL程序基本结构,库、程序包实体(Entity)结构体(Architecture)进程或其它并行结构,配置(Configuration),18,3.2.1实体(说明),实体(说明):

定义系统的输入输出端口语法:

ENTITYISGenericDeclarationsPortDeclarationsEND;

(1076-1987version)ENDENTITY;

(1076-1993version),19,1、类属说明类属说明:

确定实体或组件中定义的局部常数。

必须放在端口说明之前。

Generic(常数名称:

类型:

=缺省值常数名称:

=缺省值);

20,类属常用于定义:

实体端口的大小、设计实体的物理特性、总线宽度、元件例化的数量等。

例:

entitymckisgeneric(width:

integer:

=16);

port(add_bus:

outstd_logic_vector(width-1downto0);

21,例:

2输入与门的实体描述entityand2isgeneric(risewidth:

time:

=1ns;

fallwidth:

=1ns);

port(a1:

instd_logic;

a0:

z0:

outstd_loigc);

endentityand2;

注:

time:

用于仿真可综合的类属值:

整数,22,2、端口声明端口声明:

确定输入输出端口的数目和类型。

其中,端口模式:

in输入型,此端口为只读型。

out输出型,此端口只能在实体内部对其赋值。

inout输入输出型,既可读也可赋值。

buffer缓冲型,与out相似,但可读。

Port(,23,数据类型;

数据类型,端口名称,端口名称:

端口模式端口名称,端口名称:

端口模式);

out和buffer的区别:

24,In1,25,In2,In3,Out1,Out2,Out3,Out4,数据类型:

指端口上流动的数据的表达格式。

为预先定义好的数据类型。

如:

bit、bit_vector、integer、real、std_logic、std_logic_vector等。

entitynand2isport(a,b:

inbit;

26,:

outbit,z);

endnand2;

3.2.2结构体,27,作用:

定义系统(或模块)的行为、元件及内部的连接关系,即描述其逻辑功能。

两个组成部分:

说明部分逻辑功能描述部分,结构体,结构体说明,结构体功能描述,常数说明,数据类型说明,信号说明,例化元件说明,子程序说明,块语句进程语句,信号赋值语句,子程序调用语句,元件例化语句,28,实体与结构体的关系:

设计实体,结构体3。

结构体n,一个设计实体可有多个结构体,代表实体的多种实现方式。

各个结构体的地位相同。

结构体1结构体2,29,结构体的语法:

architecture结构体名称of实体名称is说明语句内部信号、常数、数据类型、子程序(函数、过程)、元件等的说明;

begin并行处理(功能描述)语句;

endarchitecture结构体名称;

同一实体的结构体不能同名。

定义语句中的常数、信号不能与实体中的端口同名。

30,例:

结构体中错误的信号声明,31,例:

一个完整描述(3bit计数器),32,3bit计数器的等效描述(out与buffer的区别):

33,3.2.3配置,设计实体,结构体1结构体2结构体3,。

结构体n,一个设计实体的多种实现方式,34,配置:

从某个实体的多种结构体描述方式中选择特定的一个。

简单配置的语法:

configuration配置名of实体名isfor选配结构体名endfor;

end配置名;

一个与非门不同实现方式的配置如下:

35,libraryieee;

useieee.std_logic_1164.all;

entitynandisport(a:

b:

c:

outstd_logic);

endentitynand;

architectureart1ofnandisbeginc=not(aandb);

endarchitectureart1;

36,architectureart2ofnandisbegin,c=1when(a=0)and(b=0)else1when(a=0)and(b=1)else1when(a=1)and(b=0)else0when(a=1)and(b=1)else0;

37,configurationfirstofnandisforart1;

endfor;

endfirst;

configurationsecondofnandisforart2endfor;

endsecond;

38,例:

一个对计数器实现多种形式的配置如下:

39,40,41,程序包:

已定义的常数、数据类型、元件调用说明、子程序的一个集合。

目的:

方便公共信息、资源的访问和共享。

库:

多个程序包构成库。

42,3.2.4程序包、库,程序包说明的内容:

常量说明;

VHDL数据类型说明;

元件说明;

子程序说明;

程序包的结构包括:

程序包说明(包首)程序包主体(包体),43,1、程序包说明(包首)语法:

package程序包名is包说明项end程序包名;

包说明项:

use语句(用来包括其它程序包);

类型说明;

子类型说明;

信号说明;

元件说明。

44,例:

程序包说明,45,2、程序包包体,use语句;

子程序主体;

程序包的内容:

子程序的实现算法。

包体语法:

packagebody程序包名is,46,end包体说明项:

包体说明项程序包名;

程序包首与程序包体的关系:

程序包体仅用于子程序的描述。

程序包首可以独立定义和使用。

47,例:

packagesevenissubtypesegmentsisbit_vector(0to6);

typebcdisrange0to9;

endseven;

librarywork;

usework.seven.all;

entitydecoderisport(input:

inbcd;

drive:

outsegments);

enddecoder;

architectureartofdecoderisbegin,48,withinputselectdrive=B“1111110”when0,B“0110000”when1,B“1101101”when2,B“1111001”when3,B“0110011”when4,B“1011011”when5,B“1011111”when6,B“1110000”when7,B“1111111”when8,B“1111011”when9,B“0000000”whenothers;

endarchitectureart;

a,b,c,d,e,f,g,49,3、库的种类,VHDL库可分为5种:

IEEE库定义了四个常用的程序包:

std_logic_1164(std_logictypes&

relatedfunctions)std_logic_arith(arithmeticfunctions)std_logic_signed(signedarithmeticfunctions)std_logic_unsigned(unsignedarithmeticfunctions),50,TypeSTD_ULOGIC、STD_LOGIC:

9logicvaluesystem(U,X,0,1,Z,W,L,H,-)U:

未初始化的,X:

强未知的,,0:

强0,Z:

高阻态,,1:

强1,W:

弱未知,的,,L:

弱0,,H:

弱1,,51,STD库(默认库)库中程序包为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1