ABEL-HDL语言介绍课件_第1页
ABEL-HDL语言介绍课件_第2页
ABEL-HDL语言介绍课件_第3页
ABEL-HDL语言介绍课件_第4页
ABEL-HDL语言介绍课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第二章ABEL-HDL语言介绍

ABEL设计软件

ABEL设计软件是一种高级编译型可编程逻辑设计软件,只需要输入符合语法规定的逻辑描述,就能设计各种不同类型的PLD器件。这种软件可以对用户的逻辑设计进行语法检查、逻辑化简、自动生成符合标准的JEDEC文件(“.JED”文件),还能将用户的设计要求与所选器件的功能相结合,分析检查用户的设计目的是否切实可行,目前已经成为国际通用的PLD辅助设计软件之一。ABEL-HDL源文件格式ABEL-HDL语言简介

1.什么是ABEL-HDL源文件

ABEL-HDL硬件描述语言是一种层次结构的逻辑描述语言,是世界上可编程逻辑器件设计应用最广的语言之一。用ABEL-HDL语言设计的文件是ASCII格式的文本文件,叫做ABEL-HDL源文件。

2.ABEL-HDL设计的基本思想

不少EDA(电子设计自动化)软件工具支持ABEL-HDL设计、原理图设计、以及ABEL-HDL和原理图混合设计等多种设计方式。由于ABEL-HDL设计对初学者易于入门,本试验选用ABEL-HDL语言来进行教学。

ABEL-HDL包括两部分:

一部分使用高级语言,用来描述逻辑设计;

另一部分是语言处理程序,用于将逻辑描述转化为其下载文件中含有编程及测试可编程逻辑器件所需的信息。

ABEL-HDL有如下一些特点:

①适用于各种型号的PLD器件的通用语法;

②结构化的高级设计语言;

③灵活的逻辑描述形式——布尔关系式、真值表、状态图;

④仿真与测试向量;

⑤省时的宏定义及指示字。

ABEL-HDL的处理程序提供了如下强大功能:

①语法检查;

②检验所选器件能否实现设计要求;

③逻辑简化;

④设计模拟;

⑤自动生成文件。

ABEL-HDL源文件格式

一个ABEL-HDL设计的基本单位是模块。一个设计可能仅包括一个模块,也可能包括若干模块。如果包括若干模块,则按照层次结构把它们组织起来。顶层的模块只有一个,它描述设计的总体轮廓。其他低层的模块详细描述顶层模块中包含的各子功能块,层次数不受限制。一般地说,层次设计中,总是较低层的模块对较高层模块中的子功能块进行细化。层次设计不仅适用于ABEL-HDL设计,同时也适用于原理图设计、ABEL-HDL和原理图混合设计。一个设计的所有模块,可以包含在一个文件中,也可以包含在几个文件中。这些模块经过编译、优化、连接、模拟、器件适配等步骤,生成一个二进制代码的JEDEC格式的文件。最后将JEDEC文件下载到器件中,完成对器件的编程。ABEL-HDL源文件格式

可编程逻辑器件模块设计对模块划分的要求,同软件程序设计中对模块的要求原则上是一致的。划分模块的要求是:

◆每一个模块都应有一个确定的用途和功能。

◆把一个设计划分为多个模块应能清楚地表明这个设计的结构。

◆较低层的模块应能被尽可能多的高层模块使用。如有可能,这个设计中产生的模块应尽可能被其他设计使用;或者此设计应尽可能使用其他设计产生的模块。ABEL-HDL源文件格式

3.ABEL-HDL格式

前面简单介绍了若干基本概念。对一个模块来说,它应包括以下基本部分:

◆头部

头部是一个模块的开始,它必须放在模块的最前面。头部由MODULE语句开始,它指出模块的名字,如MODULEcounter语句。除此之外,头部还可能包括INTERFACE语句,它用于模块之间的接口。TITLE语句也属于头部,TITLE是关键字,后边跟一个字符串,对模块进行简明扼要的解释。由于编译时不处理该语句,所以书写时前面须加上单引号。TITLE语句是可选的。

◆说明部说明部对本模块中使用的标识符(代表信号、常量等)进行说明。一个标识符必须首先予以说明,然后才能引用。未经事先说明的标识符不能引用。说明部紧跟在头部之后(省略关键字DECLARATIONS),或者用关键字DECLARATIONS明确指出一个说明部的开始。

