网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> EDA >> HDL >> 文章正文
  ABEL-HDL语言           ★★★ 【字体:
ABEL-HDL语言
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-11-2    

ABEL-HDL语言是一种用语言来描述器件逻辑功能的设计语言,它与其它计算机语言一样有一些关键字及一些规定。

  (1)基本的运算表示

  ABEL-HDL语言运算可分为逻辑运算和算术运算。下面两个表格分别列出了两种运算的符号及功能,下面表格中红底的项为时序电路中才会使用到。

ABEL-HDL基本逻辑运算符号

运算符

优先级

功能

例子

含义

!

1

取反

!(AB)

(AB)的非

&

2

与运算

A&B

A·B

#

3

或运算

A#B

A+B

$

4

异或运算

A$B

AB

=

 

赋值

A=5

5赋给A

==

 

数值相等

A==1

用于判断数值相等

!=

 

数值不等

A!=1

用于判断数值不等

ABEL-HDL基本算术运算符号

运算符

功能

举例

含义

+

算术加

C=A+B

AB相加,将积再赋给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起的三行用下面一段代替即可。