EDA中函数与过程的设计与功能有什么区别?调用上有什么区别?

2025-03-22 01:35:27
推荐回答(3个)
回答(1):

1.函数的定义由函数首和函数体两部分组成,在进程或结构体中不必定义函数首,而在程序包中必须定义函数首。
过程也由过程首和过程体构成,在进程或结构体中不必定义过程首,而在过程包中必须定义过程首。
2.函数是串行,过程是串行。
3区别:(1)参数表的区别。函数的参数表是用来定义输出值的,所以不必以显式表示参数的方向;过程的参数表可以对常数、变量和信号三类数据对象目标作出说明,并用关键词IN、OUT和INOUT定义这些参数的工作模式,即信息的流向。如果没有指定模式,则默认为IN。 (2)函数参量可以是信号或常数,默认函数参数为常数;过程的参数类型可以是常量或者是变量。
(3)过程可有多个返回值,函数只能有一个。 (4)过程中可以有wait,而函数中不可以。
(5)调用方式:函数调用时将所定义的函数作为语句中的一个因子如如一操作数或赋值句。过程调用将定义的过程名作为一条语句来执行。

回答(2):

在过程语句中,当过程语句执行结束后,再过程内所传递的输入和输出参数值将复制到调用者的信号或变量中,此时输入输出参数若无特别指定按变量对待,将值传给变量。若作为信号使用则在过程参数定义时要指明是信号而函数的输入值由调用者复制到输入参数中,若无特别指定,按常数处理。过程调用本身是一条完整调用语句,函数调用只有赋值给某一对象时才构成一条完整语句。

回答(3):

推荐潘松黄继业的EDA程序设计