ABEL-HDL源文件格式

◆逻辑描述部

逻辑描述部是ISP设计中最重要的部分,其的作用是用逻辑等式、真值表、状态机、熔丝图等具体描述模块的逻辑功能。在counter模块中,关键字EQUATIONS指明逻辑描述的开始。

◆结束部

结束部用结构语句END关闭一个模块。它只包含一个END语句。注意,END语句和MODULE语句是成对出现的。

◆测试向量部

一个模块中还可能包含一个测试向量部,它用于逻辑等式模拟,检查逻辑描述部描述的电路设计是否能实现预期的功能。测试向量部是可选内容,它可以包括在模块中,也可以放在一个单独的测试向量文件中。引导测试向量部的关键字是TEST_VECTORS。ABEL-HDL源文件格式

综上所述,模块结构有以下规则:一个模块只包含一个头部,放在模块的开始。说明部直接跟在头部之后,或用关键字DECLARATIONS开始。逻辑描述部描述模块的功能。测试向量部用于模拟。结束部关闭模块。除头部和结束部外,其它部可以按任何次序重复。标识符必须首先予以说明,然后才能引用。不能引用未经说明的标识符。

一个ABEL-HDL源文件可以包含若干个模块,模块是相互独立的。ABEL-HDL源文件格式

电路常用的ABEL-HDL描述方法有三种:逻辑方程法;真值表法;状态图法。前两种方法既适用于组合逻辑也适用于时序逻辑,第三种方法对状态机的设计较为方便。

1.逻辑方程法

使用方程语句EQUATIONS表示一组逻辑方程的开始。方程用布尔代数描述其逻辑功能。2.真值表法

真值表法采用表格形式说明不同输入条件下的逻辑输出。3.状态图法

使用状态机语句STATE_DIAGRAM来描述时序状态机的转移方式。电路常用的ABEL-HDL描述方法

ABEL的语法规定-字符集a~z

(26个小写英文字母)A~Z(26个大写英文字母)0~9(10个数字字符)space(空格符)tab(制表符)~!@#$%^&*()-_=+\|[]{};‘:“,<>.`/?共计96个ASCII码字符ABEL的语法规定-标识符

标识符是由标识器件、器件引脚、节点、集合、输入/输出信号等的合法字符串组成。标识符的限制规则为:标识符必须以字母或下划线开始;标识符最长不能超过31个字符;除第一个字符外,标识符可以包含大写字母,小写字母,数字及下划线,但不允许出现空格;标识符与大小写字母有关;

关键字又称保留标识符,它代表某种处理功能,不能用来代表器件,器件引脚,信号集合等。下表列出ABEL软件所使用的关键字.注意与标识别符不同,关键字不区分大小写!ABEL的语法规定-关键字ABEL的语法规定-字符串

字符串是用单引号(撇号)括起来的一串包括空格在内的ASCII字符。通常用于标题语句、标记语句以及管脚和节点说明语句。字符串中也能够含有单引号,方法是在单引号之前放一个反斜杠(\),如'It\'seasytouseABELandSynario'。字符串也能够包括反斜杠,方法是使用两个连续的反斜杠,如'He\\Shecanusebackslashesinastring'。左单引号(')也可以作为字符串的定界符,它与右单引号(')可以交换使用。例如TITLE

’1to8linedemultiplexer’;DM1device‘P16L8’;合法字符串,表示标题合法字符串,表示器件的工业标号ABEL的语法规定-注释段

注释是对源文件的进一步解释,注释段可以:

1.用双引号(“)开始,用另一个双引号或用换行结束;

