可编程逻辑器件原理与应用市公开课一等奖省赛课获奖课件_第1页
可编程逻辑器件原理与应用市公开课一等奖省赛课获奖课件_第2页
可编程逻辑器件原理与应用市公开课一等奖省赛课获奖课件_第3页
可编程逻辑器件原理与应用市公开课一等奖省赛课获奖课件_第4页
可编程逻辑器件原理与应用市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

电子技术综合试验主讲教师:肖振国xiaozhenguo@-11-04可编程逻辑器件原理与应用第1页试验教学内容§1

可编程逻辑器件概述§2

CPLD基本结构与原理§3

ABEL硬件描述语言§4软件和硬件试验平台§5可编程逻辑器件设计流程可编程逻辑器件原理与应用第2页§1

可编程逻辑器件概述1.1

什么是可编程逻辑器件(PLD)?1.2

PLD连接表示方法1.3PLD基本结构1.4PLD分类可编程逻辑器件原理与应用第3页1.1什么是可编程逻辑器件(PLD)?数字集成电路从SSI、MSI、LSI到VLSI、ASIC发展过程。可编程逻辑器件(ProgrammableLogicDevice,简称PLD)。可编程逻辑器件原理与应用第4页可编程逻辑器件PLD可编程逻辑器件原理与应用第5页PROM,EPROM,E2PROMPLA(ProgrammableLogicArray)PAL(ProgrammableArrayLogic)GAL(GenericArrayLogic)CPLD(ComplexProgrammableLogicDevice)FPGA(FieldProgrammableGateArray)PLD发展历程可编程逻辑器件原理与应用第6页1.2PLD连接表示方法

基本PLD结构图可编程逻辑器件原理与应用第7页

门阵列交叉点上连接方式(a)固定连接(b)编程连接(c)不连接可编程逻辑器件原理与应用第8页PLD缓冲器表示法PLD三态输出缓冲器表示法可编程逻辑器件原理与应用第9页PLD与门表示法可编程逻辑器件原理与应用第10页PLD或门表示法可编程逻辑器件原理与应用第11页

PLD与门简略表示法P1和P2恒为0,P3恒为1可编程逻辑器件原理与应用第12页1.3PLD基本结构基本结构框图可编程逻辑器件原理与应用第13页与或阵列

PLD资源:与阵列输入线、乘积项、或门和输出线等在详细器件内是有限。

与或阵列只能实现组合电路功效,时序电路功效则由包含触发器和存放器宏单元实现。可编程逻辑器件原理与应用第14页例:右图资源有3根与阵列输入线6个乘积项3根两输入或门输出线可编程逻辑器件原理与应用第15页

逻辑宏单元提供时序电路需要存放器和触发器。提供各种形式输入/输出形式。提供内部信号反馈。分配控制信号,如:CLK、RESET、EN。可编程逻辑器件原理与应用第16页1.4.1按可编程部位分类1.4PLD分类器件类型与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可组态可编程逻辑器件原理与应用第17页PROM阵列结构可编程逻辑器件原理与应用第18页PLA阵列结构可编程逻辑器件原理与应用第19页PAL(GAL)阵列结构可编程逻辑器件原理与应用第20页1.4.2按PLD集成度分类可编程逻辑器件PLD低密度可编程逻辑器件(LDPLD)高密度可编程逻辑器件(HDPLD)PROMPLAPALGALEPLDCPLDFPGA可编程逻辑器件原理与应用第21页1.4.3

其它分类方法熔丝(Fuse)和反熔丝(Anti-fuse)编程器件SRAM编程方式器件紫外线擦除可编程器件电擦除可编程器件可编程逻辑器件原理与应用第22页教学内容§1

可编程逻辑器件概述§2

CPLD基本结构与原理§3

ABEL硬件描述语言§4软件和硬件试验平台§5可编程逻辑器件设计流程可编程逻辑器件原理与应用第23页§2

CPLD基本结构与原理2.1

