(精品)第4讲VHDL基本结构.ppt

上传人:s****8 文档编号:82705550 上传时间:2023-03-26 格式:PPT 页数:50 大小:1.01MB
返回 下载 相关 举报
(精品)第4讲VHDL基本结构.ppt_第1页
第1页 / 共50页
(精品)第4讲VHDL基本结构.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《(精品)第4讲VHDL基本结构.ppt》由会员分享,可在线阅读,更多相关《(精品)第4讲VHDL基本结构.ppt(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第第4讲讲 VHDL基本结构基本结构 主要内容:主要内容:VHDL语言介绍语言介绍VHDL语言特点语言特点VHDL的基本结构的基本结构 VHDL语言结构体的描述方式语言结构体的描述方式1一一 概概 述述 VHDL VHDL语言是一种在语言是一种在EDAEDA设计中广泛流行的设计中广泛流行的硬件描述语言,主要用于描述数字系统的结硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口。构、行为、功能和接口。除了含有许多具有硬件特征的语句外,除了含有许多具有硬件特征的语句外,VHDLVHDL语言的句法、语言形式和描述风格十分语言的句法、语言形式和描述风格十分类似于一般的计算机高级语言,是目前硬

2、件类似于一般的计算机高级语言,是目前硬件描述语言中应用最为广泛的一种。描述语言中应用最为广泛的一种。2VHDLVHDL语言简介语言简介 VHDL VHDL语言全称是语言全称是“超高速集成电路硬件描述语超高速集成电路硬件描述语言言”,它诞生于,它诞生于19821982年,由美国国防部于年,由美国国防部于2020世纪七、世纪七、八十年代组织研制开发,其目的首先是用这种语言八十年代组织研制开发,其目的首先是用这种语言描述复杂电路,其次是希望这种语言能够成为一种描述复杂电路,其次是希望这种语言能够成为一种标准语言。标准语言。1987 1987年底,年底,VHDLVHDL语言被电气和电子工程师协会语言被

3、电气和电子工程师协会IEEEIEEE和美国国防部确认为标准硬件描述语言,版本和美国国防部确认为标准硬件描述语言,版本为为IEEE-1076IEEE-1076(简称(简称8787版)。此后在电子产业界被广版)。此后在电子产业界被广泛地接受,并逐步取代了原有的非标准硬件描述语泛地接受,并逐步取代了原有的非标准硬件描述语言(如言(如CUPLCUPL、ABELABEL等)。等)。3VHDLVHDL语言简介语言简介 19931993年,年,IEEEIEEE对对VHDLVHDL进行了修订,增加了一些进行了修订,增加了一些功能,并从更高的抽象层次和系统描述能力上扩展功能,并从更高的抽象层次和系统描述能力上扩

4、展VHDLVHDL的内容,公布了的内容,公布了VHDLVHDL新的版本,编号为新的版本,编号为IEEE IEEE Std1076-1993Std1076-1993(简称(简称9393版)。版)。19951995年中国国家技术监督局组织编写并出版了年中国国家技术监督局组织编写并出版了CADCAD通用技术规范通用技术规范,推荐,推荐VHDLVHDL语言作为我国电子语言作为我国电子自动化硬件描述语言的国家标准。自动化硬件描述语言的国家标准。19961996年,年,IEEE1076.3IEEE1076.3成为成为VHDLVHDL综合标准。综合标准。4VHDLVHDL语言简介语言简介 目前,目前,VHD

5、LVHDL已经成为一个数字电路和硬件系统已经成为一个数字电路和硬件系统描述、综合、优化和布线的描述、综合、优化和布线的IEEEIEEE工业标准,已得到工业标准,已得到众多众多EDAEDA公司的支持,越来越多的硬件电路设计工具公司的支持,越来越多的硬件电路设计工具向向VHDLVHDL标准靠拢,支持标准靠拢,支持VHDLVHDL语言。在电子工程领域语言。在电子工程领域中,无论中,无论ASICASIC设计人员,还是系统设计人员,都需设计人员,还是系统设计人员,都需要学习要学习VHDLVHDL语言来提高自己的工作效率。有专家认语言来提高自己的工作效率。有专家认为,在未来的为,在未来的ITIT行业中,行

6、业中,VHDLVHDL语言和语言和VerilogVerilog HDL HDL语语言将承担几乎全部的数字系统设计任务。言将承担几乎全部的数字系统设计任务。5二二 VHDLVHDL语言特点语言特点 VHDL VHDL语言作为一种标准的硬件描述语言,具有语言作为一种标准的硬件描述语言,具有结构严谨、描述能力强的特点,支持从系统级到逻结构严谨、描述能力强的特点,支持从系统级到逻辑门级电路所有层次的设计,适合于复杂逻辑电路辑门级电路所有层次的设计,适合于复杂逻辑电路和系统的设计。和系统的设计。作为高级硬件描述语言,作为高级硬件描述语言,VHDLVHDL有如下特点:有如下特点:支持从系统级到逻辑门级电路

7、的描述;支持从系统级到逻辑门级电路的描述;具有很强的硬件描述能力;具有很强的硬件描述能力;设计技术齐全、方法灵活、支持广泛;设计技术齐全、方法灵活、支持广泛;对设计描述具有相对的独立性;对设计描述具有相对的独立性;具有很强的移植能力;具有很强的移植能力;易于共享和复用;易于共享和复用;具有丰富的仿真语句和库函数;具有丰富的仿真语句和库函数;62 VHDL2 VHDL语言特点语言特点 作为高级硬件描述语言,作为高级硬件描述语言,VHDLVHDL有如下特点:有如下特点:设计结构清晰、易读易懂;设计结构清晰、易读易懂;易实现系统的更新和升级;易实现系统的更新和升级;数据类型丰富、安全性好。数据类型丰

8、富、安全性好。7三三 VHDLVHDL语言设计实体的基本结构语言设计实体的基本结构 用用VHDLVHDL语言设计的电路无论规模大小,都要使语言设计的电路无论规模大小,都要使用一个完整的用一个完整的VHDLVHDL程序结构,这个完整的程序结构程序结构,这个完整的程序结构称为设计实体或实体。称为设计实体或实体。设计实体是指能被设计实体是指能被VHDLVHDL语言综合器所接受,并语言综合器所接受,并能作为独立的设计单元,以元件的形式存在的能作为独立的设计单元,以元件的形式存在的VHDLVHDL语言程序。语言程序。所谓的元件,既可以被高层次的系统调用,成所谓的元件,既可以被高层次的系统调用,成为系统的

9、一部分,也可以作为一个电路的功能模块,为系统的一部分,也可以作为一个电路的功能模块,独立存在和运行。独立存在和运行。8VHDLVHDL语言设计实体的组成语言设计实体的组成 VHDLVHDL语言的设计实体都由实体说明语言的设计实体都由实体说明(Entity)(Entity)和和结构体结构体(Architecture)(Architecture)两个最基本的部分组成。两个最基本的部分组成。实体说明部分用来描述该模块或系统的接口信实体说明部分用来描述该模块或系统的接口信息,包括端口的数目、方向和类型,其作用相当于息,包括端口的数目、方向和类型,其作用相当于传统设计方法中所使用的元件符号。传统设计方法

10、中所使用的元件符号。结构体部分则描述该模块的内部电路,对应于结构体部分则描述该模块的内部电路,对应于原理图、逻辑方程和模块的输入原理图、逻辑方程和模块的输入/输出特性。输出特性。一个设计实体可以包含一个或多个结构体,用一个设计实体可以包含一个或多个结构体,用于描述其的逻辑结构和逻辑功能。于描述其的逻辑结构和逻辑功能。9【例例】ENTITY mux2 ISPortT(d0,d1,sel:IN BIT;q:OUT BIT);END mux2;ARCHITECTURE rtl OF mux2 ISBEGIN;PROCESS(d0,d1,sel)VARIABLE tmp1,tmp2,tmp3:BIT;

11、BEGINtmp1:=d0 AND sel;tmp2:=d1 AND(NOT sel);tmp3:=tmp1 OR tmp2;q=tmp3;END PROCESS;END rtl;10 1.VHDLVHDL设计实体的结构设计实体的结构 一个完整的一个完整的VHDLVHDL设计实体(设计文件),通常设计实体(设计文件),通常包括:包括:实体说明(实体说明(EntityEntity)结构体(结构体(ArchitectureArchitecture)配置(配置(ConfigurationConfiguration)库(库(LibraryLibrary)和程序包()和程序包(PackagePackag

12、e)11 1.VHDLVHDL设计实体的结构设计实体的结构 库、程序包库、程序包配置配置 设计实体设计实体实体说明实体说明结构体结构体进程进程或其他并行结构或其他并行结构 基本结构:基本结构:12 2.设计实体举例设计实体举例【例例】试用试用VHDLVHDL语言设计一个四选一数据选择器。语言设计一个四选一数据选择器。数据输入:数据输入:D3 D2 D1 D0 数据输出:数据输出:Y 选择控制:选择控制:S1 S0 13 VHDLVHDL程序如下:程序如下:LIBRARYLIBRARY IEEE IEEE;-IEEE-IEEE库库 USEUSE IEEE.STD_LOGIC_1164.IEEE.

13、STD_LOGIC_1164.ALLALL;-程序包程序包 USEUSE IEEE.STD_LOGIC_ARITH.IEEE.STD_LOGIC_ARITH.ALLALL;USEUSE IEEE.STD_LOGIC_UNSIGNED.IEEE.STD_LOGIC_UNSIGNED.ALLALL;ENTITYENTITY mux41 mux41 ISIS -定义实体名定义实体名 PORTPORT(S1,S0:S1,S0:ININ STD_LOGIC STD_LOGIC;-定义输入信号定义输入信号 D3,D2,D1,D0:D3,D2,D1,D0:ININ STD_LOGIC STD_LOGIC;Y

14、:Y:OUTOUT STD_LOGIC -STD_LOGIC -定义输出信号定义输出信号 );ENDEND mux41 mux41;ARCHITECTUREARCHITECTURE behaveiorbehaveior OFOF mux41 mux41 ISIS-定义结构体名定义结构体名 BEGINBEGIN -逻辑功能描述逻辑功能描述 Y=D0 Y=D0 WHENWHEN S1=S1=0 0 ANDAND S0=S0=0 0 ELSEELSE D1 D1 WHENWHEN S1=S1=0 0 ANDAND S0=S0=1 1 ELSEELSE D2 D2 WHENWHEN S1=S1=1 1

15、 ANDAND S0=S0=0 0 ELSEELSE D3 D3;ENDEND behaveiorbehaveior;库库 程序包程序包 实体说明实体说明 结构结构体体 14 2.设计实体举例设计实体举例 库:库:是是用来存放已设计好的程序包、数据集合体、用来存放已设计好的程序包、数据集合体、元件的仓库,元件的仓库,供用户进行供用户进行VHDLVHDL设计时调用。设计时调用。程序包:程序包:用用VHDLVHDL语言编写的共享文件,定义了将要语言编写的共享文件,定义了将要使用的常数、数据类型、子程序和设计好使用的常数、数据类型、子程序和设计好的电路单元等。的电路单元等。实体说明:实体说明:定义电

16、路单元的输入、输出引脚信号。定义电路单元的输入、输出引脚信号。以标识符以标识符ENTITYENTITY开始,以开始,以ENDEND结束。结束。结构体:结构体:用来描述电路内部结构和逻辑功能。并以用来描述电路内部结构和逻辑功能。并以标识符标识符ARCHITECTUREARCHITECTURE开头,以开头,以ENDEND结尾。结尾。15VHDLVHDL语言的实体说明语言的实体说明 实体说明是实体说明是VHDLVHDL程序设计中最基本的组成部分,程序设计中最基本的组成部分,主要用来描述设计实体的外部接口信号,定义设计主要用来描述设计实体的外部接口信号,定义设计单元的输入、输出端口,是设计实体对外的一

17、个通单元的输入、输出端口,是设计实体对外的一个通信界面,但它不描述设计的具体功能。信界面,但它不描述设计的具体功能。实体说明语句的格式如下:实体说明语句的格式如下:ENTITY ENTITY 实体名实体名 ISIS GENERICGENERIC(类属表类属表););PORTPORT(端口表端口表););ENDEND ENTITYENTITY 实体名实体名;实体说明语句实体说明语句实体说明语句实体说明语句类属说明语句类属说明语句类属说明语句类属说明语句端口说明语句端口说明语句端口说明语句端口说明语句结束语句结束语句结束语句结束语句 规规则则:实实体体声声明明语语句句必必须须以以“ENTITYEN

18、TITY 实实体体名名 ISIS”开始,以开始,以“END ENTITYEND ENTITY 实体名;实体名;”结束;结束;实体名是设计者给设计实体的命名;实体名是设计者给设计实体的命名;方括号内的语言描述可任选。方括号内的语言描述可任选。16 1.1.实体说明语句实体说明语句ENTITYENTITY 该语句是实体说明的引导语句,用来指明实体该语句是实体说明的引导语句,用来指明实体说明部分的开始,并定义实体名。说明部分的开始,并定义实体名。关键字:关键字:ENTITYENTITY 格格 式:式:ENTITYENTITY 实体名实体名 ISIS 在在设设计计编编程程时时,实实体体名名必必须须与与

19、设设计计文文件件名名相相同同,否则无法编译。否则无法编译。17 2.2.类属说明语句类属说明语句GENERICGENERIC 该语句用来确定设计实体中定义的局部常数,将外部环该语句用来确定设计实体中定义的局部常数,将外部环境的信息参数传递到设计实体,并用类属表的形式指明器件境的信息参数传递到设计实体,并用类属表的形式指明器件的一些特征。的一些特征。关键字:关键字:GENERICGENERIC 格格 式:式:GENERICGENERIC(常数名常数名常数名常数名,常数名常数名常数名常数名:数据类型数据类型数据类型数据类型:设定值设定值设定值设定值 ;常数名常数名常数名常数名,常数名常数名常数名常

20、数名:数据类型数据类型数据类型数据类型:设定值设定值设定值设定值)常数名:常数名:是由设计者定义的类属常数名;是由设计者定义的类属常数名;数据类型:数据类型:常取常取INTEGERINTEGER或或TIMETIME的类型;的类型;设定值:设定值:为常数名所代表的数值。为常数名所代表的数值。18 2.2.类属说明语句类属说明语句GENERICGENERIC 例如:例如:类属表对数据总线的类型和宽度做了定义,类属参数类属表对数据总线的类型和宽度做了定义,类属参数datawithdatawith的数据类型为整数,数据宽度为的数据类型为整数,数据宽度为8 8位。位。ENTITY ENTITY body

21、 body ISIS GENERICGENERIC(datawidthdatawidth:INTEGER:=8:INTEGER:=8););类属说明必须位于端口说明之前,用于指定设计实体和类属说明必须位于端口说明之前,用于指定设计实体和外部环境通信的参数,并以关键字外部环境通信的参数,并以关键字GENERICGENERIC引导一个类属参数引导一个类属参数表,在表中提供时间参数、总线宽度等信息。表,在表中提供时间参数、总线宽度等信息。19例:2输入与门的实体描述entity pgand2 is generic(risewidth:time:=1 ns;fallwidth:time:=1 ns);

22、port(a1:in std_logic;a0:in std_logic;z0:out std_loigc );end entity and2;注:综合器仅支持数据类型为整数的类属值。20 3.3.端口说明语句端口说明语句PORTPORT 该语句是设计实体与外界接口的描述,用来指明实体的该语句是设计实体与外界接口的描述,用来指明实体的输入、输出信号及其模式,包括端口的名称、数据的类型和输入、输出信号及其模式,包括端口的名称、数据的类型和数据的传递方向(端口模式)。数据的传递方向(端口模式)。关键字:关键字:PORTPORT 格格 式:式:PORTPORT (端口名(端口名(端口名(端口名,端口

23、名,端口名,端口名,端口名:端口模式端口模式端口模式端口模式 数据类型数据类型数据类型数据类型 ;端口名;端口名;端口名;端口名,端口名,端口名,端口名,端口名:端口模式端口模式端口模式端口模式 数据类型数据类型数据类型数据类型)端口名:是赋予每个外部引脚的名称,通常用一个或几个端口名:是赋予每个外部引脚的名称,通常用一个或几个英文字母,或者用英文字母加数字命名。英文字母,或者用英文字母加数字命名。端口模式:即端口方向,用来定义外部引脚的信号方向端口模式:即端口方向,用来定义外部引脚的信号方向,共共有五种模式。有五种模式。数据类型:用来指定每个端口信号的取值类型数据类型:用来指定每个端口信号的

24、取值类型,共有共有10种。种。21 3.3.端口说明语句端口说明语句PORTPORT 端口模式说明:端口模式说明:22INOUTINOUTBUFFER 3.3.端口说明语句端口说明语句PORTPORT 端口模式端口模式的符号的符号:23 “OUT”和“BUFFER”都可以定义输出端口,但是它们之间是有区别区别的,如图所示。图 OUT和和BUFFER的区别的区别(a)OUT;(b)BUFFER 24例:一个完整描述(例:一个完整描述(3 bit 计数器)计数器)25 3 bit 计数器的等效描述(计数器的等效描述(out 与与 buffer 的区别)的区别)26 3.3.端口说明语句端口说明语句

25、PORTPORT 【例例】编写编写2 2输入与非门的实体说明。输入与非门的实体说明。设与非门的输入为设与非门的输入为A A和和B B,输出为,输出为Y Y。ENTITY ENTITY nand2 ISIS GENERICGENERIC (risew:TIME:=1ns;fallw:TIME:=1ns);PORTPORT (A:ININ STD_LOGIC;B:ININ STD_LOGIC;Y:OUTOUT STD_LOGIC);ENDEND nand2;-定义定义risewrisew为上升沿为上升沿-定义定义fallwfallw为下降沿为下降沿-定义定义A A、B B和和Y Y为逻辑位为逻辑位

26、27VHDLVHDL语言的结构体语言的结构体 结构体是设计实体的核心,它具体指明了设计结构体是设计实体的核心,它具体指明了设计实体的行为、元件及内部连接关系。实体的行为、元件及内部连接关系。结构体所承担的任务结构体所承担的任务:定义结构体内部所使用的各项元素;定义结构体内部所使用的各项元素;通过通过VHDLVHDL提供的语句来描述设计实体所要提供的语句来描述设计实体所要求的具体行为和功能;求的具体行为和功能;描述各元件之间的连接。描述各元件之间的连接。28VHDLVHDL语言的结构体语言的结构体 结构体内部构造的描述层次和描述内容:结构体内部构造的描述层次和描述内容:结结结结构构构构体体体体结

27、结结结构构构构体体体体说说说说明明明明结结结结构构构构体体体体功功功功能能能能描描描描述述述述常数说明常数说明常数说明常数说明数据类型说明数据类型说明数据类型说明数据类型说明信号说明信号说明信号说明信号说明例化元件说明例化元件说明例化元件说明例化元件说明子程序说明子程序说明子程序说明子程序说明块语句块语句块语句块语句进程语句进程语句进程语句进程语句信号赋值语句信号赋值语句信号赋值语句信号赋值语句子程序调用语句子程序调用语句子程序调用语句子程序调用语句元件例化语句元件例化语句元件例化语句元件例化语句29VHDLVHDL语言的结构体语言的结构体 结构体由两个基本部分组成:结构体由两个基本部分组成:

28、结构体说明,用来对数据类型、常数、信号、结构体说明,用来对数据类型、常数、信号、子程序和元件等进行说明。子程序和元件等进行说明。结构体功能描述,用来描述设计实体的逻辑结构体功能描述,用来描述设计实体的逻辑行为,可以用不同的描述风格来表达设计实体的逻辑行为,可以用不同的描述风格来表达设计实体的逻辑功能。功能。30 结构体的格式:结构体的格式:1.结构体的基本格式结构体的基本格式 ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS 结构体说明语句;结构体说明语句;BEGIN 功能描述语句;功能描述语句;END ARCHITECTURE 结构体名结构体名;31 结构体引导语句用来引

29、导结构体的开始,并定结构体引导语句用来引导结构体的开始,并定义结构体的名称。义结构体的名称。2.结构体引导语句结构体引导语句 关键字:关键字:ARCHITECTURE 格格 式:式:ARCHITECTURE 结构体名结构体名 OF 实体名实体名 ISIS 结构体名是给予结构体的名称,是该结构体唯结构体名是给予结构体的名称,是该结构体唯一的名字,用来一的名字,用来表明该结构体所隶属于哪个实体。表明该结构体所隶属于哪个实体。32 用于定义结构体中所用的数据对象和子程序,用于定义结构体中所用的数据对象和子程序,并对所引用的元件加以说明,如:并对所引用的元件加以说明,如:3.结构体说明语句结构体说明语

30、句 信号(信号(SIGNALSIGNAL)类型(类型(TYPETYPE)常数(常数(CONSTANTCONSTANT)元件(元件(COMPONENTCOMPONENT)函数(函数(FUNCTIONFUNCTION)过程(过程(PROCEDUREPROCEDURE)33 4.功能描述语句功能描述语句 用于描述实体的逻辑功能。用于描述实体的逻辑功能。功能描述语句结构可以含有五种不同类型。功能描述语句结构可以含有五种不同类型。结结结结构构构构体体体体功功功功能能能能描描描描述述述述块语句块语句块语句块语句进程语句进程语句进程语句进程语句信号赋值语句信号赋值语句信号赋值语句信号赋值语句子程序调用语句子

31、程序调用语句子程序调用语句子程序调用语句元件例化语句元件例化语句元件例化语句元件例化语句34 4.功能描述语句功能描述语句 块语句(块语句(BLOCKBLOCK)块语句结构是由若干个并行执行语句构成的组合体,其块语句结构是由若干个并行执行语句构成的组合体,其功能是将结构体中的并行语句包装在一起,组成一个或多个功能是将结构体中的并行语句包装在一起,组成一个或多个模块(即子模块)。模块(即子模块)。进程语句(进程语句(PROCESSPROCESS)定义顺序语句模块,其内部为顺序语句,将从外部获得定义顺序语句模块,其内部为顺序语句,将从外部获得的信号值,或内部的运算数据向其他信号进行赋值。的信号值,

32、或内部的运算数据向其他信号进行赋值。信号赋值语句(信号赋值语句(SIGNALSIGNAL)用来将设计实体内的处理结果向所定义的信号或界面端用来将设计实体内的处理结果向所定义的信号或界面端口进行赋值。口进行赋值。35 4.功能描述语句功能描述语句 子程序调用语句子程序调用语句 由过程(由过程(PROCEDUREPROCEDURE)和函数()和函数(FUNCTIONFUNCTION)组成,其内部)组成,其内部是顺序语句。用来调用过程和函数,并将结果赋值给信号。是顺序语句。用来调用过程和函数,并将结果赋值给信号。元件例化语句(元件例化语句(COMPONENTCOMPONENT)元件例化语句用来调用另

33、一个设计实体所描述的电路。元件例化语句用来调用另一个设计实体所描述的电路。调用时,元件例化语句对其他的设计实体做元件调用说明,调用时,元件例化语句对其他的设计实体做元件调用说明,并将元件的端口与其他元件、信号或高层设计实体的界面端并将元件的端口与其他元件、信号或高层设计实体的界面端口进行连接。口进行连接。36实体与结构体的关系:实体与结构体的关系:设计实体结构体1结构体2结构体3结构体n。一个设计实体可有多个结构体,代表实体一个设计实体可有多个结构体,代表实体的多种实现方式。各个结构体的地位相同。用的多种实现方式。各个结构体的地位相同。用configuration语句指名用于综合或仿真的结构语

34、句指名用于综合或仿真的结构体。体。37四 VHDL语言结构体的描述方式 VHDLVHDL语言的结构体可以用不同的语句类型和描述语言的结构体可以用不同的语句类型和描述方式来表达电路所期望的逻辑行为,而对于相同的逻方式来表达电路所期望的逻辑行为,而对于相同的逻辑行为,可以有不同的语句表达方式。辑行为,可以有不同的语句表达方式。在在VHDLVHDL语言中,这些描述方式或建模方式称为语言中,这些描述方式或建模方式称为VHDLVHDL语言的描述风格。语言的描述风格。常用的描述方式主要有:常用的描述方式主要有:行为描述行为描述 数据流描述数据流描述 结构描述结构描述 混合描述混合描述 38 行为描述依据设

35、计实体的功能或算法对结构体行为描述依据设计实体的功能或算法对结构体进行描述,不需要给出实现这些行为的硬件结构,进行描述,不需要给出实现这些行为的硬件结构,只强调电路的行为和功能。只强调电路的行为和功能。在结构体中,行为描述主要用函数、过程和进在结构体中,行为描述主要用函数、过程和进程语句,以功能或算法的形式来描述数据的转换和程语句,以功能或算法的形式来描述数据的转换和传送。传送。结构体的行为描述结构体的行为描述 39【例例3】试用行为描述完成二选一数据选择器的设计。试用行为描述完成二选一数据选择器的设计。设数据输入为设数据输入为d0d0和和d1d1、选择输入为、选择输入为s s,输出为,输出为

36、y y。程序清单:程序清单:ENTITYENTITY mux21 mux21 ISIS PORTPORT(d1,d0:(d1,d0:ININ STD_LOGIC STD_LOGIC;s:s:ININ STD_LOGIC STD_LOGIC;y:y:OUTOUT STD_LOGIC)STD_LOGIC);ENDEND mux21 mux21;ARCHITECTUREARCHITECTURE behavior behavior OFOF mux21 mux21 ISIS BEGINBEGIN y y=d1 =d1 WHENWHEN s=s=1 1 ELSEELSE d0 d0;ENDEND beh

37、avior behavior;40 行为描述类似于高级编程语言,主要是对设计行为描述类似于高级编程语言,主要是对设计实体的功能或数学模型进行描述,其抽象程度远高实体的功能或数学模型进行描述,其抽象程度远高于数据流描述和结构描述,其特点如下:于数据流描述和结构描述,其特点如下:行为描述具有很高的抽象程度,远高于数据行为描述具有很高的抽象程度,远高于数据流描述和结构描述;流描述和结构描述;行为描述只需描述清楚输入与输出的行为,行为描述只需描述清楚输入与输出的行为,而与它们的结构无关;而与它们的结构无关;描述程序大多采用算术运算、关系运算、惯描述程序大多采用算术运算、关系运算、惯性延时、传输延时等语

38、句;性延时、传输延时等语句;结构体中的过程语句属于典型的行为描述。结构体中的过程语句属于典型的行为描述。41 即逻辑描述,它利用即逻辑描述,它利用VHDLVHDL语言中的赋值符和逻语言中的赋值符和逻辑运算符进行描述,既包含逻辑单元的结构信息,辑运算符进行描述,既包含逻辑单元的结构信息,又隐含地表示某种行为。又隐含地表示某种行为。结构体的数据流描述结构体的数据流描述 例如:例如:y y=a=a NORNOR b b;z z=NOTNOT(a(a XORXOR b)b);/y/y等于等于a a与与b b的或非运算的或非运算/z/z等于等于a a与与b b的同或运算的同或运算 这种方式主要采用非结构

39、化的并行语句描述。这种方式主要采用非结构化的并行语句描述。42【例例4】将例将例3中的数据选择器采用数据流描述。中的数据选择器采用数据流描述。逻辑表达式:逻辑表达式:y y=d0d0s s+d1d1s s 程序清单:程序清单:ENTITYENTITY mux21 mux21 ISIS PORTPORT(d1,d0:(d1,d0:ININ STD_LOGIC STD_LOGIC;s:s:ININ STD_LOGIC STD_LOGIC;y:y:OUTOUT STD_LOGIC)STD_LOGIC);ENDEND mux21 mux21;ARCHITECTUREARCHITECTURE dataf

40、low dataflow OFOF mux21 IS mux21 IS SIGNALSIGNAL tmp1,tmp2,tmp3:STD_LOGIC tmp1,tmp2,tmp3:STD_LOGIC;BEGINBEGIN tmp1 tmp1=d1=d1 ANDAND s s;tmp2 tmp2=d0=d0 ANDAND(NOT s)(NOT s);tmp3 tmp3=tmp1=tmp1 OROR tmp2 tmp2;y y=tmp3=tmp3;ENDEND dataflow dataflow;43 结构描述是从设计实体的内部结构对结构体进结构描述是从设计实体的内部结构对结构体进行描述的,并给出该

41、实体所包含的模块或元件的相行描述的,并给出该实体所包含的模块或元件的相互连接关系。互连接关系。这种方式主要采用元件例化(这种方式主要采用元件例化(COMPONENTCOMPONENT)的)的形式对设计实体进行描述。可以用不同类型的结构形式对设计实体进行描述。可以用不同类型的结构来实现多层次的工程设计,从简单的门电路到复杂来实现多层次的工程设计,从简单的门电路到复杂的元件来描述整个系统,元件之间的连接通过定义的元件来描述整个系统,元件之间的连接通过定义的端口界面来实现。的端口界面来实现。结构体的结构描述结构体的结构描述 44 结构描述建模的步骤如下:结构描述建模的步骤如下:结构体的结构描述结构体

42、的结构描述 元件说明:描述局部接口。元件说明:描述局部接口。元件例化:相对于其他元件放置元件。元件例化:相对于其他元件放置元件。元件配置:指定元件所有的设计实体。元件配置:指定元件所有的设计实体。结构描述用于层次化设计,高层次的设计模块结构描述用于层次化设计,高层次的设计模块调用低层次的设计模块,或直接用门电路来构成一调用低层次的设计模块,或直接用门电路来构成一个复杂的逻辑电路。个复杂的逻辑电路。45【例例5】将例将例3中的数据选择器采用结构描述。中的数据选择器采用结构描述。程序清单:程序清单:ENTITYENTITY mux21 ISIS PORTPORT(d1,d0:ININ STD_LO

43、GIC;s:ININ STD_LOGIC;y:OUTOUT STD_LOGIC);ENDEND mux21;ARCHITECTUREARCHITECTURE structure OFOF mux21 ISIS COMPONENTCOMPONENT and2 PORTPORT(a,b:ININ STD_LOGIC;c:OUTOUT STD_LOGIC);ENDEND COMPONENTCOMPONENT;COMPONENTCOMPONENT or2 PORTPORT(a,b:ININ STD_LOGIC;c:OUTOUT STD_LOGIC);ENDEND COMPONENTCOMPONENT;

44、&11 d1 d0 s y aa ab ns U1 U3 U2 U446【例例6】将例将例3中的数据选择器采用结构描述。中的数据选择器采用结构描述。程序清单:程序清单:&11 d1 d0 s y aa ab ns U1 U3 U2 U4 COMPONENTCOMPONENT not1 PORTPORT (a:ININ STD_LOGIC;c:OUTOUT STD_LOGIC);ENDEND COMPONENTCOMPONENT;SIGNALSIGNAL aa,ab,ns:STD_LOGIC;BEGINBEGIN U1:not1 PORT MAPPORT MAP(s,ns);U2:and2 PO

45、RT MAPPORT MAP (d1,s,aa);U3:and2 PORT MAPPORT MAP(ns,d0,ab);U4:or2 PORT MAPPORT MAP(aa,ab,y);ENDEND structure;47 混合描述就是在结构体中同时使用多种混合描述就是在结构体中同时使用多种不同的描述方式,它可以使描述简单灵活。不同的描述方式,它可以使描述简单灵活。例如,在同一结构体中,分别使用元件例如,在同一结构体中,分别使用元件例化语句和并行语句,就可以构成由两种描例化语句和并行语句,就可以构成由两种描述方式的混合描述。述方式的混合描述。结构体的混合描述结构体的混合描述 48【例例6】用

46、混合描述完成半加器的设计。用混合描述完成半加器的设计。表达式:表达式:sn=an bn cn=anbn 数据流描述数据流描述 结构描述结构描述 程序清单:程序清单:ENTITYENTITY half_adder ISIS PORTPORT(an,bn:ININ STD_LOGIC;sn,cn:OUTOUT STD_LOGIC);ENDEND half_adder;ARCHITECTURARCHITECTURE mix_ha OFOF half_adder ISIS COMPONENTCOMPONENT and2 PORTPORT(a,b:ININ STD_LOGIC;c:OUTOUT STD_

47、LOGIC);END COMPONENTEND COMPONENT;BEGINBEGIN sn=an XORXOR bn;U1:and2 PORT MAPPORT MAP(an,bn,cn);ENDEND mix_ha;49课堂练习一、读程序,画出其对应的电原理图,并一、读程序,画出其对应的电原理图,并说明逻辑功能说明逻辑功能Entity mux isPort(do,d1:in bit);sel:in bit;y:out bit);End mux;Architecture behv of mux isBeginY=(d0 AND sel)OR(NOT sel AND d1);End behv;&ABENY1Y2二、写出下图二、写出下图的的VHDL程序程序50

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com