2.用双斜杠(//)开始,换行结束。此方式对含有双引号的注释是很有用的。以下几个例子均为合法注释:MODULEBasiclogic:“givesthemoduleaname”TITLE‘ABELdesignexample:simplegates’;“title“declarationsection”IC5“decoderPAL”device‘P10H8’;注意注释段可以放在设计源文件的任何地方!ABEL语法规定-数的表示用常用进制来表示数,即二进制、八进制、十进制和十六进制,表示方法如下:还可以用字母的ASCII码作为数值.

ABEL软件的运算精度为32位,合法取值范围是:附录一:ABEL语法规定-常量

常量用来表示值不变的量,通常用于赋值语句、真值表语句和测试向量语句,有时也可以将常量赋予某些标识符,使这个标识符在整个模块中代表该常量的值。常量可以分为:一般常量和特殊常量.注意特殊常量值用大小写均可,但是前后两个“.”不能省略!ABEL语法规定-运算及运算符

ABEL软件可以处理含有算术运算、逻辑运算、关系运算和赋值运算的逻辑表达式,它们的运算符及含义如下表所示:ABEL语法规定-运算及运算符ABEL语法规定-表达式及等式

表达式是标识符和运算符的组合,表达式中各种运算具有不同的优先级,按照从高到低的顺序(相同优先级按照从左到右的顺序)进行运算。等式用于将表达式值赋予输出信号。在ABEL语言中,一个输出信号可以多次被赋值,其最终输出结果是所有这些赋值的“或”,而不是对该输出的最后一次赋值,这一点是它与其它高级语言等式相区别的标志之一。例如A=BA=C等价为A=B#CABEL语法规定-

集合

在逻辑设计中,对于如数据总线,地址总线等成组出现的信号或常量,ABEL软件允许使用一个标识符表示这种成组处理的信号或常量,称之为集合(或数组)。集合中的每一个独立分量称为该集合的元素。

1)枚举法

DATA_BUS=[D7,D6,D5,D4,D3,

D2,D1,D0];2)界限符法

DATA_BUS=[D7..D0];集合的定义方法:注意数组中的每一个元素之间要以“,”分开;枚举法与界限符法可以联合使用,如:Y=[D3,D2,D1,D0,B3..B0];ABEL源文件的基本结构

ABEL源文件是由一个或多个相互独立的模块组成,每个模块包括一个或多个完整的逻辑描述。简单的源文件可以只包含一个模块,而复杂的源文件可能包括大量的模块。ABEL源文件的基本结构如下:

MODULEmodname“以modname为名的模块开始”

END

modname“以modname为名的模块结束”

MODULE

secname“第二个模块开始”

END

secname“第二个模块结束”.........ABEL源文件格式每个模块都必须以关键字“MODULE

文件名”开始,以关键字“END

文件名”结束一个源文件允许有多个模块每个模块包含以下几个内容:标题标记部分说明部分(说明器件,管脚,属性,常量等)逻辑描述部分(逻辑方程,真值表,状态图)熔丝图说明部分(对熔丝图直接编辑)测试部分(测试矢量)

模块开始标记标题说明:器件说明管脚,节点说明属性说明常量说明

逻辑描述:逻辑方程式真值表状态图熔丝图说明测试向量模块结束标志部分说明部分逻辑描述部分熔丝图说明部分测试部分ABEL源文件模块结构

ABEL软件的语句

ABEL软件的语句按功能可以分为5大类:

具体功能及关键字如下表所示

-标志语句-说明语句-逻辑描述语句-测试语句-熔丝图说明语句ABEL软件的标志语句1.标记语句

标记语句是用来定义一些处理参数,这些参数将决定ABEL语言处理软件对源文件的处理方式.

标志语句包含标记语句和标题语句两部分。格式FLAG‘参数1’,’参数2’,……,’参数n’;其中:‘-参数n’代表某种处理方式.例如:‘-Rn’代表化简级别(n=0~3);‘-Tn’代表跟踪级别(n=0~4)ABEL软件的标志语句

标题语句用于说明模块内容。格式TITLE‘字符串’其中:‘字符串’为该模块的内容提示例如:TITLE‘4bitbinarycounter’注意标题语句不影响任何逻辑描述及运算结果,它可以省略.1.标题语句

ABEL软件的说明语句

说明语句用于描述真实器件名,引脚名和节点名,还可以用来说明属性和定义常量。说明语句只在相应的模块内起作用,每一模块必须有自己的器件说明语句以及必要的管脚和节点说明语句.

说明语句分为器件说明语句、管脚说明语句、节点说明语句、常量说明语句和类型说明语句,以下分别进行介绍.1.器件说明语句

器件说明语句用来把模块中所用器件的标识符与实际可编程逻辑器件相联系.格式器件标识符DEVICE‘字符串’;器件名工业标号(见下页)例如:U3DEVICE‘P16V8S’含义:器件“U3”是用简单模式的GAL16V8实现的ABEL软件的说明语句2.管脚及节点说明语句