ispLSI1032E特征2.2ispLSI1032E结构可编程逻辑器件原理与应用第24页ispLSI1032E是ispLSI1000系列器件集成密度为6000等效门;电擦写CMOS(E2CMOS);有84个引脚(64个I/O,8个专用输入);最大工作频率fmax=125MHz;2.1ispLSI1032E特征可编程逻辑器件原理与应用第25页封装引脚图可编程逻辑器件原理与应用第26页2.2ispLSI032E功效框图返回可编程逻辑器件原理与应用第27页集总布线区GRP(GlobalRoutingPool)万能逻辑块GLB(GenericLogicBlock)GLB位于GRP四边,每边8块,共32块。每个GLB由与阵列、乘积项共享阵列、四输出逻辑宏单元和控制逻辑组成。GLB结构以下列图:ispLSI1032E结构框图

该区位于芯片中央,其任务是将全部片内逻辑联络在一起,提供了完善片内互连性能。可编程逻辑器件原理与应用第28页GLB结构与阵列有18个输入端,其中16个来自GRP,2个由I/O单元直通输入。20个与门,20个乘积项,经过4个或门输出。4输出宏单元有4个触发器,可被组态为组合输出或存放器输出。可编程逻辑器件原理与应用第29页GLB标准组态模式可编程逻辑器件原理与应用第30页输入输出单元IOC(InputOutputCell)查看ispLSI1032E结构框图IOC是最外层小方块,共64个(IN0~IN63)。该单元有输入、输出和双向I/O三类组态。可经过对控制输入输出三态缓冲器使能端编程来选择。可编程逻辑器件原理与应用第31页输出布线区ORP(OutputRoutingPool)输出布线区ORP介于GLB和IOC之间可编程互连阵列;ORP输入是8个GLB32个输出端;ORP输出有16个,分别与该侧16个IOC相连;经过对ORP编程,可将任一个GLB输出灵活地送到16个I/O端任何一个;在ORP旁边还有16条通向GRP总线,I/O单元能够使用,GLB输出也能够经过ORP使用它,从而方便地实现了I/O端复用功效和GLB之间互连。查看ispLSI1032E结构框图可编程逻辑器件原理与应用第32页时钟分配网络CDN(ClockDistributionNetwork)查看ispLSI1032E结构框图输入信号由专用输入端Y0、Y1、Y2、Y3提供;输出有五个,其中CLK0、CLK1、CLK2提供给GLB,IOCLK0和IOCLK1提供给I/O单元;时钟专用GLB(C0)四个输出送至CDN,以建立用户定义内部时钟电路。比如:将外加主时钟由Y0送入作为全局时钟CLK0,此全局时钟经过时钟专用GLB(C0)分频后送至CLK1、CLK2、IOCLK0、IOCLK1,则其它GLB或I/O单元能够工作在较低频率上。可编程逻辑器件原理与应用第33页

大块结构(Megablock)查看ispLSI1032E结构框图

ispLSI1032E采取了一个分块结构,每8个GLB连同对应ORP、IOC等组成一个大块。另外,每个大块中还包含2个专用输入端,仅供本大块内GLB使用。ispLSI1032E共有4个大块。可编程逻辑器件原理与应用第34页在系统可编程技术ISP软件设计和硬件设计同时进行降低对器件触摸和损伤不需要编程器样机制造方便支持生产和测试流程中修改针对用户要求进行特异化设计允许现场硬件升级提升产品功效未编程前先焊接安装系统内编程--ISP在系统现场重编程修改可编程逻辑器件原理与应用第35页

编程接口串行数据输入SDI(SerialDataIn);串行数据输出SDO(SerialDataOut);串行时钟SCLK(SerialClock);模式选择Mode;整个芯片使能端ispEN。可编程逻辑器件原理与应用第36页

在系统编程接口——串行菊花链方式ispLSI1032EispGDSispGALispLSISDOSDIMODESCLKispEN5线ISP编程接口可编程逻辑器件原理与应用第37页ispLSI器件编程条件PC机、ISP编程电缆、ISPDownload软件。可编程逻辑器件原理与应用第38页教学内容§1

可编程逻辑器件概述§2

CPLD基本结构与原理§3

ABEL硬件描述语言§4软件和硬件试验平台§5可编程逻辑器件设计流程可编程逻辑器件原理与应用第39页§3ABEL硬件描述语言3.1

