《基本知识 》PPT课件.ppt

上传人:wuy****n92 文档编号:71072501 上传时间:2023-02-01 格式:PPT 页数:151 大小:320.50KB
返回 下载 相关 举报
《基本知识 》PPT课件.ppt_第1页
第1页 / 共151页
《基本知识 》PPT课件.ppt_第2页
第2页 / 共151页
点击查看更多>>
资源描述

《《基本知识 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《基本知识 》PPT课件.ppt(151页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数字逻辑第第3 3章章 VHDLVHDL基本知识基本知识 n硬件描述语言(Hardware Description Language,HDL)是一种用于数字系统设计的高级语言,具有很强的电路描述和建模能力,大大简化了硬件设计任务,提高设计的效率和可靠性。以HDL语言设计,以CPLD/FPGA为硬件实现载体,EDA软件为开发环境的现代数字系统设计方法已经被广泛采用。n本章将介绍常用硬件描述语言VHDL的基本知识,包括EDA、VHDL简介,基于VHDL的数字系统设计流程;VHDL语言的基本结构,数据对象、数据类型、运算符和表达式;顺序语句,并行语句;VHDL库和程序包等。1数字逻辑3.1 3.1

2、硬件描述语言硬件描述语言VHDLVHDL介绍介绍 n n3.1.1 EDA3.1.1 EDA3.1.1 EDA3.1.1 EDA技术及发展技术及发展技术及发展技术及发展n nEDAEDA是电子设计自动化(是电子设计自动化(是电子设计自动化(是电子设计自动化(Electronic Design AutomationElectronic Design Automation)的缩写,)的缩写,)的缩写,)的缩写,是是是是2020世纪世纪世纪世纪9090年代初从计算机辅助设计(年代初从计算机辅助设计(年代初从计算机辅助设计(年代初从计算机辅助设计(CADCAD)、计算机辅助制造)、计算机辅助制造)、计

3、算机辅助制造)、计算机辅助制造(CAMCAM)、计算机辅助测试()、计算机辅助测试()、计算机辅助测试()、计算机辅助测试(CATCAT)和计算机辅助工程()和计算机辅助工程()和计算机辅助工程()和计算机辅助工程(CAECAE)等)等)等)等概念基础上发展而来的新兴电子设计技术。概念基础上发展而来的新兴电子设计技术。概念基础上发展而来的新兴电子设计技术。概念基础上发展而来的新兴电子设计技术。n nEDAEDA技术以大规模可编程逻辑器件为设计的载体,依赖功能强大的技术以大规模可编程逻辑器件为设计的载体,依赖功能强大的技术以大规模可编程逻辑器件为设计的载体,依赖功能强大的技术以大规模可编程逻辑器

4、件为设计的载体,依赖功能强大的计算机,在计算机,在计算机,在计算机,在EDAEDA开发软件平台上用软件的方法设计电子系统。采用开发软件平台上用软件的方法设计电子系统。采用开发软件平台上用软件的方法设计电子系统。采用开发软件平台上用软件的方法设计电子系统。采用硬件描述语言描述系统逻辑,生成系统设计文件,软件自动完成逻硬件描述语言描述系统逻辑,生成系统设计文件,软件自动完成逻硬件描述语言描述系统逻辑,生成系统设计文件,软件自动完成逻硬件描述语言描述系统逻辑,生成系统设计文件,软件自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线

5、、逻辑辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真测试,直至实现电子系统的功能。再针对指定的目标芯片适配仿真测试,直至实现电子系统的功能。再针对指定的目标芯片适配仿真测试,直至实现电子系统的功能。再针对指定的目标芯片适配仿真测试,直至实现电子系统的功能。再针对指定的目标芯片适配编译、逻辑映射、编程下载等,最终完成对电子系统硬件功能的实编译、逻辑映射、编程下载等,最终完成对电子系统硬件功能的实编译、逻辑映射、编程下载等,最终完成对电子系统硬件功能的实编译、逻辑映射、编程下载等,最终完成对电子系统硬件功能的实现。现。现。现