管脚及节点说明语句表明在模块中使用的管脚及节点标识符与实际器件的管脚及节点的对应关系,它同时还可以说明可编程管脚及节点的属性.格式标识符PIN(或NODE)IN器件名称管脚号=‘管脚属性’;

以下是合法的管脚及节点说明语句实例:(1)!CLK,RESET,D0,D1PIN16,15,14,13;(2)F0,F1,F2,PIN

INU515,16,17=‘NEG,REG,COM’;(3)A,B,CNODE

INU221,22,23;ABEL软件的说明语句3.常量说明语句

常量说明语句用于定义在模块中的常量.格式标识符=常量表达式;

在常量说明语句中,标识符与常量一一对应,且两两之间以“,”分开.例如:

C,X=.C.,.X.;“常量C是上升沿时钟输入,常量X是无关项”

ADDR=[1,0,15];“ADDR是已经定义的具有三个元素的集合”ABEL软件的说明语句

ABEL软件的逻辑描述语句

1.逻辑方程描述方式逻辑方程描述方式由标题语句和一组逻辑方程式语句构成.格式EQUATIONSIN

器件标识符逻辑方程式例如:EQUATIONSINU2F1=A#B&C!F2=(B==C)含义:表示器件U2中的一组逻辑表达式

ABEL软件的逻辑描述语句

2.真值表描述方式

真值表描述方式用表格形式定义输出与输入的逻辑关系,它由真值表标题语句和表格组成。格式TRUTH_TABLEIN

器件标识符([输入标识符集]:>寄存器输出标识符集->组合输出标识符集)例如:TRUTH_TABLEINU6([A,B]->F)[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->1;含义:用真值表描述的或逻辑

ABEL软件的状态图描述方式

3.状态图描述方式

状态图是一种直观描述时序逻辑的方法,状态图描述方式是由状态图标题语句,状态描述语句和状态转移语句三部分组成.(1)状态图标题语句.格式STATE_DIAGRAM

器件标识符状态寄存器标识符例如:STATE_DIAGRAMINU8[a,b];它是状态图描述的开始(2)状态描述语句和状态转移语句二者往往同时出现格式

STATE状态表达式:逻辑方程式;状态转移语句

状态转移语句分为无条件转移语句(GOTO语句),条件转移语句(IF_THEN_ELSE语句)和多路分支语句(CASE语句)。它们的语句格式分别如下:其中:STATE是关键字,状态表达式用来指定状态,逻辑方程式是一组执行状态转移所要满足的条件.i)GOTO

状态表达式WITH语句;

ii)IF

表达式THEN

状态表达式1

ELSE

状态表达式2

WITH语句;iii)CASE

表达式1:状态表达式1WITH语句;

表达式2:状态表达式2

……

ENDCASEABEL软件的伴随语句

4.伴随语句

伴随语句(WITH语句)是在执行跳转的同时,使等式成立.格式WITH等式;ENDWITH例如:STATE2:IFY==3THEN3

WITH……

ENDWITH

ELSE0

WITH……

ENDWITH;注意注意“;”的使用,WITH前无分号.ABEL软件的测试矢量语句

测试矢量语句由测试矢量标题语句和一组测试矢量构成.

格式TEST_VECTORSIN

