文档介绍:在系统可编程技术
第5讲
ABEL语言常用语句、真值表设计法
一、ABEL语言常用语句
格式:
MODULE 模块名
模块名由用户自定义
例: MODULE 4comp
1、Module(模块语句)
说明:
此语句是必须的,它是一个模块的头,而且必须有一个END语句与之相配合,模块名相当于元件符号。
ABEL语言常用语句
2、TITLE 标题语句:
格式:TITLE ‘字符串’
例: Title ‘4位二进制数值比较器’
说明:
此语句是可选的,主要说明模块的内容、用途、作者、设计时间和地点,单引号内为说明内容。
ABEL语言常用语句
3、 Device 器件定义语句:
器件名 DEVICE 实际器件;
例:U09 DEVICE ‘P16V8S’
器件名即设计模块中所用的标识符,实际器件为实际器件的工业型号,用字符串表示。
说明:
在ispLever 软件中,实际器件是在菜单下选择的,故器件定义语句可以省去。
ABEL语言常用语句
4、 Pin 管脚定义语句:
[!]信号名… PIN[管脚号…]ISTYPE[,属性];
例: !Clock,Reset,S1 PIN 12,15,3;
说明:
管脚定义语句说明信号标识符与真实器件管脚之间的关系,并给出可编程管脚的属性。
“!”表示低电平有效。
5、 NODE 节点定义语句:
[!]节点名… NODE[节点号…]ISTYPE[,属性];
例:A NODE 12=‘’;
表示节点12名为A,为正极性且信号为组合型。
说明:
节点定义语句和管脚定义语句类似,代表器件内部的中间信号,称为“伪管脚”。
ABEL语言常用语句
6、常量定义语句:
常量名[,常量名]…=表达式[,表达式]…;
例:
X=.X.;
C=.C.;
Y = ‘cd' ; " Y = ^h4364 ;
ADDR = [1,0,15]; " ADDR is a set with 3 elements
A,B,C = 5,[1,0],6; " 3 constants declared here
A = B & C; " operations on identifiers are valid
A = [!B,C]; " set and identifiers on right
说明: 简化程序设计。
ABEL语言常用语句
7、宏定义语句及扩展:
宏名 MACRO([哑变量,[哑变量]…]){块};
宏定义中的块可以用逻辑表达式描述,也可以用真值表来描述。
例:用宏定义一个三输入与非门。
①用逻辑表达式描述:
NAND3 MACRO(A,B,C){!(?A&?B&?C)};
调用:D=NAND3(CLK,GA,GB);
则:D=!(Clk&GA&GB);
ABEL语言常用语句
8、 ISTYPE 属性定义语句:
信号名[,信号名]… ISTYPE ‘属性[,属性]…’;
属性定义语句用于对管脚或节点具有可编程特性的器件进行属性定义,使具体的器件形成正确的逻辑并使设计优化。
ISTYPE属性定义语句必须放在DEVICE器件定义语句、PIN管脚定义语句、NODE节点定义语句之后。
例:
OUT0,OUT1,OUT2 PIN 3,4,5 ISTYPE ‘COM’;
OUT3,OUT4 PIN 6,7 ISTYPE ‘REG’;
ABEL语言常用语句
管脚、节点常用属性:
关键字
说明
Pos
正极性
Neg
负极性
Com
组合逻辑输出
Reg
寄存器输出
Buffer
寄存器缓冲输出
Invert
寄存器反相缓冲输出
Latch
锁存输入
Reg_d
D触发器输出
Reg_rs
RS触发器输出
Reg_jk
JK触发器输出
Reg_T
T触发器输出