ABEL语言元素3.2ABEL源文件格式3.3测试向量段可编程逻辑器件原理与应用第40页3.1ABEL语言元素1.字符和数⑴标识符:代表器件、器件管脚、节点、集合、输入信号、输出信号、宏、常量及变量等。标识符不能和关键字(即保留字)重名。⑵字符串:用单引号扩起来一系列字符。⑶注释:以双引号开头一行字符。可编程逻辑器件原理与应用第41页⑷操作数:二进制数:^B1010^b1010八进制数:^O67^o67十进制数:^D97^d97十六进制数:^H7EF^h7EF可编程逻辑器件原理与应用第42页

2.运算符、表示式与方程⑴运算符:逻辑运算符运算符说明举例!逻辑非!A&逻辑与A&B#逻辑或A#B$逻辑异或A$B!$逻辑同或A!$B可编程逻辑器件原理与应用第43页算术运算符:运算符举例说明--A取二进制补码-A-B减+A+B加*A*B乘/A/B除%A%B取模<<A<<BA左移B位>>A>>BA右移B位可编程逻辑器件原理与应用第44页关系运算符:运算符说明举例==等于A==B!=不等于A!=B<小于A<B<=小于等于A<=B>大于A>B>=大于等于A>=B可编程逻辑器件原理与应用第45页赋值运算符:运算符说明举例=非时钟赋值A=B:=时钟赋值A:=B可编程逻辑器件原理与应用第46页⑵