器件标识符([输入标识符集]->输出标识符集)例如:函数F=/A&B+A&/B的测试矢量语句为:[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->0;

TEST_VECTORSINU2([A,B]->F)

ABEL软件的熔丝图语句

熔丝图语句是一种特殊用途语句,该语句允许在ABEL源文件中直接为指定熔丝段赋值.格式FUSES

IN

器件标识符熔丝段地址=熔丝值;说明:熔丝段地址需要直接赋值,熔丝值可以是任意数.当等号左边只有一个熔丝地址时,熔丝值的最低有效位的值将赋予该熔丝.数字“1”表示熔丝完好,对应于熔丝图文件中的“-”;数字“0”表示熔丝断开,对应于熔丝图文件中的“X”.第三章ISP器件的编程软件

ispDesignEXPERT编程软件1.开发工具

ispDesignEXPERT是由lattice公司提供的一种通用电子设计软件。它支持ABEL-HDL语言、VHDL语言、原理图三种电子设计方式,以及这些设计方式的混合使用。它能对所设计的数字系统进行功能模拟和时序模拟,能对设计进行逻辑优化,并将逻辑映射到器件中去,自动完成预布线,生成编程所需的熔丝图文件,通过下载电缆下载到器件中。

ispDesignEXPERT在Windows平台上运行,它支持层次设计,并具有十分友好的人机界面。ispEXPERT中的项目导航器引导设计一步步进行,最终生成器件编程所需的JEDEC文件,并下载到ISP器件中。项目导航器是一个很好的设计工具,便于用户跟踪软件的运行流程。

用ispDesignEXPERT对可编程器件进行设计,除了确定设计思想等必需的准备工作外,大部分工作在计算机上进行。整个设计工作流程大致可分为创建新设计项目、选择器件、输入源文件或原理图、编译与优化、逻辑模拟、连接和器件适配等若干过程。这些过程是在项目导航器引导下进行的。ispDesignEXPERT编程软件2.项目导航器

ispDesignEXPERT使用了项目(Project)的概念。一个项目代表一个设计。一个项目所用的全部文件(源文件、中间的数据文件和结果文件)应放进一个单独的目录中。项目导航器保存设计中每一部分的过程及状态,因此用户可以省去思考操作步骤的时间,而把精力放在设计上。ispDesignEXPERT编程软件1)源文件窗口

源文件窗口位于项目导航器左半部分,上边标有“SourceinProject”字样。源文件窗口显示与项目有关的所有设计文件名。每个文件名前都有图标,以图形方式直观表示文件的类型。项目源文件用户能够用不同方式描述设计,这些描述就是源文件。每个源文件是设计中的一个部件。例如,一个原理图文件就是一个设计部件。源文件不仅包括原理图、状态图、以及硬件描述语言描述的电路,也可能包括模拟、与其他项目的接口以及设计文档等用户做的其他工作,这些都是设计的组成部件。项目导航器支持层次设计,故设计中必有一个文件为顶层源文件。顶层源文件定义了整个可编程器件的输入、输出及对下一层源文件中逻辑描述的引用。对另一个源文件的引用称为例化。较低层源文件也可以含有例化,以构成描述逻辑的多层次结构。如果项目只包含一个源文件,则自动成为顶层源文件。ispDesignEXPERT编程软件2)进程窗口

项目导航器右边是进程窗口,上边标有“Processesforcurrentsource:”字样,它显示源文件窗口中所选中文件能进行的所有操作。这些操作包括生成网表、编译、逻辑化简、逻辑综合、布线和生成测试模块等,总之一句话,从设计输入到下载的每一步骤。由于项目导航器是结构敏感的,因此ispDesignEXPERT具有一个非常强大的功能,即它知道对不同的结构应采取不同的处理过程。在进程窗口中,所有步骤都是结构敏感的,这意味着,进程会因源文件窗口中选中不同的源文件而改变,已选中的源文件的进程因选择不同目标器件也会改变。例如一个目标器件为A(A是一个CPLD器件型号)和目标器件为B(B是另一个CPLD器件型号)的同一个原理图会有不同的流程。一个可编程器件设计,从总的方面而言,可分为项目级进程和源文件级进程。ispDesignEXPERT编程软件源文件级进程源文件级进程包括源文件输入、编译、优化等。在源文件窗口单击一个源文件,进程窗口中将出现指示处理此源文件的源文件级进程。

项目级进程项目级进程包括连接、器件适配、编译时序报告、下载等。在源文件窗口中单击器件(device)图标,进程窗口将出现指示该器件处理的项目级进程。ISP器件的三种逻辑设计方法

1.由ABEL-HDL源文件组成的设计

2.建立由原理图源文件组成的设计

3.混合设计及层次导航由ABEL-HDL源文件组成的设计1、建立新项目

(1)启动ispDesignEXPERT

,进入项目导航器ProjectNavigator窗口。

(2)单击File菜单下的NewProject(新项目),进入建立新项目对话框。由ABEL-HDL源文件组成的设计■创建一个新目录(文件夹),专门用于该新项目。首先选择此目录所在路径。选择方法与windows资源管理器使用方法相同。找到路径后,单击创建新文件夹按钮,则在文件名区出现"新建文件夹"字样。

