ABEL语音源文件基本格式规则课件_第1页
ABEL语音源文件基本格式规则课件_第2页
ABEL语音源文件基本格式规则课件_第3页
ABEL语音源文件基本格式规则课件_第4页
ABEL语音源文件基本格式规则课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABEL语音源文件基本格式规则

ABEL语音是美国DATAI/O公司开发的一种逻辑设计软件,它是最早流行的硬件描述语言,简单易学,有多种EDA开发软件支持。它能支持多种型号的PLD器件(主要是Lattice公司的芯片)。ABEL-HDL硬件描述语言硬件描述语音与原理图逻辑设计相比有如下特点:以文本形式表示逻辑电路的结构和行为,可直接将逻辑方程、真值表或状态图转换为硬件描述语言的形式设计精确简练,便于阅读和分析易于设计修改、调用、共享和更新与原理图混合设计,构成“自顶而下”的层次化设计方法ABLE-HDL源文件基本格式五个部分模块头设计说明设计描述设计仿真结束模块4位二进制数值比较器ABEL源文件Modulecomp4

Title‘4位二进制数值比较器’Declaration A3,A2,A1,A0 pin; B3,B2,B1,B0 pin; A_NE_B,A_EQ_B,A_GT_B,A_LT_Bpinistype’com’;

No,Yes=0,1; A=[A3,A2,A!,A0]; B=[B3,B2,B1,B0];Equations A_EQ_B=(A==B); A_GT_B=!(A==B); A_GT_B=A>B; A_LT_B=A<B;Test_Vectors([A,B]->[A_EQ_B,A_GT_B,A_LT_B,A_NE_B]) [0,0]->[Yes,No,No,No]; [1,0]->[No,Yes,No,Yes]; [3,9]->[No,No,Yes,Yes];END 模块头部分设计说明部分设计描述部分设计仿真部分结束部分一、模块头部分格式:MODULE模块名模块名由用户自定义例:MODULE4comp表明ABEL硬件描述的开始说明:此语句是必须的,它是一个模块的头,而且必须有一个END语句与之相配合,模块名相当于元件符号。二、设计说明部分1、TITLE标题语句:

TITLE‘字符串’例:Title‘4位二进制数值比较器’提供设计的说明信息:设计题目、设计者单位和姓名、设计时间、输入信号、输出信号、内部信号、引脚属性、常量定义说明:此语句是可选的,主要说明模块的内容、用途、作者、设计时间和地点,单引号内为说明内容。2、Device器件定义语句:器件名DEVICE实际器件;例:U09DEVICE‘P16V8S’器件名即设计模块中所用的标识符,实际器件为实际器件的工业型号,用字符串表示。说明:在ispLever

软件中,实际器件是在菜单下选择的,故器件定义语句可以省去。二、设计说明部分3、Pin管脚定义语句:[!]信号名…PIN[管脚号…]ISTYPE[,属性];例:!Clock,Reset,S1PIN12,15,3;说明:管脚定义语句说明信号标识符与真实器件管脚之间的关系,并给出可编程管脚的属性。“!”表示低电平有效。二、设计说明部分4、NODE节点定义语句::

[!]节点名…NODE[节点号…]ISTYPE[,属性];例:ANODE12=‘pos,com’;

表示节点12名为A,为正极性且信号为组合型。说明:节点定义语句和管脚定义语句类似,代表器件内部的中间信号,称为“伪管脚”。二、设计说明部分5、常量定义语句:常量名[,常量名]…=表达式[,表达式]…;例:

X=.X.;C=.C.;A=[!B,D];

说明:简化程序设计。二、设计说明部分6、宏定义语句及扩展:

宏名MACRO([哑变量,[哑变量]…]){块};

宏定义中的块可以用逻辑表达式描述,也可以用真值表来描述。例:用宏定义一个三输入与非门。

①用逻辑表达式描述:

NAND3MACRO(A,B,C){!(?A&?B&?C)};

调用:D=NAND3(Clock,Hello,Busy);

则:D=!(Clock&Hello&Busy);二、设计说明部分例:用宏定义一个三输入与非门。

②用真值表描述:

