顺序语句模型是嵌套式的链表结构。每种语句都有自己的结构模型,便于模拟时分析、处理。复合语句中嵌套简单语句和下一层复合语句。条件语句的模型可以是一个只包含
Then和 Else两个域的结构。Elsif部分可以转换成条件语句的嵌套。For循环语句与While循环语句在结构和模拟计算方面有较大的区别,故分别做成不同的模型。
过程调用包括并行过程调用语句和顺序过程调用语句。并行过程调用语句等价为只含有一个顺序过程调用语句的进程。函数调用只出现在表达式中。过程调用和函数调用实质上是执行一系列顺序语句,但由于调用时要传送参数,可能有多个调用源,而且有可能递归调用,需要建立一种特殊的调用结构,保存调用参数和有关信息。过程调用和函数调用的区别在于:过程中有信号作为输出参数,需要对信号事件进行处理,而函数则没有输出参数,却需要有返回值;过程中可以有等待语句,而函数中没有。一般情况下,将过程和函数的定义描述部分做成同样的模型,并设适当的区分标志,在模拟时分别处理其特殊情况。过程或函数调用中若有非限定数组,需要在模拟调用时动态确立,根据调用参数确定数组的界。
作为类比,进程链表相当于逻辑模拟器中的元件表。此外,进程模型中也需要一个信号表。所不同的是,进程节点本身是一个复杂的结构,它含有所包含的各个语句,含有激活或挂起的信息。
|