■在文件名对话框内,键入项目文件名。

■单击保存按钮,退出NewProject对话框。2、更改项目标题

■双击项目源文件窗口顶部的项目记录本,即项目标题(Untitled),进入记录本对话框,在Title对话框的文本字段中键入项目的描述性文字,然后,单击按钮OK。

由ABEL-HDL源文件组成的设计3、建立ABEL-HDL源文件

■单击源文件窗口下方的“New……”按钮,出现新建源文件对话框。■选择ABEL-HDLModule(ABEL-HDL模块)。文本编辑器被加载,且出现一个对话框,要求输入文件名、模块名和标题。模块名和文件名必须有相同的基名(文件名中除扩展名之外的部分称之为基名)。如果文件和模块基名不同,项目导航器的某些自动功能可能不正常运行。完成了上述操作后,单击OK或者按Enter键。由ABEL-HDL源文件组成的设计

■现在出现了如图所示的ABEL-HDL源文件模板。它是一个具有屏幕编辑能力的文件编辑器。建立由原理图源文件组成的设计

ispDesignEXPERT软件包含一个原理图输入系统。一张原理图可以代表一个简单的逻辑电路(如一个与门)、一个复杂元件或者一个顶层电路图。原理图是描述硬件结构的一种重要方式,具有直观、清晰、易于掌握全局信号关系等优点,硬件设计工程师都熟悉它。一幅原理图相当于ABEL-HDL语言的一个源文件,绝大多数情况下相当于一个模块(规范设计应当这样做,就像一个ABEL-HDL源文件最好只包括一个模块一样)。它由以下几部分构成:1.元件

2.连线

3.I/O标记4.图片和文字建立由原理图源文件组成的设计

■元件它可以是标准器件库中的元件,也可以是代表其它原理图的功能块符号。对可编程器件而言,原理图是指逻辑图,这与一般包括电阻,电容的电原理图有所不同。

■连线用于连接器件。可以是单信号线,也可以是多根信号线的集合(总线)。

I/O标记用于标记一幅原理图的输入,输出信号,以及信号方向(输入、输出或者双向。)

■图片和文字仅起说明和解释作用,对原理图代表的逻辑功能无实际意义。一张有效的原理图至少应包括前三部分,即器件、连线和I/O标记。下文中为叙述方便,用反斜杠(\)表示下拉式菜单的层次。例如File\New表示选择File子菜单中的New条目。建立由原理图源文件组成的设计1、进入原理图设计环境

进入原理图设计环境的开始步骤与进入ABEL-HDL语言设计环境是一致的,如启动ispDesignEXPERT建立新项目、建立一个新的源文件等工作。在源文件形式选择对话窗中,选择Schematic(原理图),则出现文件名对话框,键入原理图文件名(扩展名是sch或者不键入)后,单击保存按钮,则进入原理编辑器。建立由原理图源文件组成的设计2、安放元件

所谓元件,既可包括与、非门之类的简单器件,也可包括计数器之类的复杂器件,还可包括用户自已定的器件。在原理图编辑窗口的主菜单中选择Add/Symbol(添加元件),出现一个元件库窗口。建立由原理图源文件组成的设计在元件库窗口中选择合适的库和元件,然后移动光标,选中的元件会跟随光标移动。到达希望的位置后,单击鼠标左键,则安放该元件在原理图上。由于此元件仍附着在光标上,继续移动光标并单击鼠标左键,能将此元件安放在若干不同的地方。双击鼠标左键或者单击鼠标右键,会结束此元件的安放操作,不过仍处于添加元件命令状态,直到另一个新命令开始,才结束此命令的执行。在原理图编辑器中,一般用开始新命令来结束旧命令的执行。使用Edit\Dupicate命令能够将原理图的一个区域多次复制。启动Edit\Duplicate命令,选中源域的一个角,按下鼠标左键拖动鼠标,直到虚线框形成的源域满意为止。松开鼠标左键,单击目标区位置则源区被复制,双击鼠标左键或单击鼠标右键结束该源区的复制工作。ispDesignEXPERT提供算术运算库(ARITHS.LIB)、逻辑门库(GATES.LIB)、输入输出缓存库(IOPASDS.LIB)、多路选择器库(MUXES.LIB)和寄存器库(REGS.LIB)等15个元件库。建立由原理图源文件组成的设计3、连线

