10.布尔方程语法
[WHEN条件THEN] [f]……[ENABLE]元素=表达式:[ELSE方程]
或者[WHEN条件THEN] [!]……[ENABLE]元素:=表达式:[ELSE方程]
式中:
条件:任意合法表达式。
元素:给一个或一组信号命名的标识符,或要被表达式赋值的集合。
表达式:由标识符和运算符号组成的式子,求值后得出一个结果。
例如:
11.ABEL语言的集合ABEL硬件描述语言允许使用一个标识符表示威组出现的信号或常量,称之为集合。集合中每—个独立分量称为该集合的元素。集合的引入简化了逻辑描述和测试矢量的表示方法。对于两个或两个以上集合的运算,则要求参加运算的集合中元素数目必须相等。表示方法是用方括号将这些信号和常量括起来,信号和常量之间需用逗号或排列号“..”隔开。
例如:
MULTOUT=[BO,B1,B2,B3,B4,B5,B6,B7];SELECT=[SO.Sl,S2]:
或用排列号定义:
MULTOUT=[BO..B7]:
SELECT=[SO..S7]:
用排列号定义时,排列号两边的标识符名必须一致,即带数字下标的字母要相同。也可按下标递减排列,如:
MULTOUT=[B7,B6,B5,B4,B3,B2,B1,BO];对集合的运算是对应集合中的每个元素进行的。对两个以上集合进行运算,集合中的元素个数必须相等,例如:
用集合运算实现布尔方程ChipSeI=A15&!A14&A13;首先,定义一个包含A15,A14.A13的常量集合Addr=[A15,A14,A13l;于是方程ChpSeI=Addr=[1,O,l]'的逻辑功能等效于ChipSeI=A15&!
A14&A13;因为如果ChpSeI=Addr=[l,O,I];即A15=1,A14=0,A13=1,那么ChipSel为真。上述集合方程也可写成:
ChipSeI=Addr=5。
12.ABEL语言的块
块是在大括号内的ASCII文本段。
块用于宏定义和指示字中,块中的文本可以为一行或多行。块可以嵌套。
例:{This is a bLOCkl又如:{This is also block.and itspans more than one linel13.变量及变量代换哑变量:在宏定义、模块或指示字中可被真实变量替代的标识符。
真实变量:用于宏定义、模块或指示字中的变量,可替代哑变量。
在需要用真实变量取代哑变量的地方,哑变量前要加一个问号“?”,以与其它标识符区分开来。如下面的宏定义OR_EM MACRO(a,b,c)(?a#?b#?c}:中,a,b.c就是哑变量。
下列方程是对OR_EM宏的宏引用D=OR_EM(X,Y.Z);其中X,Y,Z是真实变量。