ABEL语言使用入门资料

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Addr = [A7 .. A0];
为界限符法
Addr = [A7 .. A2,A1,A0];
为两种方法的组合
DEMO
激励信号
8、ABEL语言对寄存器的描述
Q1.d = ; 用Q1表示 Q1.clk = ; D寄存器 Q1. ar = ;
Q1. ap = ;
Q1.q := ; Q1.clk = ; 寄存器的输出 Q1. ar = ; Q1. ap = ;
• 标识符用来表示标识器件名称、器件引 脚名称、输入或输出信号的名称、状态 名称、集合名称、常量及模块名称等。
• 标识符必须以英文字母或下划线“ ”开 始,其后可跟数字、英文字母、波浪线 “~”和下划线“ ”,
• 标识符最长不得超过31个字符;
• 标识符与字母的大小写有关。如En和en 是两个不同的标识符。
G, L, E
A = [A3..A0];
equations
ABEL样本文件
模块名
pin; pin; pin istype 'com’ ; B = [B3..B0];
逻辑方程段
G = ( A>B ) ; L = ( A<B ) ;
句尾分号
E = ( A=B ) ;
test_vectors ( [ A, B ]->[ G, L, E ])
A&B

2
#
A#B

3
$
A$B
异或
3
异或非(同
!$
A!$B
或)
3
关系运算符
==
A= =B
等于
4
!=
A!=B
不等于
4
<
A<B
小于
4
小于或等
<=
A<=B

4
>
A>B
大于
4
大于或等
>=
A>=B

4
赋值运算符
组合逻辑赋值 (把 B 的值立即赋给 A,
=
A=B 没有时延)
寄存器赋值 (在下一个时钟脉冲有效沿来 : = A: =B 后,把 B 的值赋予 A)
.F.
悬浮的输入或输出信号
.K.
时钟输入(高电平—低电平—高电平转换)
.P.
寄存器预加载
.U.
时钟脉冲上升沿(低电平—高电平转换)
.X.
任意值
.Z.
三态值
•表示方法是在英文字母的左下方及右下方各加一个圆点。 •专用常量字母可以用大写或者小写字母输入,表示的含 义相同。
3、注释
用户可用两种方式进行注释: (1) 用一对双撇号" "括起来或用双撇号"开始,
标识符与关键字(续)
• 关键字是一些具有特殊用途的保留标识符。
• 关键字不得用来给器件、引脚、节点、常 量、集合、宏或信号命名。
• 关键字可以用大写、小写或大小写混合方
式输入,它们表示的含义相同。
2、 专用常量
常量


.C.
时钟脉冲输入(低电平—高电平—低电平转换)
.D.
脉冲下降沿(高电平—低电平转换)
DEMO
算术运算符
运算符
- - + * /
%
<< >>
表达式 举例 -A A-B A+B A*B A/B
A%B
A<<B A>>B
说明
求二进制 补码 减 加 乘
无符号整 除
取模:无符 号数整除
的余数 A 左移 B 位 A 右移 B 位
运算优先级
1
优先级最高
3 3 2
2
2
2 2
逻辑运算符

!A

1
&
—— ABEL语言使用入门
电信系电子技术教研中心制作
9.2 ABEL简介
一、ABEL语言的基本语法 二、ABEL源文件的基本结构 三、ABEL语言的语句 四、ABEL语言电路设计举例

ABEL语言简介
• ABEL语言是一种硬件描述语言(也称为 ABEL-HDL),是开发PLD的一种高级程 序 设 计 语 言 , 由 美 国 DATA I/O 公 司 于 1983~1988年推出。
以行结束来结束。 (2) 用一双斜杠//开始,以行结束来结束。
4、数
(1) ^b,^o,^d及^h(或^B,^O,^D及^H)表 示,^d可以省略不写。
(2) 可以用英文字母的字符串表示数, 如:'A'= ^h41,'AE'= ^h4145。
DEMO
5、运算符和逻辑表达式 • 算术运算符 • 逻辑运算符 • 关系运算符 • 赋值运算符
• ABEL语言支持逻辑方程、真值表和状态 图三种逻辑描述方式。
• 具有简单易学的特点。
ABEL样本文件
四位二进制数的比较器
COMP4
A3

A A>B
G
A0
A<B
L
B3 …
A=B
E
B
B0
DEMO
ABEL程序
module COMP4
declarations
变量说明段
A3, A2, A1, A0 B3, B2, B1, B0
二、 ABEL源文件的基本结构
module 模块名;
[title '标题说明' ]
"模块开始
Declarations
[器件名 device '器件的工业标号' ;]
信号名, 信号名pin [引脚号, 引脚号]
信号名, 信号名node [istype '属性' ];
[常量说明语句;] [集合的定义;] [宏定义语句;]
[ 0, 0 ] -> [ 1, 0, 0];
测试向量段
[ 0, 1 ] -> [ 0, 1, 0]; [ 15,10 ] -> [ 0, 0, 1];
end COMP4
一、 ABEL语言的基本语法
• 标识符与关键字
基 • 专用常量 本 • 注释与数 知 • 运算符和逻辑表达式
•块
识 •பைடு நூலகம்集合
1、标识符与关键字
ELSE WHEN (Mode = = T_Data) THEN { Out_data := T_in; T_Valid := 1; }
DEMO
7、集合
• 集合是作为一个整体参与运算的一组信号或常量。
• 它采用一个标识符,用方括号内的一组信号或常 量表示,其中的每一个信号或常量称为集合的元 素。
例: Addr = [A7, A6, A5, A4,A3,A2,A1,A0]; 为枚举法
6、块
• 块是括在大括号“{}”内的一段ASCII码文本, 括号内的文本可以是一行,也可以是多行。
• 块用于方程式、状态图、宏定义和指示字中,块 可以嵌套使用,即块中包含块。
例: WHEN (Mode = = S_Data) THEN { Out_data := S_in; S_Valid := 1; }
[istype
'属性' ];
说明部分
[equations
逻辑方程; 逻辑方程;] [truth-table(输入变量-> 输出变量) 真值表;]
逻辑关系描述部分 (三者取一或其任意组合)
[state-diagram(状态变量) 状态图描述;]
[test-vectors(输入变量-> 输出变量) 测试向量表;]
相关文档
最新文档