连线是元件引脚之间的电连接线。连线只能与元件引脚相连,而不能把它和元件本身相连。连线分为单信号线和总线两种。总线能使多个信号形式上在一条线上传送,它使得原理图更简洁、清晰。原理图中的总线与数字系统中的概念不一样,它可以把若干无关的信号集中在一起,用一条总线传送。

在原理图编辑窗口中使用Add\Wire命令和Add\NetName命令添加连线和连线名。启动Add\Wire命令,单击连线起点(某个元件引脚或另一条已有连线上的某点),就开始画一条连线。单击鼠标左键,可以弯折连线;双击左键或单击右键终止连线。若连线开始或结束于另一根连线,两根连线会自动连接。连接必须有名字。连线名在原理图编辑器和网表生成器中标识一条连线。如果用户不对连线显式命名,原理图编辑器会为连线自动命名。连线不允许悬空,必须连到某个元件引脚上,或者连到I/O标记上。所有输入/输出信号必须连到I/O标记上,而且必须命名。对于模拟期间欲观察的内部信号线,也应对其命名。建立由原理图源文件组成的设计启动Add/NetName命令,在屏幕底下的状态栏内输入连线名,并按Enter键确认;连线名附在光标上,移动光标到目的地,单击鼠标左键,连线名标注在连线旁边。如果连线名以数字为后缀,除键入连线名外,最后多键入一个加号(+),则可命名一组连续的连线名。例如键入end0+后,则会自动生成end1、end2……。

ispDesignEXPERT软件对字母大小写敏感,因此在它处引用连线名时,大小写应注意一致。

用复合名命名一条连线使连线定义为总线。复合名的格式是:总线名[序号表]。一种序号表是标明起始序号和终止序号的下标范围。起始序号和终止序号用冒号(:)分开,如data[3:0]。另一种序号表是用逗号分开的序号,如addr(1,3,2,5,0)。建立由原理图源文件组成的设计4、安放I/O标记

I/O标记表示进入或者离开这张原理图的信号,即输入、输出或者双向信号。安放I/O标记之前,连线名必须在连线的一个端点上,不能在连线的上边或下边。输入连线名后,点击线头(一个小方框)则将连线名放在线端。有一同时添加连线和连线名的简单方法:输入连线名后,将光标移到一个元件引脚或连线的某一点上,按住鼠标左键并拖到适位置再松开,这样就产生了一根新连线,连线名就在新连线的端点上,启动AddI/O标记命令,选择合适的I/O属性(输入、输出或双向。属性None为取消I/O标记),单击连线线头,则安放相应的I/O标记。连线名出现在I/O标记内部,表示是一个进出该模块的信号。

对于一个可编程器件整体而言,进出此器件的信号连接到I/O标记时,需要经过I/O缓存器(I/OPAD)。

ispDesignEXPERT元件库中提供5种I/O缓存器,它们是输入缓存器、输出缓存器、双向缓存器、时钟存器和三态缓存器。连线名"GND"表示连线接地。建立由原理图源文件组成的设计5、定义属性

属性描述元件,引脚和连线的相关特性。在可编程器件设计中,有两种类型的属性:元件属性和连线属性。启动Add\SymbolAttribute(元件属性)、Add\PinAttribute(引脚属性)或Add\NetAttribute(连线属性)命令,会弹出相应的属性编辑对话框,单击需要定义属性的元件、元件引脚或连线,对话框内会出现一系列可供选择的属性,选择合适的属性并进行编辑,即可定义属性。Lattice公司发行ispDesignEXPERT软件时定义了元件的缺省属性。I/O引脚的编号是需要修改的属性之一。锁定I/O引脚的编号时,首先启动Add\SymbolAttribute,然后单击元件I/OPADS,最后在属性编辑对话框中,修改"SynarioPin="项为所需的编号。建立由原理图源文件组成的设计6、自定义元件模块

一个逻辑系统,往往由若干个功能模块构成。由于ispDesignEXPERT提供的元件库只是一些最基本的逻辑模块,用它们来构成整个设计不仅过于复杂,而且功能上也显得不够清楚。ispDesignEXPERT支持模块化层次结构设计。一个原理图文件可以由若干个功能模块构成,每个功能模块又可以由若干个更低一层的功能模块构成。设计原理图文件过程中,常常需要建立一些功能模块(自定义元件)。

