3.4 VHDL中的描述语句 在进程中允许对子程序进行调用。子程序包括过程和函数,可以在VHDL的结构体或程序包中的任何位置对子程序进行调用。 从硬件角度讲,一个子程序的调用类似于一个元件模块的例化,也就是说,VHDL综合器为子程序的每一次调用都生成一个电路逻辑块。所不同的是,元件的例化将产生一个新的设计层次,而子程序调用只对应于当前层次的一部分。 子程序分成子程序首和子程序体,这样分的好处是,在一个大系统的开发过程中,子程序的界面,即子程序首是在公共程序包中定义的。这样以来,一部分开发者可以开发子程序体,另一部分开发者可以使用对应的公共子程序,即可以对程序包中的子程序做修改,而不会影响对程序包说明部分的使用。这是因为,对应子程序体的修改,并不会改变子程序首的界面参数和出入口方式的定义,从而对子程序体的改变不会改变调用子程序的源程序的结构。 1.过程调用 过程调用就是执行一个给定名字和参数的过程。调用过程的语句格式如下: 过程名[([形参名=>]实参表达式 {, [形参名=>]实参表达式})]; 其中,括号中的实参表达式称为实参,它可以是一个具体的数值,也可以是一个标识符,是当前调用程序中过程形参的接受体。在此调用格式中,形参名即为当前欲调用的过程中已说明的参数名,即与实参表达式向联系的形参名。被调用中的形参名与调用语句中的实参表达式的对应关系有位置关联法和名字关联法两种,位置关联可以省去形参名。
2.函数调用 函数调用与过程调用是十分相似的,不同之处似,调用函数将返还一个指定数据类型的值,函数的参量只能是输入值。
return 语句用于终止一个子程序。 return expression; -- 函数 return; -- 过程(可选)
|
|||