表示式:标识符和运算符组合运算符优先级:优先级运算符说明11-!取补取反222222&<<>>/*%与左移右移除乘取模优先级运算符说明33333+-#$!$加减或异或同或444444==!=<<=>>=等于不等于小于小于等于大于大于等于可编程逻辑器件原理与应用第47页

⑶布尔方程(逻辑方程,简称方程)[WHEN条件THEN][!]标识符=表示式;[ELSE方程];[WHEN条件THEN][!]标识符:=表示式;[ELSE方程];例:①X=A&B;②Y:=C#D;③!A=B$C;等同于A=!(B$C);WHENA==BTHENY=C;ELSEY=D;A=B;A=C;等同于A=B#C;可编程逻辑器件原理与应用第48页3.其它元素⑴集合:作为一个整体来进行运算一组信号和常量。例:①Address=[A7,A6,A5,A4,A3,A2,A1,A0];②Address=[A7..A0];③x=.x.;Address=[A7,A6,A5,A4,x,x,x,x];EQUATIONS!IO=(Address>=^hE000)&(Address<=^hE7FF)可编程逻辑器件原理与应用第49页集合赋值和运算例:①若已定义sign=[A,B,C];则能够这么赋值:sign=[1,1,0];或者sign=6;也能够这么运算:sign=[1,1,0]&[1,0,1];或者sign=6&5;②[a,b]=^bxx11;等同于[a,b]=^b11;③[a,b]=^b1;等同于[a,b]=^b01;④[a,b]=c&d;等同于a=c&d;b=c&d;可编程逻辑器件原理与应用第50页⑵特殊常量值常量值说明H逻辑高电平L逻辑低电平.C.时钟输入(电平按低—高—低改变).K.时钟输入(电平按高—低—高改变).U.时钟上升沿(电平按低—高改变).D.时钟下降沿(电平按高—低改变).X.任意值.Z.高阻态可编程逻辑器件原理与应用第51页⑶块

块是括在{}文本段,用于宏定义和指示字中。

块能够嵌套使用。⑷变量及变量代换

哑变量:在宏、模块和指示字中,能够被真实变量替换标识符。真实变量:用于宏、模块和指示字中变量,真实变量能够替换哑变量。真实变量能够是标识符、数字、字符串、运算符、集合等。可编程逻辑器件原理与应用第52页例:在宏定义中有

OR_EMMACRO(a,b,c){?a#?b#?c};

a,b,c是哑变量,在宏定义体中,哑变量前带有问号“?”。

在方程中有:

D=OR_EM(X,Y,A&B);

调用OR_EM宏,结果为:D=X#Y#(A&B);可编程逻辑器件原理与应用第53页⑸惯用点后缀点后缀含义.AP存放器异步置位.AR存放器异步复位.CE时钟导通触发器时钟输入.CLK边缘触发器时钟输入.DD触发器激励输入.FB存放器反馈信号.JJK触发器J激励输入.KJK触发器K激励输入.LE锁存器锁存使能输入可编程逻辑器件原理与应用第54页点后缀含义.LH锁存器锁存使能(高电平).OE输出使能.PIN引脚反馈.Q存放器输出.RSR触发器R激励输入.RE存放器复位信号(同时或异步).SSR触发器S激励输入.SP存放器同时置位.SR存放器同时复位.TT触发器激励输入可编程逻辑器件原理与应用第55页3.2ABEL-HDL源文件格式1.基本框架MODULE模块名[(哑变量名[,哑变量名]…)][TITLE语句]…Device器件名器件引脚pin定义常量、属性、宏等[EQUATIONS方程]…[TRUTH_TABLE真值表]…[STATE_DIAGRAM]…[TEST_VECTORS]…END[模块名][;]标题段定义段逻辑描述段测试向量段结束段可编程逻辑器件原理与应用第56页2.模块语句、标题语句(1)MODULE模块语句:MODULE模块名[(哑变量名[,哑变量名]…)]……(申明和逻辑描述)……END[模块名][;](2)TITLE标题语句

TITLE‘字符串’

可编程逻辑器件原理与应用第57页3.DECLARATIONS定义段每个模块必须有自己定义段。申明设计所使用器件、定义管脚和节点标识符。常量、宏和属性也在定义段中定义。⑴Device器件定义语句:器件名,[器件名]…DEVICE实际器件;器件名即设计模块中所用标识符,实际器件为实际器件工业型号,用字符串表示。可编程逻辑器件原理与应用第58页⑵Pin管脚定义语句[!]信号名[,[!]信号名]…PIN[IN器件名]管脚号[=‘属性[,属性]…’][,管脚号[=‘属性[,属性]…’]]…;说明信号标识符与真实器件管脚之间关系,并给出可编程管脚属性。模块中有多个器件时,应选取“IN器件名”。“!”表示低电平有效。管脚定义语句必须放在器件定义语句之后。例:①!Clock,Reset,S1PIN12,15,3;②!Clock,Reset,S1PININU12,12,15,3;可编程逻辑器件原理与应用第59页管脚、节点惯用属性关键字说明Pos正极性Neg负极性Com组合逻辑输出Reg存放器输出Buffer存放器缓冲输出Invert存放器反相缓冲输出Latch锁存输入Reg_dD触发器输出Reg_rsRS触发器输出Reg_jkJK触发器输出Reg_TT触发器输出可编程逻辑器件原理与应用第60页⑷常量定义语句

常量名[,常量名]…=表示式[,表示式]…;例:X=.X.;C=.C.;A=[!B,D];X,C,A=.X.,.C.,[!B,D];A,B=5,7;可编程逻辑器件原理与应用第61页⑸宏定义语句及扩展

宏名MACRO([哑变量,[哑变量]…]){块};宏定义中块能够用逻辑表示式描述,也能够用真值表来描述。例:用宏定义一个三输入与非门。①用逻辑表示式描述:NAND3MACRO(A,B,C){!(?A&?B&?C)};调用:D=NAND3(Clock,Hello,Busy);则:D=!(Clock&Hello&Busy);可编程逻辑器件原理与应用第62页例:用宏定义一个三输入与非门。②用真值表描述:NAND3MACRO(A,B,C,Y){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;};可编程逻辑器件原理与应用第63页⑹ISTYPE属性定义语句信号名[,信号名]…ISTYPE‘属性[,属性]…’;信号名是指管脚或节点标识符。属性定义语句用于对管脚或节点含有可编程特征器件进行属性定义,使详细器件形成正确逻辑并使设计优化。定义语句必须放在DEVICE器件定义语句、PIN管脚定义语句、NODE节点定义语句之后。可编程逻辑器件原理与应用第64页例:OUT0,OUT1,OUT2PIN3,4,5ISTYPE‘COM’;OUT3,OUT4PIN6,7ISTYPE‘REG’;可编程逻辑器件原理与应用第65页4.逻辑描述

☆布尔方程

☆真值表

☆状态机可编程逻辑器件原理与应用第66页⑴EQUATIONS方程语句:表示一组布尔方程开始。例:

EQUATIONS

A=B&C#D;[W,Y]=3;!F=(B==C);WHEN(select==0)THENy=a;可编程逻辑器件原理与应用第67页⑵TRUTH_TABLE真值表①表头:TRUTH_TABLE[IN器件名](输入向量->输出向量)TRUTH_TABLE[IN器件名](输入向量:>输出向量)TRUTH_TABLE[IN器件名](输入向量:>存放器输出->输出向量)->表示输入输出关系为组合逻辑型。:>表示输入输出关系为时序逻辑型。可编程逻辑器件原理与应用第68页②真值表:例:TRUTH_TABLEINIC16([en,A,B]->Y)[0,.X.,.X.]->.Z.;[1,0,0]->0;[1,0,1]->1;[1,1,0]->1;[1,1,1]->0;可编程逻辑器件原理与应用第69页②真值表:例:TRUTH_TABLE([A,B]:>[C,D]->Y)[0,0]:>[0,1]->1;[0,1]:>[1,0]->0;[1,0]:>[1,1]->1;[1,1]:>[0,0]->1;等同于:TRUTH_TABLE([A,B]:>[C,D]->Y)0:>1->1;1:>2->0;2:>3->1;3:>0->1;可编程逻辑器件原理与应用第70页⑶STATE_DIAGRAM状态机语句①STATE_DIAGRAM状态机语句:STATE_DIAGRAM[IN器件名][状态存放器][->状态输出]STATE状态表达式:[方程];[方程];…转移语句;转移语句可认为IF_THEN_ELSE或GOTO语句。状态表达式为所描述当前状态表达式;方程则给出该状态下即时输出;在下一个时钟执行转移语句,使状态机进入到下一个状态。可编程逻辑器件原理与应用第71页例:STATE_DIAGRAM[A,B]STATE3:Y=3;GOTO1;STATE1:Y=1;GOTO2;STATE2:Y=2;GOTO3;

可编程逻辑器件原理与应用第72页②IFTHENELSE语句:IF表示式THEN状态表示式1[ELSE状态表示式2];

③IFTHEN……ELSEIF语句:IF表示式THEN状态表示式ELSEIF表示式THEN状态表示式ELSEIF表示式THEN状态表示式ELSE状态表示式;可编程逻辑器件原理与应用第73页例:IFA==BTHENS2;IFX-YTHENJELSEK;IFATHENB*C;IFATHEN1ELSEIFBTHEN2ELSEIFCTHEN3ELSE0;可编程逻辑器件原理与应用第74页④CASE选择语句:CASE[表示式:状态表示式][表示式:状态表示式]……ENDCASE;例:CASEA==0:1;A==1:2;A==2:3;A==3:0;ENDCASE;可编程逻辑器件原理与应用第75页⑤GOTO语句:GOTO状态表示式;⑥WITH_ENDWITH语句:转移语句状态表示式WITH方程;[方程];……ENDWITH;可编程逻辑器件原理与应用第76页综合例题:S4=^B00;S1=^B01;S2=^B10;S3=^B11;STATE_DIAGRAM[A,B]STATES1:W=1;Y=1;GOTOS4;STATES2:IFY==3THENS3ELSES4;STATES3:W=2;Y=W;GOTOS2;STATES4:Y=3;CASEW==1:S2;W==2:S1;ENDCASE;

S1S2S4W==1Y==3Y!=3W==2S3可编程逻辑器件原理与应用第77页3.3测试向量段TEST_VECTORS[IN器件名][注释]

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

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

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

……目标:用来检验逻辑设计段所描述电路设计能否实现预期逻辑功效。表头表头定义测试向量表开始。表头和向量表左边是输入向量,右边是输出向量。向量表每一行必须以分号结尾。向量表列出各输入信号组合及对应输出向量。可编程逻辑器件原理与应用第78页例:

TEST_VECTORS

([A,B]->[F1,F2])[0,0]->[0,1];[0,1]->[1,0];[1,0]->[1,1];[1,1]->[0,0];可编程逻辑器件原理与应用第79页教学内容§1

可编程逻辑器件概述§2

CPLD基本结构与原理§3

ABEL硬件描述语言§4软件和硬件试验平台§5可编程逻辑器件设计流程可编程逻辑器件原理与应用第80页§4软件和硬件试验平台本试验软件平台是IspDesignExpert开发软件,是美国Lattice企业和DataI/O企业合作开发在系统可编程逻辑器件开发软件。IspDesignExpert软件特点:(1)支持各种设计方法:原理图输入法;ABEL-HDL

温馨提示

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

评论

0/150

提交评论