ABEL程序设计知识和技术.ppt
上传人:sy****28 上传时间:2024-09-12 格式:PPT 页数:11 大小:1.4MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

ABEL程序设计知识和技术.ppt

ABEL程序设计知识和技术.ppt

预览

免费试读已结束,剩余 1 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ABEL语言的基本语法标识符用来表示标识器件名称、器件引脚名称、输入或输出信号的名称、状态名称、集合名称、常量及模块名称等。标识符与字母的大小写有关,如En和en是两个不同的标识符。关键字是一些具有特殊用途的保留标识符。关键字可以用大写、小写或大小写混合方式输入,它们表示的含义相同。专用常量可以用大写或者小写字母输入,表示的含义相同。表示方法是在英文字母的左、右下方各加一个圆点。例如,.X.表示任意值,.Z.表示高阻态。运算符,包括3种常用的运算符逻辑运算符关系运算符赋值运算符&与运算==等于!=不等于=组合逻辑赋值#或运算>大于>=大于等于:=时序逻辑赋值!非运算<小于<=小于等于ABEL语言的基本语法块是括在花括号“{}”内的一段ASCII码文本,该文本可以是一行,也可以是多行。块用于方程式中,块可以嵌套使用。语句,在程序中的语句通常是同时执行的,与书写的前后次序无关,反映的是硬件系统运行的实际情况。语句中的赋值号是=或:=,常与when语句配合使用。在方程中允许使用when-then-else语句,不能使用if-then-else语句。例如:when(Mode==S_Data)then{Out_data:=S_in;S_Valid:=1;}elsewhen(Mode==T_Data)then{Out_data:=T_in;T_Valid:=1;}对同一个信号的多个赋值语句之间是或的关系,例如:A=B;A=C;与A=B#C等效。ABEL语言程序设计ABEL语言(也称ABEL-HDL),是由美国DATAI/O公司于1983~1988年推出的一种硬件描述语言,可用于描述现场可编程的CPLD器件的组成与功能(结构和行为)。ABEL的程序通常由头段、说明段、表达式段、结束段等部分构成。由保留字MODULE、TITLE开始的两行构成模块的头段,用于给出模块名与标题名。此处还可以选用注释形式给出其他一些信息。注释是在双撇号″之后给出的说明性信息,通常以行结束符结束本行注释,它对提高程序可读性很有效果。END是程序最后的一个保留字,是模块的结束段,用于结束模块程序。END之后的全部内容作为注释处理。说明段和表达式段的次序,需要满足先说明后使用的规则,通常是说明段在前,表达式段在后。由保留字DECLARATINONS开始的是说明段,可以对信号、常量、集合、宏(有点类似于算法语言中的带参数的子程序),我们没有使用宏。使用最多的是信号,在说明段中,需要说明选用的信号名称、类型及其管脚分配等。信号包括I/O信号,它直接与管脚连接(要通过PIN指定IO引脚号)和内部隐埋的节点信号(要用NODE说明且不能分配IO引脚号)两大类。信号名称应符合对标识符(Symbol)的规定,不能和保留字(关键字)相同。保留字中不区分大小写字母,但是用户选用的标示符中是区分大小写字母的。信号类型包括组合逻辑类型(用ISTYPE‘COM’说明)和触发器类型(用ISTYPE‘REG,KEEP’说明),对未明确说明的信号,默认其类型是组合逻辑。IO信号用作为输入还是输出(称其为属性),取决于它在逻辑表达式中的位置。每一个说明语句用分号(;)结束。由保留字EQUATIONS开始的是表达式段,用于给出每一位输出IO信号、每一个节点信号的逻辑表达式。其中赋值号′=′用于向组合逻辑信号赋值,赋值号′:=′用于向时序逻辑变量赋值。出现在赋值号左侧的信号是输出变量,出现在赋值号右侧的信号是输入变量,这类似于数学方程中的它变量和因变量。表达式中的′&′、′#′、′!′分别是′与′、′或′、′非′运算符。某些管脚可以分时用于输入或输出,会用到三态逻辑,需要写出单独的控制语句,通过在变量名后接′.OE=控制信号名′的方式指出输出是正常电平还是高阻态。需要为触发器电路指定时钟脉冲信号,需要写单独的语句,通过在变量明后接′.CLK=脉冲信号名′的方式指出用到的时钟信号。每一个赋值语句用分号(;)结束。原理性的8位运算器的设计与实现ispMACH器件MODULEispmach“模块名,用标示符给出TITLE‘simplealu’“标题名,用字符串给出“programalu8.abl2013/03/17ALU选用串行进位方式DECLARATIONS"说明入出信号和内部节点信号clkpin68;“时钟脉冲信号alu_f1,alu_f0,b_sel,oepin45,46,43,44istype‘com’;“4位控制信号,输入D7..D0pin85,86,83,84,81,82,75,76;“8位开关数据,输入Y_out7..Y_out0pin37,38,35,36,25,26,23,22;“ALU运算结果,输出Ac