6、。n n伴随着大规模集成电路制造技术、可编程逻辑器件、计算机辅助工伴随着大规模集成电路制造技术、可编程逻辑器件、计算机辅助工伴随着大规模集成电路制造技术、可编程逻辑器件、计算机辅助工伴随着大规模集成电路制造技术、可编程逻辑器件、计算机辅助工程,以及电子系统设计技术的发展,程,以及电子系统设计技术的发展,程,以及电子系统设计技术的发展,程,以及电子系统设计技术的发展,EDAEDA技术的发展经过了三个主技术的发展经过了三个主技术的发展经过了三个主技术的发展经过了三个主要阶段:要阶段:要阶段:要阶段:2数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n计算机辅助设计阶段(

7、计算机辅助设计阶段(计算机辅助设计阶段(计算机辅助设计阶段(CADCAD)n n2020世纪世纪世纪世纪7070年代以后,利用计算机的图形编辑、分析和存年代以后,利用计算机的图形编辑、分析和存年代以后,利用计算机的图形编辑、分析和存年代以后,利用计算机的图形编辑、分析和存储能力,辅助设计工程师进行储能力,辅助设计工程师进行储能力,辅助设计工程师进行储能力,辅助设计工程师进行ICIC版图设计、版图设计、版图设计、版图设计、PCBPCB布局布布局布布局布布局布线等工作,取代了人工劳动。线等工作,取代了人工劳动。线等工作,取代了人工劳动。线等工作,取代了人工劳动。CADCAD设计技术初见雏形。设计技

8、术初见雏形。设计技术初见雏形。设计技术初见雏形。n n计算机辅助工程阶段(计算机辅助工程阶段(计算机辅助工程阶段(计算机辅助工程阶段(CAECAE)n n2020世纪世纪世纪世纪8080年代出现的年代出现的年代出现的年代出现的EDAEDA工具除了具备图形绘制功能以工具除了具备图形绘制功能以工具除了具备图形绘制功能以工具除了具备图形绘制功能以外,还增加了结构设计和电路设计功能,代替了部分设外,还增加了结构设计和电路设计功能,代替了部分设外,还增加了结构设计和电路设计功能,代替了部分设外,还增加了结构设计和电路设计功能,代替了部分设计师的工作。在逻辑设计、逻辑仿真分析、布尔方程综计师的工作。在逻辑

9、设计、逻辑仿真分析、布尔方程综计师的工作。在逻辑设计、逻辑仿真分析、布尔方程综计师的工作。在逻辑设计、逻辑仿真分析、布尔方程综合优化、自动布局布线等方面承担了重要的工作。合优化、自动布局布线等方面承担了重要的工作。合优化、自动布局布线等方面承担了重要的工作。合优化、自动布局布线等方面承担了重要的工作。3数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n电子系统设计自动化阶段(电子系统设计自动化阶段(电子系统设计自动化阶段(电子系统设计自动化阶段(EDAEDA)n n进入进入进入进入2020世纪世纪世纪世纪9090年代,出现了以高级语言描述、系统级年代,出现了以高级语

10、言描述、系统级年代,出现了以高级语言描述、系统级年代,出现了以高级语言描述、系统级仿真和综合技术为特征的新一代仿真和综合技术为特征的新一代仿真和综合技术为特征的新一代仿真和综合技术为特征的新一代EDAEDA工具。设计工程工具。设计工程工具。设计工程工具。设计工程师采用结构化、自顶向下的设计方法,先对整个电子系师采用结构化、自顶向下的设计方法,先对整个电子系师采用结构化、自顶向下的设计方法,先对整个电子系师采用结构化、自顶向下的设计方法,先对整个电子系统进行系统级设计和功能模块划分,采用硬件描述语言统进行系统级设计和功能模块划分,采用硬件描述语言统进行系统级设计和功能模块划分,采用硬件描述语言统

11、进行系统级设计和功能模块划分,采用硬件描述语言HDLHDL对各个功能模块描述,再用对各个功能模块描述,再用对各个功能模块描述,再用对各个功能模块描述,再用EDAEDA工具对设计进行工具对设计进行工具对设计进行工具对设计进行行为描述和结构综合,系统仿真和测试验证,自动布局行为描述和结构综合,系统仿真和测试验证,自动布局行为描述和结构综合,系统仿真和测试验证,自动布局行为描述和结构综合,系统仿真和测试验证,自动布局布线,最后编程下载到布线,最后编程下载到布线,最后编程下载到布线,最后编程下载到CPLD/FPGACPLD/FPGA中。采用这种设计中。采用这种设计中。采用这种设计中。采用这种设计方法后

12、,大大提高了复杂电子系统设计能力,提高了设方法后,大大提高了复杂电子系统设计能力,提高了设方法后,大大提高了复杂电子系统设计能力,提高了设方法后,大大提高了复杂电子系统设计能力,提高了设计效率,缩短了设计周期。计效率,缩短了设计周期。计效率,缩短了设计周期。计效率,缩短了设计周期。4数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n3.1.2 VHDL3.1.2 VHDL3.1.2 VHDL3.1.2 VHDL语言简介语言简介语言简介语言简介n硬件描述语言(硬件描述语言(HDL:Hardware Description Language)是一种)是一种用形式化方法来

13、描述数字电路和设计数字逻辑系统的语言,是用形式化方法来描述数字电路和设计数字逻辑系统的语言,是EDA技术的重要组成部分。技术的重要组成部分。n20世纪世纪70年代末和年代末和80年代初,面对各个电子系统承包商技术线路不年代初,面对各个电子系统承包商技术线路不一致,使得产品不兼容,采用各自的设计语言,信息交换和维护困一致,使得产品不兼容,采用各自的设计语言,信息交换和维护困难,设计不能重复利用等情况,由美国国防部牵头,来自难,设计不能重复利用等情况,由美国国防部牵头,来自IBM、Texas Instruments和和Intermetrics公司的专家组成公司的专家组成VHDL(Very High

14、 Speed Integrated Circuit HDL)工作组,提出了新的硬件描)工作组,提出了新的硬件描述语言版本和开发环境。述语言版本和开发环境。IEEE标准化组织进一步发展,经过反复的标准化组织进一步发展,经过反复的修改与扩充,在修改与扩充,在1987年宣布了年宣布了VHDL语言标准版本,即语言标准版本,即IEEE STD 1076-1987标准。标准。1993年,年,VHDL-87标准被重新修订,更新为标准被重新修订,更新为IEEE STD 1076-1993标准。现在公布的最新版本是标准。现在公布的最新版本是IEEE STD 1076-2002。5数字逻辑3.1 3.1 硬件描述

15、语言硬件描述语言VHDLVHDL介绍介绍n n19951995年,我国国家技术监督局制定的年,我国国家技术监督局制定的年,我国国家技术监督局制定的年,我国国家技术监督局制定的CADCAD通用技术规通用技术规通用技术规通用技术规范范范范推荐推荐推荐推荐VHDLVHDL作为我国电子设计自动化硬件描述语言国作为我国电子设计自动化硬件描述语言国作为我国电子设计自动化硬件描述语言国作为我国电子设计自动化硬件描述语言国家标准。从此,家标准。从此,家标准。从此,家标准。从此,VHDLVHDL语言在我国迅速普及,成为广大硬语言在我国迅速普及,成为广大硬语言在我国迅速普及,成为广大硬语言在我国迅速普及,成为广大

16、硬件工程师必须掌握的一项技术。件工程师必须掌握的一项技术。件工程师必须掌握的一项技术。件工程师必须掌握的一项技术。n nVHDLVHDL语言能够成为标准化的硬件描述语言并获得广泛应语言能够成为标准化的硬件描述语言并获得广泛应语言能够成为标准化的硬件描述语言并获得广泛应语言能够成为标准化的硬件描述语言并获得广泛应用,是因为有其它硬件描述语言不具备的有点:用,是因为有其它硬件描述语言不具备的有点:用,是因为有其它硬件描述语言不具备的有点:用,是因为有其它硬件描述语言不具备的有点:n n较强的系统级和电路描述能力。较强的系统级和电路描述能力。较强的系统级和电路描述能力。较强的系统级和电路描述能力。n

17、 n与具体器件无关,可移植性强。与具体器件无关,可移植性强。与具体器件无关,可移植性强。与具体器件无关,可移植性强。n n基于库的设计方式,便于复用。基于库的设计方式,便于复用。基于库的设计方式,便于复用。基于库的设计方式,便于复用。n n语法规范、易于共享。语法规范、易于共享。语法规范、易于共享。语法规范、易于共享。6数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍3.1.3 VHDL3.1.3 VHDL3.1.3 VHDL3.1.3 VHDL语言设计开发流程语言设计开发流程语言设计开发流程语言设计开发流程以CPLD/FPGA为硬件载体,采用VHDL语言的EDA软件进

18、行数字系统设计的的完整流程包括设计方案制定、设计输入、逻辑综合、布局布线、仿真测试、编程下载等。其他硬件描述语言的设计过程也是类似。设计流程图如图3-1所示。图3-1 设计流程图7数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n1.1.1.1.设计方案制定设计方案制定设计方案制定设计方案制定n采用自顶向下、模块化设计的设计方式,确定整个系统的设计方案,划分系统的各个逻辑模块,确定各个模块的功能,以及采用的设计方式。n n2.2.2.2.设计输入设计输入设计输入设计输入n利用EDA软件中的文本编辑器将系统功能或结构用VHDL语言描述出来,保存问VHDL文件格式,为后

19、面的综合优化做准备。8数字逻辑3.1 硬件描述语言硬件描述语言VHDL介绍介绍n现代大多数EDA软件除了可以使用HDL语言设计输入以外,通常还支持类似传统电子系统设计的原理图输入方式。原理图输入方式中使用的逻辑模块或符号,可以使用EDA软件库中预制的功能模块,也可以使用VHDL语言设计的模块或原件。实际上,图形输入方式除了原理图输入外还有状态图输入和波形输入等常用方式。n采用模块化设计方式,完成各个功能模块设计后,将各个模块组合在一起,即完成对整个系统的设计。9数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n3.3.3.3.逻辑综合逻辑综合逻辑综合逻辑综合n n所

20、谓综合就是将较高层次的抽象描述转化为低层所谓综合就是将较高层次的抽象描述转化为低层所谓综合就是将较高层次的抽象描述转化为低层所谓综合就是将较高层次的抽象描述转化为低层次描述的过程,是将软件设计转化为硬件电路的次描述的过程,是将软件设计转化为硬件电路的次描述的过程,是将软件设计转化为硬件电路的次描述的过程,是将软件设计转化为硬件电路的关键步骤。在完成设计输入后,根据硬件结构和关键步骤。在完成设计输入后,根据硬件结构和关键步骤。在完成设计输入后,根据硬件结构和关键步骤。在完成设计输入后,根据硬件结构和约束条件进行编译、优化、综合,最终得到门级约束条件进行编译、优化、综合,最终得到门级约束条件进行编

21、译、优化、综合,最终得到门级约束条件进行编译、优化、综合,最终得到门级甚至更低层次的电路描述网表文件。网表文件就甚至更低层次的电路描述网表文件。网表文件就甚至更低层次的电路描述网表文件。网表文件就甚至更低层次的电路描述网表文件。网表文件就将软件描述和给定的硬件结构形成对应逻辑连接将软件描述和给定的硬件结构形成对应逻辑连接将软件描述和给定的硬件结构形成对应逻辑连接将软件描述和给定的硬件结构形成对应逻辑连接关系。关系。关系。关系。10数字逻辑3.1 硬件描述语言硬件描述语言VHDL介绍介绍n n4.4.4.4.布局布线(适配)布局布线(适配)布局布线(适配)布局布线(适配)n n布局是指将网表文件

22、中的逻辑连接关系合理地配布局是指将网表文件中的逻辑连接关系合理地配布局是指将网表文件中的逻辑连接关系合理地配布局是指将网表文件中的逻辑连接关系合理地配置到目标器件内部的硬件结构上,通常需要在速置到目标器件内部的硬件结构上,通常需要在速置到目标器件内部的硬件结构上,通常需要在速置到目标器件内部的硬件结构上,通常需要在速度优先还是面积最优间选择。布线就是根据布局度优先还是面积最优间选择。布线就是根据布局度优先还是面积最优间选择。布线就是根据布局度优先还是面积最优间选择。布线就是根据布局的拓扑结构,利用目标器件内部资源,合理地连的拓扑结构,利用目标器件内部资源,合理地连的拓扑结构,利用目标器件内部资

23、源,合理地连的拓扑结构,利用目标器件内部资源,合理地连接各个单元。适配后产生的仿真文件可用于精确接各个单元。适配后产生的仿真文件可用于精确接各个单元。适配后产生的仿真文件可用于精确接各个单元。适配后产生的仿真文件可用于精确的时序仿真,同时生成用于编程下载的文件。的时序仿真,同时生成用于编程下载的文件。的时序仿真,同时生成用于编程下载的文件。的时序仿真,同时生成用于编程下载的文件。11数字逻辑3.1 3.1 硬件描述语言硬件描述语言VHDLVHDL介绍介绍n n5.5.5.5.仿真测试仿真测试仿真测试仿真测试n仿真是仿真是EDA设计过程中的重要步骤,通常设计过程中的重要步骤,通常EDA软件中会软

24、件中会提供仿真工具,也可以使用第三方的专业仿真工具。根提供仿真工具,也可以使用第三方的专业仿真工具。根据不同的实施阶段,分为功能仿真和时序仿真:据不同的实施阶段,分为功能仿真和时序仿真:n功能仿真:在采用不同方式完成设计输入后,即可进行功能仿真:在采用不同方式完成设计输入后,即可进行逻辑功能的仿真测试,以了解功能是否满足设计要求。逻辑功能的仿真测试,以了解功能是否满足设计要求。这个阶段的仿真测试不涉及具体的硬件结构、特性。这个阶段的仿真测试不涉及具体的硬件结构、特性。n时序仿真:又称后仿真,是最接近硬件真实运行的仿真。时序仿真:又称后仿真,是最接近硬件真实运行的仿真。利用布局布线后生成的包含硬

25、件特性参数的仿真文件,利用布局布线后生成的包含硬件特性参数的仿真文件,对系统和各个模块进行时序仿真,分析其时序关系和延对系统和各个模块进行时序仿真,分析其时序关系和延迟信息。迟信息。12数字逻辑3.1 硬件描述语言硬件描述语言VHDL介绍介绍n n6.6.6.6.编程下载编程下载编程下载编程下载n将适配后生成的下载或配置文件,通过编程器或将适配后生成的下载或配置文件,通过编程器或下载线缆下载到目标器件中。一般将对下载线缆下载到目标器件中。一般将对CPLD的的下载称为编程,对下载称为编程,对FPGA的下载称为配置。最后的下载称为配置。最后将整个系统进行统一的测试,验证设计在目标系将整个系统进行统

26、一的测试,验证设计在目标系统上的实际工作情况。统上的实际工作情况。13数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构nVHDL程序是由库(1ibrary)、程序包(package)、实体(entity declaration)、结构体(architecture body)、配置(configuration)五部分组成。设计实体结构结构图如图3-2所示,其中设计实体必须有实体和结构体,其它部分根据设计需要来添加。图3-2 设计实体结构图14数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n实实体体是是VHDL程程序序的的基基本本单单元元,类类似似原原理理

27、图图设设计计中中的的而而一一个个元元件件符符号号。其其中中实实体体说说明明部部分分规规定定了了其其与与外外界界通通信信的的引引脚脚或或接接口口信信号号。在在实实体体内内部部有有一一个个或或多多个个结结构构体体,用用来来描描述述设设计计的的逻逻辑辑结结构构或或功能。功能。15数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n【例例3-1】VHDL程序基本结构程序基本结构LIBRARY IEEE;库说明部分库说明部分USE IEEE.STD_LOGIC_1164.ALL;程程序序包说明部分包说明部分ENTITY nand2 IS 实体说明部分实体说明部分PORT(a,b:IN

28、STD_LOGIC;y:OUT STD_LOGIC);END nand2;16数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构ARCHITECTURE arch_name OF nand2 IS 结构体描述部分BEGINPROCESS(a,b)VARIABLE comb:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN Comb:=a&b;CASE comb IS WHEN 00=y y y y y=0;END CASE;END PROCESS;END arch_name;17数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n3.

29、2.1 3.2.1 3.2.1 3.2.1 实体说明实体说明实体说明实体说明n实体说明部分的一般结构:nENTITY 实体名 ISnGENERIC(类属表);nPORT(端口表);nEND ENTITY 实体名;18数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构1.1.1.1.实体名实体名实体名实体名实体说明部分以实体说明部分以实体说明部分以实体说明部分以“ENTITY ENTITY 实体名实体名实体名实体名 IS”IS”开始,以开始,以开始,以开始,以“END ENTITY END ENTITY 实体名实体名实体名实体名”结束。其中实体名由设结束。其中实体名由设结束。其

30、中实体名由设结束。其中实体名由设计者自定义,一般根据所设计实体的功能来取名,计者自定义,一般根据所设计实体的功能来取名,计者自定义,一般根据所设计实体的功能来取名,计者自定义,一般根据所设计实体的功能来取名,“ENTITY”ENTITY”是是是是VHDLVHDL语法规定中的保留关键字。语法规定中的保留关键字。语法规定中的保留关键字。语法规定中的保留关键字。大多数大多数大多数大多数EDAEDA软件中的编译器和适配器是不区分软件中的编译器和适配器是不区分软件中的编译器和适配器是不区分软件中的编译器和适配器是不区分VHDLVHDL语言大小写的,但为了保持良好的设计风语言大小写的,但为了保持良好的设计

31、风语言大小写的,但为了保持良好的设计风语言大小写的,但为了保持良好的设计风格和便于阅读,通常将格和便于阅读,通常将格和便于阅读,通常将格和便于阅读,通常将VHDLVHDL语言的标识符和保语言的标识符和保语言的标识符和保语言的标识符和保留关键字以大写表示,设计者自定义符号小写表留关键字以大写表示,设计者自定义符号小写表留关键字以大写表示,设计者自定义符号小写表留关键字以大写表示,设计者自定义符号小写表示,如实体名、结构体名、变量名等。示,如实体名、结构体名、变量名等。示,如实体名、结构体名、变量名等。示,如实体名、结构体名、变量名等。19数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序

32、的基本结构n n2.2.2.2.类属说明类属说明类属说明类属说明n n类属参数用来在不同层次的设计模块间传递信息和参数,类属参数用来在不同层次的设计模块间传递信息和参数,类属参数用来在不同层次的设计模块间传递信息和参数,类属参数用来在不同层次的设计模块间传递信息和参数,比如数组长度、位矢量长度、端口宽度、器件延时时间等。比如数组长度、位矢量长度、端口宽度、器件延时时间等。比如数组长度、位矢量长度、端口宽度、器件延时时间等。比如数组长度、位矢量长度、端口宽度、器件延时时间等。这些参数都要求是整数类型。这些参数都要求是整数类型。这些参数都要求是整数类型。这些参数都要求是整数类型。n n类属说明的一

33、般格式如下:类属说明的一般格式如下:类属说明的一般格式如下:类属说明的一般格式如下:n nGENERIC(GENERIC(参数参数参数参数1 1:参数类型:参数类型:参数类型:参数类型 :=:=静态表达式静态表达式静态表达式静态表达式;n n 参数参数参数参数2 2:参数类型:参数类型:参数类型:参数类型 :=:=静态表达式静态表达式静态表达式静态表达式;n nn n参数参数参数参数n n:参数类型:参数类型:参数类型:参数类型 :=:=静态表达式静态表达式静态表达式静态表达式);20数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n3.3.3.3.端口说明端口说明端口

34、说明端口说明n n端口说明是对设计实体和外部接口的描述,是设端口说明是对设计实体和外部接口的描述,是设端口说明是对设计实体和外部接口的描述,是设端口说明是对设计实体和外部接口的描述,是设计实体和外部通信的通道,对应电路图上的引脚。计实体和外部通信的通道,对应电路图上的引脚。计实体和外部通信的通道,对应电路图上的引脚。计实体和外部通信的通道,对应电路图上的引脚。一个端口就是一个数据对象,包括端口名、数据一个端口就是一个数据对象,包括端口名、数据一个端口就是一个数据对象,包括端口名、数据一个端口就是一个数据对象,包括端口名、数据类型、通信模式。端口说明的一般格式如下:类型、通信模式。端口说明的一般

35、格式如下:类型、通信模式。端口说明的一般格式如下:类型、通信模式。端口说明的一般格式如下:n nPORT PORT(端口名(端口名(端口名(端口名1 1:通信模式:通信模式:通信模式:通信模式 数据类型;数据类型;数据类型;数据类型;n n 端口名端口名端口名端口名2 2:通信模式:通信模式:通信模式:通信模式 数据类型;数据类型;数据类型;数据类型;n nn n端口名端口名端口名端口名n n:通信模式:通信模式:通信模式:通信模式 数据类型;数据类型;数据类型;数据类型;n n););););21数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n通信模式说明数据、信号

36、通过端口的流动方向,主要有通信模式说明数据、信号通过端口的流动方向,主要有通信模式说明数据、信号通过端口的流动方向,主要有通信模式说明数据、信号通过端口的流动方向,主要有4 4种:种:种:种:n nININININ:定义端口为单向只读模式。数据或信号从外部流向实体内部,或定义端口为单向只读模式。数据或信号从外部流向实体内部,或定义端口为单向只读模式。数据或信号从外部流向实体内部,或定义端口为单向只读模式。数据或信号从外部流向实体内部,或者从该端口读取外部数据。者从该端口读取外部数据。者从该端口读取外部数据。者从该端口读取外部数据。n nOUTOUTOUTOUT:定义端口为单向输出模式。数据或信

37、号只能从该端口流出,或:定义端口为单向输出模式。数据或信号只能从该端口流出,或:定义端口为单向输出模式。数据或信号只能从该端口流出,或:定义端口为单向输出模式。数据或信号只能从该端口流出,或者向该端口赋值。者向该端口赋值。者向该端口赋值。者向该端口赋值。22数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n nBUFFERBUFFERBUFFERBUFFER:定义端口为缓冲模式。该模式和输出模式类似,定义端口为缓冲模式。该模式和输出模式类似,定义端口为缓冲模式。该模式和输出模式类似,定义端口为缓冲模式。该模式和输出模式类似,区别在于缓冲模式允许实体内部应用该端口信号即允许内

38、区别在于缓冲模式允许实体内部应用该端口信号即允许内区别在于缓冲模式允许实体内部应用该端口信号即允许内区别在于缓冲模式允许实体内部应用该端口信号即允许内部反馈,输出模式则不能用于内部反馈。缓冲模式的端口部反馈,输出模式则不能用于内部反馈。缓冲模式的端口部反馈,输出模式则不能用于内部反馈。缓冲模式的端口部反馈,输出模式则不能用于内部反馈。缓冲模式的端口只能连接设计实体内部信号源,或者是其它实体的缓冲模只能连接设计实体内部信号源,或者是其它实体的缓冲模只能连接设计实体内部信号源,或者是其它实体的缓冲模只能连接设计实体内部信号源,或者是其它实体的缓冲模式端口。式端口。式端口。式端口。n nINOUTI

39、NOUTINOUTINOUT:定义端口为输入输出双向模式。在某些设计实体:定义端口为输入输出双向模式。在某些设计实体:定义端口为输入输出双向模式。在某些设计实体:定义端口为输入输出双向模式。在某些设计实体中,例如双向总线、中,例如双向总线、中,例如双向总线、中,例如双向总线、RAMRAM数据口、单片机的数据口、单片机的数据口、单片机的数据口、单片机的I/OI/O口等,数口等,数口等,数口等,数据是双向的,既可以流入实体内部,也可以从实体流出,据是双向的,既可以流入实体内部,也可以从实体流出,据是双向的,既可以流入实体内部,也可以从实体流出,据是双向的,既可以流入实体内部,也可以从实体流出,这是

40、需设计为双向模式。实体内部的信号和外部输入实体这是需设计为双向模式。实体内部的信号和外部输入实体这是需设计为双向模式。实体内部的信号和外部输入实体这是需设计为双向模式。实体内部的信号和外部输入实体的信号都可以经过双向模式端口,也允许引入内部反馈,的信号都可以经过双向模式端口,也允许引入内部反馈,的信号都可以经过双向模式端口,也允许引入内部反馈,的信号都可以经过双向模式端口,也允许引入内部反馈,所以双向模式是一个完备的端口模式。所以双向模式是一个完备的端口模式。所以双向模式是一个完备的端口模式。所以双向模式是一个完备的端口模式。23数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本

41、结构n n3.2.2 3.2.2 3.2.2 3.2.2 结构体描述结构体描述结构体描述结构体描述n n结构体具体描述了设计实体行为,定义了实体的逻辑功能结构体具体描述了设计实体行为,定义了实体的逻辑功能结构体具体描述了设计实体行为,定义了实体的逻辑功能结构体具体描述了设计实体行为,定义了实体的逻辑功能或内部电路结构关系,规定了该实体的数据流程,建立了或内部电路结构关系,规定了该实体的数据流程,建立了或内部电路结构关系,规定了该实体的数据流程,建立了或内部电路结构关系,规定了该实体的数据流程,建立了实体输出与输入之间的关系。实体输出与输入之间的关系。实体输出与输入之间的关系。实体输出与输入之间

42、的关系。n n结构体的一般格式如下:结构体的一般格式如下:结构体的一般格式如下:结构体的一般格式如下:n nARCHITECTURE ARCHITECTURE 结构体名结构体名结构体名结构体名 OF OF 实体名实体名实体名实体名 ISISn n 定义语句定义语句定义语句定义语句 内部信号,常数,数据类型,函数定义;内部信号,常数,数据类型,函数定义;内部信号,常数,数据类型,函数定义;内部信号,常数,数据类型,函数定义;说明语句说明语句说明语句说明语句n n BEGINBEGINn n 进程语句进程语句进程语句进程语句;功能描述语功能描述语功能描述语功能描述语句句句句n n 并行处理语句并行

43、处理语句并行处理语句并行处理语句;n n END ARCHITECTURE END ARCHITECTURE 结构体名结构体名结构体名结构体名;24数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n“说明语句说明语句说明语句说明语句”用来说明和定义结构体内部使用的用来说明和定义结构体内部使用的用来说明和定义结构体内部使用的用来说明和定义结构体内部使用的信号、常数、数据类型、函数、过程、元件调用信号、常数、数据类型、函数、过程、元件调用信号、常数、数据类型、函数、过程、元件调用信号、常数、数据类型、函数、过程、元件调用声明等,这是结构体中必需的。声明等,这是结构体中必需的

44、。声明等,这是结构体中必需的。声明等,这是结构体中必需的。n n“功能描述语句功能描述语句功能描述语句功能描述语句”描述结构体的行为、功能、电描述结构体的行为、功能、电描述结构体的行为、功能、电描述结构体的行为、功能、电路连接关系等,可以是并行语句、顺序语句或者路连接关系等,可以是并行语句、顺序语句或者路连接关系等,可以是并行语句、顺序语句或者路连接关系等,可以是并行语句、顺序语句或者它们的混合。其中并行语句是结构体描述的主要它们的混合。其中并行语句是结构体描述的主要它们的混合。其中并行语句是结构体描述的主要它们的混合。其中并行语句是结构体描述的主要语句,并行语句间是并行的,没有顺序关系。进语

45、句,并行语句间是并行的,没有顺序关系。进语句,并行语句间是并行的,没有顺序关系。进语句,并行语句间是并行的,没有顺序关系。进程语句是典型的并行语句,进程间是并行的,但程语句是典型的并行语句,进程间是并行的,但程语句是典型的并行语句,进程间是并行的,但程语句是典型的并行语句,进程间是并行的,但进程内部的语句是有顺序的。进程内部的语句是有顺序的。进程内部的语句是有顺序的。进程内部的语句是有顺序的。25数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n结构体功能可以用三种方式进行描述,即行为描结构体功能可以用三种方式进行描述,即行为描结构体功能可以用三种方式进行描述,即行为描

46、结构体功能可以用三种方式进行描述,即行为描述法、数据流描述法、结构描述法:述法、数据流描述法、结构描述法:述法、数据流描述法、结构描述法:述法、数据流描述法、结构描述法:n n1.1.1.1.行为描述法行为描述法行为描述法行为描述法n n行为描述表示输入与输出间转换的关系,是对设行为描述表示输入与输出间转换的关系,是对设行为描述表示输入与输出间转换的关系,是对设行为描述表示输入与输出间转换的关系,是对设计实体按算法的路径来描述。采用进程语句,顺计实体按算法的路径来描述。采用进程语句,顺计实体按算法的路径来描述。采用进程语句,顺计实体按算法的路径来描述。采用进程语句,顺序描述设计实体的行为。这种

47、描述方式通常是对序描述设计实体的行为。这种描述方式通常是对序描述设计实体的行为。这种描述方式通常是对序描述设计实体的行为。这种描述方式通常是对整体设计功能的定义,不是对单一器件进行描述,整体设计功能的定义,不是对单一器件进行描述,整体设计功能的定义,不是对单一器件进行描述,整体设计功能的定义,不是对单一器件进行描述,是一种高层次的描述方法。是一种高层次的描述方法。是一种高层次的描述方法。是一种高层次的描述方法。26数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构图3-3 半加器及其逻辑电路27数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构nARCHIT

48、ECTURE alg_ha OF half_adder ISnBEGINnPROCESS(a,b)n BEGINn IF a=0 AND b=0 THENn c=0;ns=0;n ELSIF a=1 AND b=1 THENn c=1;ns=0;n ELSEn c=0;ns=1;n END IF;nEND PROCESSnEND alg_ha;28数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n n2.2.2.2.数据流描述法数据流描述法数据流描述法数据流描述法n n数据流描述法描述了数据流程的运动路径、运动数据流描述法描述了数据流程的运动路径、运动数据流描述法描述了数据

49、流程的运动路径、运动数据流描述法描述了数据流程的运动路径、运动方向和运动结果,采用进程语句顺序描述数据流方向和运动结果,采用进程语句顺序描述数据流方向和运动结果,采用进程语句顺序描述数据流方向和运动结果,采用进程语句顺序描述数据流在控制流作用下被加工、处理、存储的全过程。在控制流作用下被加工、处理、存储的全过程。在控制流作用下被加工、处理、存储的全过程。在控制流作用下被加工、处理、存储的全过程。n n由半加器的真值表可推导信号间逻辑关系,用逻由半加器的真值表可推导信号间逻辑关系,用逻由半加器的真值表可推导信号间逻辑关系,用逻由半加器的真值表可推导信号间逻辑关系,用逻辑表达式描述如下:辑表达式描

50、述如下:辑表达式描述如下:辑表达式描述如下:n n s=a s=a b bn n c=a b c=a bn n基于上述逻辑表达式的数据流描述为:基于上述逻辑表达式的数据流描述为:基于上述逻辑表达式的数据流描述为:基于上述逻辑表达式的数据流描述为:29数字逻辑3.2 VHDL3.2 VHDL程序的基本结构程序的基本结构n nARCHITECTURE dataflow_ha OF half_adder ISARCHITECTURE dataflow_ha OF half_adder ISn nBEGINBEGINn ns=a XOR bs=a XOR b;n nc=n LDd a AND bc=n

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档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