建立自定义元件在原理图编辑器内进行,启动Add\NewBlockSymbol,会出现一个新建元件对话框。填入元件的名称、输入输出与双向引脚的名称(注意大小写),点击Run按钮,然后移动光标(新建元件附着光标移动),到达目标位置单击鼠标左键,新建元件即被安放在原理图上,同时该元件被存入Local元件库。在原理图编辑器中使用的File\SheetSetup命令能够改变图纸尺寸。如果不使用层次设计,而采用多页设计,可以使用File\SheetSetup命令改变原理图模块的图纸张数。混合设计及层次导航

简单设计用一个ABEL-HDL模块,或者一张原理图就能描述。但复杂设计往往要分成若干个模块(功能块)来描述。某些模块用ABEL-HDL语言描述合适,而另一些模块用原理描述理好,ispDesignEXPERT支持这种混合设计方法,顶层模块用原理图能直观、清晰描述合局。一个设计到底用哪种方式,取决于设计者的爱好和习惯,以及对各种设计方式的熟悉程度,很难比较优劣。在ABEL-HDL语言中,高层模块通过interface语句规定与低层模块的接口,低层模块用interface语句或直接用关键字PIN说明的输入、输出引脚作为对高层模块的接口。在原理图中,高层模块用自定义元件规定对低层模块的接口,低层模块用I/O标记标识的输入/输出引脚作为对高层模块的接口。无论何种接口形式,高层对低层接口信号与低层对高层接口信号必须同名。

混合设计及层次导航1、选择自定义元件的源文件形式

在原理图编辑器中建立了自定义元件后,保存当前原理图,退出原理图编辑窗口,返回项目导航器主画面。源文件窗口中,在刚编辑过的原理图文件名下,新添了一个文件,文件名是自定义元件名。它的图标为一个红色问号,表示是一个空文件。双击该文件名弹出NewSource对话框,列出可供选择的文件形式。对于自定义元件而言,只能选择原理图文件(SCHEMATIC),或者选ABEL-HDL文件(ABEL-HDLMODULE)。选定文件形式后,按OK按钮,则进入ABEL-HDL编辑器,或者进入原理图编辑器。在编辑器中建立一个作为低层模块的文件,此过程一直继续下去,直到所有模块设计完成。混合设计及层次导航2、层次导航

ispDesignEXPERT对原理图文件具有层次导航功能,用于浏览整个层次设计,此功能只用于浏览,不能用于编辑。层次导航操作如下:单击项目导航器源文件窗口中某个原理图文件,只要该文件不是最低层原理图,可以看到过程窗口中有层次导航(NavigateHierarchy)命令。双击此命令项,就会弹出所选原理图。启动VIEW\PUSH/POP命令,使光标变成十字形状。用十字光标单击任何一个自定义元件,就会弹出该模块的低层设计环境(文本编辑器或原理图编辑器),此时即可浏览此模块,如果此模块仍为原理图,仍可单击自定义元件,依次往下浏览。退出时逐层退出。编译、模拟、器件适配与下载编译、模拟和器件适配等工作都是在过程窗口中完成的。不同类型的源文件,可能有不同的处理流程。单击源文件窗口中某一个文件名,过程窗口中就会出现与其对应的处理流程,每项操作左边有两个箭头组成的环标志。双击某一项操作名启动执行此项操作。若进行此项操作之前必须先完成其它操作,项目导航器会自动去完成它。操作结果用绿色的勾、黄色的惊叹号或红色的叉来表示通过与否。绿色的勾指出成功,红色的叉表示失败。黄色的惊叹表示基本成功,但有警告信息。若不成或有警告,会弹出一个错误报告文件。

1.文件编译

2.连接和器件适配

3.模拟

4.下载文件编译原理图文件编译操作包括编译(COMPILESCHEMATIC)和逻辑优化(REDUCESCHEMATICLOGIC)子操作。优化结果用逻辑等式形式表述。放在一报告文件中,双击"REDUCEDEQUATIONS",就可到看到该报告。ABEL-HDL编译操作包括逻辑编译,逻辑优化和语法检查子操作。编译过程生成三个报告文件:编译列表、编译后的

温馨提示

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

评论

0/150

提交评论