ABEL-HDL语言是一种用语言来描述器件逻辑功能的设计语言,它与其它计算机语言一样有一些关键字及一些规定。
(1)基本的运算表示
ABEL-HDL语言运算可分为逻辑运算和算术运算。下面两个表格分别列出了两种运算的符号及功能,下面表格中红底的项为时序电路中才会使用到。
ABEL-HDL基本逻辑运算符号
|
运算符 |
优先级 |
功能 |
例子 |
含义 |
|
! |
1 |
取反 |
!(AB) |
(AB)的非 |
|
& |
2 |
与运算 |
A&B |
A·B |
|
# |
3 |
或运算 |
A#B |
A+B |
|
$ |
4 |
异或运算 |
A$B |
A⊕B |
|
= |
赋值 |
A=5 |
将5赋给A | |
|
== |
数值相等 |
A==1 |
用于判断数值相等 | |
|
!= |
数值不等 |
A!=1 |
用于判断数值不等 |
ABEL-HDL基本算术运算符号
|
运算符 |
功能 |
举例 |
含义 |
|
+ |
算术加 |
C=A+B |
将A与B相加,将积再赋给C |
|
- |
算术减 |
||
|
* |
算术乘 |
||
|
/ |
算术除 |
||
|
<<,>> |
左,右移位 |
A<<B |
将A左移B位 |
(2)关键字
|
关键字 |
作 用 |
举 例 |
|
module |
说明模块的开始,与END对应 |
MODULE tran |
|
End |
模块的结束 |
END |
|
Title |
说明模块的名称(可省略) |
Title 'U2 is a decode' |
|
Equations |
表明与器件相关的方程式的开始 |
|
|
Pin |
说明器件I/O的引脚 |
CLK,A Pin 1,2; |
|
Istype |
说明输出信号的属性 |
A Pin 19 istype 'COM'; |
|
Test_vectors |
测试向量的开始 |
|
|
Truth_table |
真值表的开始 |
|
|
When then Else |
当什么时就怎样,否则怎样 |
When b then c=0 esle a=b |
|
If then else |
(3)ABEL语言设计举例
例 写出全加器的ABEL-HDL语言的源文件。
分析:在组合逻辑电路中我们分析了全加器的电路,我们可以用真值表、逻辑表达式、电路图等几种方式来描述其逻辑功能。其表达式写为:
进位输出:Co=A·B+A·Ci+B·Ci
本位和的输出:S=A⊕B⊕C
其值表可写为:
|
Ci |
A |
B |
Co |
S |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
|
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
1 |
0 |
|
1 |
1 |
1 |
1 |
1 |
该逻辑用真值表和表达式皆可以表示,即ABEL的源文件可以有两种表达方式。
源文件1:用表达式来表示
|
源文件 |
说 明 |
| Module FSUM; | 模块定义,FSUM为模块名,每行结束用分号结束 |
| A,B,Ci pin 1,2,3; | 定义A,B,Ci对应管脚1,2,3 |
| S,Co pin 19,18 istype 'com'; | 定义S,Co的管脚,并定义其为组合逻辑电路输出 |
| Equations | 表示下面一段为逻辑表达式 |
| S=A$B$Ci; | |
| Co=A&B+A&Ci+B&Ci; | |
| Test_vectors ([Ci,A,B]->[Co,S]) | 测试向量定义,下面为测试向量用于模拟逻辑功能 |
| [0,0,0]->[0,0]; | |
| [0,0,1]->[0,1]; | |
| [0,1,0]->[0,1]; | |
| [0,1,1]->[1,0]; | |
| [1,0,0]->[0,1]; | |
| [1,0,1]->[1,0]; | |
| [1,1,0]->[1,0]; | |
| [1,1,1]->[1,1]; | |
| End | 模块结束 |
源文件2:用真值表来表示
只要将上面的源文件中Equations起的三行用下面一段代替即可。
| Truth_table ([Ci,A,B]->[Co,S]) |
| [0,0,0]->[0,0]; |
| [0,0,1]->[0,1]; |
| [0,1,0]->[0,1]; |
| [0,1,1]->[1,0]; |
| [1,0,0]->[0,1]; |
| [1,0,1]->[1,0]; |
| [1,1,0]->[1,0]; |
| [1,1,1]->[1,1]; |
转载自:南京无线电工业学校陈松