NAND3MACRO(A,B,C){TRUTH_TABLE([?A,?B,?C]->?Y)[0,.X.,.X.]->1;[.X.,0,.X.]->1;[.X.,.X.,0]->1;[1,1,1]->0;};

调用:D=NAND3(Clock,Hello,Busy);

则:TRUTH_TABLE([Clock,Hello,Busy]->D)[0,.X.,.X.]->1;[.X.,0,.X.]->1;[.X.,.X.,0]->1;[1,1,1]->0;};7、ISTYPE属性定义语句:

信号名[,信号名]…ISTYPE‘属性[,属性]…’;属性定义语句用于对管脚或节点具有可编程特性的器件进行属性定义,使具体的器件形成正确的逻辑并使设计优化。

ISTYPE属性定义语句必须放在DEVICE器件定义语句、PIN管脚定义语句、NODE节点定义语句之后。例:

OUT0,OUT1,OUT2PIN3,4,5ISTYPE‘COM’;OUT3,OUT4PIN6,7ISTYPE‘REG’;二、设计说明部分管脚、节点常用属性:关键字说明Pos正极性Neg

负极性Com组合逻辑输出Reg寄存器输出Buffer寄存器缓冲输出Invert寄存器反相缓冲输出Latch锁存输入Reg_dD触发器输出Reg_rsRS触发器输出Reg_jkJK触发器输出Reg_TT触发器输出

ABEL语言描述逻辑功能的方法有三种:

☆逻辑方程

☆真值表

☆状态机三、设计描述部分1、逻辑方程:关键字EQUATIONS表示一组逻辑方程的开始。例:

EQUATIONSA=B&C#D;[W,Y]=3;!F=(B==C);WHEN(select==0)THENy=a;2、真值表:关键字TRUTH_TABLE表示一组逻辑方程的开始。例:TRUTH_TABLE([en,A,B]->Y)[0,.X.,.X.]->.Z.;[1,0,0]->0;[1,0,1]->1;[1,1,0]->1;[1,1,1]->0;3、状态机:关键字STATE_DIAGRAM表示一组逻辑方程的开始。例:

STATE_DIAGRAM[A,B]STATE3:Y=3;GOTO1;STATE1:Y=1;GOTO2;STATE2:Y=2;GOTO3;四、设计仿真部分测试向量表:

TEST_VECTORS(输入向量->输出向量)

[输入信号值->输出信号值;]

[输入信号值->输出信号值;]

……例:

TEST_VECTORS([A,B]->[C,D])0->1;1->2;2->3;3->0;五、设计结束部分END表示设计模块结束ABLE硬件描述语音规则一、基本语法1、关键字、标识符及数字之间必须用一个或一个以上的空格分开,以下情况除外:(1)一系列标识符可以用逗号分开。例A,B,Cpin;(2)表达式中的数字与标识符之间可以用运算符分开。例Y=!A&B&!C;(3)园括号可起分隔符的作用例Test_Vectors(cp->Q)2、关键字、标识符、运算符及数字中间不能嵌入空格:错误正确例MODULEMODULE例Y1=!A&B&!C;Y1=!A&B&!C;例>=>=

例12341234

空格可以出现在字符串、注释行、程序块及实变量中例:‘Thisis……’

例://thisis3、关键字不区分大小写:例MODULEModule

module

4、标识符区分大小写:例A_EQ_B

a_eq_b

A_eq_b

二、合法的ASCII码所有大写、小写字母及一般键盘使用的大部分字符均为合法字符标识符代表器件、器件管脚、节点、集合、输入信号、输出信号、宏、常量及变量等。用户自定义标识符不能超过31个字符标识符必须以字母或下划线开头除首字符外,标识符可由大小写字母、数字、波浪号~和下划线组成标识符中不能有空格标识符中不能有句号“.”标识符不能和关键字(即保留字)重名例:AB1This_is_input

1A$Bhel.loThisisinput见名知意三、标识符:又叫保留标识符,ABEL语言本身使用,已有明确的特殊含义。不能给器件、器件管脚、节点、集合、输入信号、输出信号、宏、常量及变量等命名为标识符。常用的关键字如下:Truth_tableDeclarationsDeviceEndEquationsGotoIstypeMacroModuleNodePinStateState_diagramTest_vect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论