08第八讲VHDL语言中的函数子程序包和库精品PPT课件
- 格式:ppt
- 大小:683.00 KB
- 文档页数:39
VHDL 程序包及函数程序包VHDL引入程序包的结构,使一些通用的对象、数据类型及子程序能被其他程序的实体共同使用一个程序包由两大部分组成:程序包说明和程序包体。
程序包体是一个可选项一般情况,程序包说明列出所有项的名称,而程序包体给出各项的细节。
程序包说明通常的常量、信号数据类型及子类型的数据范围、函数和过程等说明的集合,称程序包说明。
下述内容中只要是通用的全局量,都可以在程序包中加以说明。
对象(常量、变量、信号)的数据类型说明对象(常量、变量、信号)子类型的数值范围说明函数与过程说明元件语句说明信号连接说明延时常量说明文件说明设计者自定义的属性说明程序包说明格式如下:package程序包名is说明语句;end程序包名;程序包名:设计者自定义便于记忆的标识符说明语句:包括各种类型的说明语句程序包体描述函数和过程功能的函数体与过程等的集合称程序包体程序包说明中,定义了数据类型和子程序中的函数、过程说明,而程序包体中才具体地描述该函数、过程功能的语句和数据的赋值。
程序包体格式:package body程序包名is顺序语句;end程序包名;程序包名:与程序包说明中的程序包名相同顺序语句:描述函数、过程及其他功能的程序流子程序--过程VHDL中,所谓子程序指主程序调用它后能将处理结果返回主程序的程序模块。
VHDL语言中,子程序有两种类型,过程(procedure)和函数(function)。
他们的区别:1、过程可具有多个返回值,而函数只能有一个2、过程通常用来定义一个算法,而函数往往用来产生一个特定的值3、过程中的参数可具有3种端口模式:in、out、inout,而函数中的参数只能具有一直端口模式:in过程的书写结构对于VHDL子程序来说,它通常包括子程序说明部分和子程序定义部分。
其中,子程序说明部分定义了其他设计调用子程序的接口;子程序定义部分则描述该子程序具体功能的实现。
因此,通常将子程序说明部分和子程序定义部分的书写结构分别介绍在VHDL中,过程说明部分的书写结构:procedure:过程名(对象类型1参数名1:端口模式1数据类型1;对象类型2参数名2:端口模式2数据类型2;.);过程说明部分以保留字"procedure"开始,紧跟着的是过程名;然后是过程的参数列表。