8. null语句
null语句表示无任何动作。执行该语句只是为了使程序执行走到下一个语句。
格式为
null;
例如对于case语句中介绍的4选1数据选择器的设计,可以用null语句做如下修改:
9. return语句
返回语句(return)用来中止子程序的运行。1)过程返回语句
过程的返回语句格式如下:
return;
当执行了这个语句时,控制返回到该过程的调用点。2)函数返回语句
函数的返回语句格式如下:
return返回值;
返回语句将返回值作为函数的输出值回送。例如:
2.5 子程序及子程序调用语句
VHDL中的子程序包括过程(procedure)和函数(function)两类,子程序调用即调用过程或函数,并将结果赋值给信号。过程调用相当于描述语句,没有返回值,可以包含任意的in、out或inout类型参数,参数数据类型一般可用signal、variable或constant;而函数调用相当于表达式,包含多个输入参数,但只会有一个返回值,而且输入参数类型不能是variable,多使用constant。子程序调用语句都属于顺序语句的范畴,需要注意的是它们都不能使用wait语句和元件例化语句。下面分别对它们做介绍。
1. 过程(procedure)
过程用过程语句定义,其格式如下:
过程的参数可以是输入in、输出out或双向inout属性,返回值可以有多个,其返回值在声明语句中说明。
【例2.8】 返回两数中的较小数值的过程描述。
2. 过程调用
过程调用语句的格式如下:
过程名 (信号列表)
例如对于上述获取最小值的过程min的调用如下:
3. 函数(function)
函数的格式说明如下:
函数的所有参数都是in属性,返回值只有一个,在声明语句之外说明。
例如:返回两数中的较小数值的函数描述。
4. 函数调用
函数调用语句的格式如下:
函数名 (信号列表)
例如对于上述获取最小值的函数min的调用如下:
注意 : 如果将过程或函数集合到包 (package) 中 , 再利用 use 语句使包对设计成