4.2.3 块语句(BLOCK)
块(BLOCK)语句可以看作是结构体中的子模块,块语句把许多并行语句组合在一起形成一个子模块,而它本身也是一个并行语句。
图4.5 例4.35的错误的工作时序
图4.6 例4.36的正确的工作时序
块语句的基本结构如下:
下面对这几部分说明如下:
(1)作为一个BLOCK语句结构,在关键词“BLOCK”的前面必须设置一个块标号。
(2)接口说明部分有点类似于实体的定义部分。
(3)块的类属说明部分和接口说明部分的适用范围仅限于当前BLOCK。所以,所有这些在BLOCK内部的说明对于这个块的外部来说是完全不透明的,即不能适用于外部环境,但对于嵌套于内层的块却是透明的。
(4)块中的并行语句部分可包含结构体中的任何并行语句结构。BLOCK语句本身属并行语句,BLOCK语句中所包含的语句也是并行语句。
BLOCK的应用可使结构体层次鲜明,结构明确。利用BLOCK语句可以将结构体中的并行语句划分成多个并列方式的BLOCK,每一个BLOCK都像一个独立的设计实体,具有自己的类属参数说明和界面端口,以及与外部环境的衔接描述。
【例4.37】
本例是利用块语句描述的全加器,结构体内含有4个进程语句,这4个进程语句是并行关系,共同形成了一个块语句。
需特别注意的是,块中定义的所有的数据类型、数据对象(信号、变量、常量)和子程序等都是局部的;对于多层嵌套的块结构,这些局部定义量只适用于当前块,以及嵌套于本层块的所有层次的内部块,而对此块的外部来说是不可见的。
例4.38是一个含有三重嵌套块的程序,从此例能很清晰地了解上述关于块中数据对象的可视性规则。
【例4.38】
此例是对嵌套块的语法现象做一些说明,它实际描述的是如图4.7所示的两个相互独立的二输入与门。
图4.7 例4.38描述的电路图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。