PLD器件基础及开发系统介绍_第1页
PLD器件基础及开发系统介绍_第2页
PLD器件基础及开发系统介绍_第3页
PLD器件基础及开发系统介绍_第4页
PLD器件基础及开发系统介绍_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

25三月2024PLD器件基础及开发系统介绍可编程逻辑器件基础集成逻辑器件的分类数字器件各种含CPU的微处理器单片机系列(例,MCS51/96系列)高级微处理器(例,INTEL80286,TI8000等)数字信号处理器(例,TMS320系列)标准逻辑器件各种门电路(例,与非门、或非门等)常用中规模集成电路(例,计数器)存储器(例,RAM、ROM、EPROM等专用数字集成电路ASIC全定制产品半定制产品可编程逻辑器件(PLD)PLD器件基础及开发系统介绍集成逻辑器件的特点含CPU的微处理器在时钟脉冲作用下不断执行用户的软件程序,用户编程并不对其硬件结构产生影响,它的工作速度一般较低;标准逻辑器件使用方便、价格便宜,但其规模一般较小,一个数字系统往往要用几十片甚至上百片标准逻辑器件来完成;半定制、全定制ASIC产品开发需要半导体厂家参与,周期长、费用高,其开发不可能普及;PLD器件(1)逻辑功能可编程。(2)器件规模很大。(3)工作速度很高。(4)使用相对复杂。PLD器件基础及开发系统介绍PLD的基本结构输入电路产生输入变量的原变量和反变量与阵列产生输入变量的与项(乘积项)或阵列对乘积项有选择地进行或运算输出电路产生输出信号,提供反馈信号PLD器件基础及开发系统介绍PLD的工作原理在数字电路的设计中,输出总可以用“与或”形式的逻辑函数来表示,从而用若干与门和或门就可以实现这个逻辑函数。而PLD器件内部电路的核心就是与阵列和或阵列,因此可以用来实现任意函数。例如,对逻辑函数,用PLD表示法连接后的完整逻辑图如图所示。1AZ&1B&≥1PLD器件基础及开发系统介绍传统设计方法:设计要求→真值表→函数表达式→化简或变换→电路图现代设计方法:设计要求→用HDL语言描述功能→编译、化简和仿真→逻辑综合→下载到可编程器件常见HDL语言:ABEL-HDL语言、VHDL语言、Verilog语言HDL语言描述方法:逻辑方程、高级语言、真值表、状态图描述等用PLD设计数字逻辑电路的方法PLD器件基础及开发系统介绍例:如一个四位二进制数A4A3A2A1,试设计一个判断电路,当四位二进制数大于等于2,小于等于10时,输出为“1”,其它为逻辑“0”。真值表(略)逻辑式(略)化简,得:电路图(略)逻辑功能的硬件语言描述解:(一)用传统设计方法:PLD器件基础及开发系统介绍(二)用ABEL—HDL语言描述如下:MODULEdecode “定义设计模块名为decodeA4,A3,A2,A1PIN; “定义输入信号ZPIN;“定义输出信号A=[A4..A1]; “定义集合EQUATIONS “表示以下用逻辑方程描述功能WHEN((A>=2)&(A<=10))THENZ=1;“逻辑功能描述ELSEZ=0;TEST-VECTORS(A–>Z) “以下是测试矢量部分0–>0;1–>0;2–>1;3–>1;4–>1;5–>1;6–>1;7–>1;8–>1;9–>1;10–>1;11–>0;12–>0;13–>0;14–>0;15–>0;END “模块结束PLD器件基础及开发系统介绍经ABEL语言编译器编译后的简化式子如下:ABEL语言描述的仿真波形如下:PLD器件基础及开发系统介绍ABEL语言介绍ABEL的语法规定合法字符集a~z(26个小写英文字母)A~Z(26个大写英文字母)0~9(10个数字字符)space(空格符)tab(制表符)~!@#$%^&*()-_=+\|[]{};‘:“,<>.`/?共计96个ASCII码字符PLD器件基础及开发系统介绍标识符标识符必须以字母或下划线开始;标识符最长不能超过31个字符;除第一个字符外,标识符可以包含大写字母,小写字母,数字及下划线,但不允许出现空格;标识符与大小写字母有关;关键字不能用作标识符。标识符是由标识器件、器件引脚、节点、集合、输入/输出信号等的合法字符串组成。PLD器件基础及开发系统介绍关键字注意与标识别符不同,关键字不区分大小写!关键字又称保留标识符,它代表某种处理功能。CASE DEVICE ELSE ENABLE ENDENDCASE ENDWITH EQUATIONS FLAG FUSESGOTO IF IN ISTYPE LIBRARYMACRO MODULE NODE PIN STATESTATE_DIAGRAM TEST_VECTORS THEN TITLETRUTH_TABLE WITHPLD器件基础及开发系统介绍字符串例TITLE

’1bitfulladder’;字符串是包含在单引号内的合法字符序列,通常用于标题语句、标记语句以及管脚和节点说明语句。注释段注释是对源文件的进一步解释,注释段以双引号开始,以另一个双引号或换行符结束。

MODULEBasic_logic“givesthemoduleaname”例PLD器件基础及开发系统介绍数的表示可用二进制、八进制、十进制和十六进制来表示。进制数基数表记符例如十进制数二进制2^B^B101010八进制8^O^O1210十进制10^D(缺省)^D1515十六进制16^H^HF15PLD器件基础及开发系统介绍常量常量用来表示值不变的量。常量可以分为:一般常量和特殊常量。注意特殊常量值用大小写均可,但前后两个“.”不能省略!特殊常量说明.C.上升沿时钟输入.F.浮点输入或输出.K.下降沿时钟输入.P.寄存器预加载.X.任意态(无关项).Z.高阻输入或输出PLD器件基础及开发系统介绍运算及运算符PLD器件基础及开发系统介绍PLD器件基础及开发系统介绍表达式及等式表达式是标识符和运算符的组合,表达式中各种运算具有不同的优先级.集合集合用来表示成组或成批处理的信号或常量,集合中的每一个独立分量称为该集合的元素。引入集合的目的是为了简化书写,并使可读性更好。集合有两种定义方法:枚举法:Din=[D7,D6,D5,D4,D3,D2,D1,D0];界限符法:Din=[D7..D0];注意枚举法与界限符法可以联合使用。只有类型相同、长度相同的集合才可一起参与运算。PLD器件基础及开发系统介绍ABEL源文件的基本结构ABEL源文件是由一个或多个相互独立的模块组成,每个模块包括一个或多个完整的逻辑描述。简单的源文件可以只包含一个模块,而复杂的源文件可能包括多个模块。MODULE〈模块名〉[〈接口说明语句〉][〈标题语句〉]〈说明语句〉{〈布尔方程段〉、〈真值表段〉、〈状态图段〉、〈熔丝状态段〉、〈异或因子段〉}[〈测试矢量段〉]END[〈模块名〉]模块基本结构如下:PLD器件基础及开发系统介绍模块说明语句格式:MODULE模块名……END[模块名]行末没有分号。若将该模块作为一个自定义元件(宏块),则模块名应与自定义元件名相同。注意例:MODULE1_bit_adder……ENDPLD器件基础及开发系统介绍标题语句‘字符串’通常为该模块的内容提示。标题语句不影响任何逻辑描述及运算结果,可以省略。格式:TITLE‘字符串’;例:TITLE‘4bitbinarycounter’;注意器件说明语句格式:器件标识符DEVICE‘字符串’;例:U1DEVICE‘P16V8C’;器件说明语句用来把模块中所用器件的标识符与实际PLD器件相联系。在ispEXPERT软件中,该语句可忽略。注意PLD器件基础及开发系统介绍管脚及节点说明语句管脚标识符要与管脚号一一对应,但在ispEXPERT中管脚号可以省略。缺省情况下,管脚属性为组合型‘COM’。一个信号可以包含多个属性。格式:标识符PIN(或NODE)<#>ISTYPE‘属性’;例:Apin;B,Cpin

istype‘REG’;Z1,Z2node

istype‘COM’;注意PLD器件基础及开发系统介绍常量说明语句例:C,X=.C.,.X.;ON,OFF=0,1;格式:标识符=常量表达式;逻辑方程描述格式:EQUATIONS

逻辑方程式;例:equationsS=!A&B#A&!B;C1=A&B;Q.clk=CP; Q:=Q+1;组合型输出赋值为“=”,寄存器型输出赋值为“:=”。在逻辑方程描述中可以使用WHEN-THEN-ELSE语句。注意PLD器件基础及开发系统介绍WHEN-THEN-ELSE语句例:when(A==B)thenZ=0;elseZ=1;若有多个逻辑方程,可以放在大括号中。WHEN-THEN-ELSE语句可以嵌套使用。注意格式:WHEN条件THEN逻辑方程1;ELSE逻辑方程2;PLD器件基础及开发系统介绍真值表描述格式:TRUTH_TABLE(输入标识符集->输出标识符集)输入值->输出值;TRUTH_TABLE(输入标识符集:>输出标识符集)输入值:>输出值;例:truth_table([A,B]->S)[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->0;PLD器件基础及开发系统介绍状态图描述格式:STATE_DIAGRAM状态寄存器标识符{状态表达式:方程式;}状态图是一种直观描述时序逻辑的方法,状态图描述方式是由状态图标题语句,状态描述语句和状态转移语句三部分组成。具体见时序电路PLD器件基础及开发系统介绍测试矢量测试矢量与真值表描述在形式上相似。格式:TEST_VECTORS(输入标识符集->输出标识符集)输入值->输出值;例:TEST_VECTORS([A,B]->S)[0,0]->0;[0,1]->1;[1,0]->1;[1,1]->0;注意PLD器件基础及开发系统介绍指示字格式:@directive[options];指示字的作用就是指导编译软件对源文件作相应的处理。灵活地应用指示字可以简化源文件的编写和调试。引导指示字的关键词为“@”。ABEL语言中的指示字为:@ALTERNATE @CARRY @CONST @DCSET@DCSTATE @EXPR @EXIT @IF@IFB @IFDEF @IFIDEN @IFNB@IFNDEF @IFNIDEN @INCLUDE @IRP@IRPC @MESSAGE @ONSET @PAGE@RADIX @REPEAT @SETSIZE @STANDARD

PLD器件基础及开发系统介绍常用指示字:例:STATE_DIAGRAM

“状态图描述@CONSTn=0;@REPEAT10{STATEn:IF(n<9)(n+1)ELSE0;@CONSTn=n+1;}例:test_vectors([AA,BB,C0]->S) “四位全加器测试矢量@constm=0; “定义常数变量m@repeat16{@constn=0;“定义常数变量n

@repeat16{[m,n,0]->(m+n); [m,n,1]->(m+n+1);

@constn=n+1;}

@constm=m+1;}格式:@CONSTid=expr;

用于对新的常量进行定义;格式:@REPEATnumber_expr{block};

将某些语句重复执行若干次。PLD器件基础及开发系统介绍ispEXPERTSystem介绍概述ispEXPERTSystem集成开发软件是由DataI/O公司开发的一个通用的可编程逻辑器件开发软件。能够支持Lattice公司的ispLSI、pLSI、ispGAL、ispGDS器件及全新系列GAL器件的设计、编译和逻辑模拟。ispEXPERTSystem支持原理图输入和ABEL硬件描述语言(HDL)输入,还包括编译、模拟和仿真的功能。ILattice的pDS+Synario适配软件与ispEXP

温馨提示

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

最新文档

评论

0/150

提交评论