6.4 子程序和并行过程调用语句
在进程中允许对子程序调用,包括过程调用和函数调用。
6.4.1 过程调用语句
过程调用前需要将过程的实质内容装入程序包(package)内,通常情况下,过程调用语句包括过程首和过程体两个部分。过程首是过程的索引。
过程首的语句格式如下。
过程调用的格式如下。
过程名(关联实参表);
例如:“h_adder(a,b,sum);”。
调用一个过程时,首先将IN和OUT模式的实参值赋给要调用的过程中与之对应的形参,然后执行调用过程,最后将过程中IN和OUT模式的形参值赋给对应的实参。
例如:
【例6.4.1】 简单1位半加器。
首先,将过程装入程序包。
过程调用语句出现在进程中时,属于顺序过程调用语句;若出现在结构体或块语句中,则属于并行过程调用语句。每调用一次过程,就相当于插入一个元件。
注意:将过程装入程序包时,目标赋值对象必须是信号类型。
【例6.4.2】
6.4.2 函数调用语句
函数调用前也需要将函数的实质内容装入程序包中。函数调用语句包括函数首和函数体两个部分。
函数首的语句格式如下。
FUNCTION函数名(形参表)RETURN数据类型;
其中,“数据类型”是声明返回值的数据类型。
函数体也是放在程序包的包体内,其格式如下。
FUNCTION函数名(形参表)RETURN数据类型IS
[声明部分]
BEGIN
顺序语句;
RETURN[返回变量名];
END[函数名];
函数调用语句的格式为
函数名(关联参数表);
函数体包含一个对数据类型、常数和变量等的局部声明,以及用于完成规定算法的顺序语句。一旦函数被调用,就执行这部分语句,并将计算结果用函数名返回。
【例6.4.3】 用函数调用的方法设计简单1位半加器。
首先,将函数装入包中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。