收藏 分销(赏)

《数字逻辑基础》.pptx

上传人:快乐****生活 文档编号:12601983 上传时间:2025-11-09 格式:PPTX 页数:32 大小:728.25KB 下载积分:10 金币
下载 相关 举报
《数字逻辑基础》.pptx_第1页
第1页 / 共32页
《数字逻辑基础》.pptx_第2页
第2页 / 共32页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第6章 可编程逻辑器件及开发,6.1 可编程逻辑器件概述,6.2 逻辑可编程基本原理,6.3,MAX7000,系列,CPLD,结构,6.4,PLD,开发技术,1/32,6.1 可编程逻辑器件概述,可编程逻辑器件,PLD(Programmable Logic Device):,一个半用户定制集成电路。即设计者能将自己设计逻辑功效配置,到其中,尤其适合产品开发期内使用。,按编程方式分类:,一次性编程,OTP(One Time Programmable),器件。,只允许对器件编程一次,编程后不得修改。特点是集成度和可,靠性高,适合用于小批量产品;,屡次编程器件。,允许对编程后芯片进行擦除、再编程。适合用于开发研制阶段,或小批量产品。,按配置信息存放方式分类:,CPLD:,复杂可编程逻辑器件(,Complex PLD,),用,EEROM,存放配置信息,。,高密度、高速度、低功耗,能重复多,次电擦除编程,价格低廉,但逻辑规模不及,FPGA,;,FPGA:,现场可编程门阵列(,Field Programmable Gate Array,),用,静态存放器(,SRAM,),存放配置信息。更高密度、更高速度,,逻辑规模极大。不存在擦除问题,但断电后信息会丢失。需在上,电时从片外,ROM,读入逻辑配置信息。,本章以,Altera,企业,MAX7000,系列器件,为例,讨论,CPLD,结构及开发技术。,2/32,6.2 逻辑可编程基本原理,6.2.1,组合逻辑可编程基本原理,目标:用一个通用电路结构,来实现任意组合逻辑函数,例:,F,=,AB,+,AC,+,BC,。最小项之和表示为:,用,与阵列,实现,F,,,如图。,G,1,G,3,:能同时输出原变量和反变量输入缓冲器;,G,4,G,7,:,多输入端与门,分别产生,F,四个最小项。,:表示,竖线,提供变量参加“与”运算。,PLD,中与运算表示法,3/32,PLD,中或运算表示方法:,竖 线:表示或门多输入端;,横 线:提供参加“或”运算量;,交叉处:可编程点。,如图,用,与或阵列,实现函数:,可编程点:横线与竖线交叉处为可编程点。,假如希望某逻辑量参加运算,则标上“”;,假如不让该逻辑量参加与运算,则不加任何标识,,假如器件制造时已被固定让对应逻辑量参加运算,则标有实心点“”,用户不能对这么点编程。,4/32,PLD,中,与或阵列,有两种简化画法,见下列图。,(1)省略与门和非门符号,将与阵列画在左恻,或阵列画在右恻。,(,2,),省略与门和非门符号,将与阵列画在上面,或阵列画在下面,。,(1),(,2,),5/32,图(,a),中小圆圈中为可编程点,。,功效:使,x,线上逻辑量能传到(或不能传到),y,线上。,原理:图见(,b)。,若浮栅,MOS,管导通,x,=,1,时,开关,MOS,管导通,,y,=1,。,x,=,0,时,开关,MOS,管截止,,y,=0,。,若浮栅,MOS,管截止,,x,不能,传到,y,。,使浮栅,MOS,管导通:编程写入,1。,使浮栅,MOS,管截止:电擦除。,6.2.2 可编程点工作原理,x,能否,传到,y,,,取决于浮,栅,MOS,管是否导通。,6/32,6.2.3 时序逻辑可编程基本原理,时序逻辑可编程:用户经过编程,使器件实现所需时序逻辑功效。,组成:在与或阵列基础上增加触发器。,工作原理:,由图可得,触发器激励为:,即:激励是各个输入变量和状态变量函数。这正是时序逻辑。,在此基础上深入完善功效,形成,CPLD,中“,宏单元,”。,7/32,6.3,MAX7000,系列,CPLD,结构,8/32,各功效块介绍:,逻辑阵列块,LAB,。,每个,LAB,由,16,个宏单元组成,能满足需要16个触发器逻辑功效。,可编程连线阵列,PIA,PIA,:,全局总线,聚集了全部,I/O,、,专用输入、宏单元输出。,可编程,:,经过编程能够让其抵达(或不让其抵达),LAB,中,指定位置。,输出、输入控制块,IOB,对外引出各宏单元需要,输入、输出。如:,触发器输出、,使能端,等;,按用户需要,将,管脚配置,为与各宏单元某个,输入或输出连接。,配置信息来自于用户编程信息。,配置信息,要使,CPLD,实现用户希望逻辑功效,,需要大量配置信息。,配置信息内容取决于设计者所设计逻辑功效。,利用设计工具完成设计,生成编程文件中含有配置信息。,借助设计工具编程功效,将这些信息下载到器件,可编程点,中。,9/32,6.4,PLD,开发,技术,开发目标,:将,PLD,器件开发成满足设计要求、可投入实际运行器件。,开发工具:,软件工具。,本节介绍,MAX+plus II,开发,PLD,器件全过程。,6.4.1,PLD,器件开发过程,输入设计源文件,编译,时序仿真,定时分析,器件编程,1.输入设计源文件,设计源文件:,描述电路逻辑功效文件、仿真通道文件。,设计源文件形式:,图形方式电路原理图;,文本方式 硬件描述源程序(,HDL)。,10/32,编译之前对器件一些设置:,选择器件系列与型号;,保密位设置;,管脚分配。,编译结果:主要生成以下文件,功效仿真网络表文件(,.,snf,),,用于软仿真;,编程目标文件(,.,pof,),,用于器件编程;,编译信息文件(.,mtf),,汇报编译信息,如设计错误、器件适配等。,2.编译,3.时序仿真与综合,时序仿真,定时分析,分析所设计项目在工作速度上相关参数,延迟矩阵分析(,D,elay Matrix,):,分析信号源到指定节点延迟时间;,建立保持矩阵,分析,(,S,etup/Hold Time Matrix,):,分析从输入管脚到各触发器信号最少应保持多长时间才能使电路,状态可靠地完成转换;,时序逻辑电路性能分析(,R,egistered Performance):,分析时序逻辑电路最小时钟周期、最高工作频率。,11/32,3 器件编程,经过下载电缆,将编程文件(,.,pof,文件)包含配置信息下载到,CPLD,器件中。,编程完成后,该器件即含有所设计逻辑功效,可脱离开发环境,通电实际检验。,12/32,6.4.2 一个开发实例,异步串行数据接收器,异步串行通信:,经过一根信号线,将数据逐位地从发送方向接收方传输。,RXD:,串行数据输出端;,TXD:,串行数据接收端。,特点:,线路成本低,但速率不高,适合用于较远距离数据传输。,无同时脉冲,,,接收方只能依据信号特征确定各数据位到来时刻。,13/32,数据格式(以,8,位串行数据为例):,一帧数据:起始位(,STRAT,)+,8,数据位+停顿位(,STOP,),;,每位经历时间相等。,一个字节,5,D H,(,H,表示,16,进制)传输波形(见下列图):,STRAT,总是为,0,,是一帧数据开始标志位;,接下来从最低位,D,0,开始,逐位传送直到最高位,D,7,;,最终传送一个停顿位,STOP,,,表示一帧数据传输结束。,14/32,一帧数据接收:,接收电路对各位数据(包含,START,和,STOP,位)进行,16,次等间隔采样。,对于,START,位,连续,15,或,16,次采样结果均应为低电平,以确保准确地捕捉到,D,0,位开,始时刻;,对于后续各位:,仅由第,7,、,8,、,9,次采样判决该位是,0,或,1,,判决议略为多数表决。,判决结果逐位移入串入、并出移位存放器。,在,STOP,位,若判决为,1,,则接收成功,发出一个高电平脉冲,将收到数写入接,收缓冲器。,15/32,规划接收电路功效模块图(见下列图,),:,各模块功效以下:,U1:4,位二进制同时计数器。,对各串行数据位进行,16,次采样次数计数。,应含有计数去除端,CLR,、,进位输出端,CO,、,计数值输出端,Q,3,Q,0,。,注意,,CO,在计数值为,14,和,15,时均输出高电平。,16/32,各模块功效(续):,7,判断逻辑,组合逻辑电路。当,U1,计数值,7,时,输出,SAMP=1,,,不然,SAMP=0,。,SAMP,上升沿对应该前数据位第,7,次采样。,U2:4,位二进制同时计数器,计数时钟脉冲取自,U1,进位脉冲,故能对收到串行数据位个数计数。,接收,D,0,时,,U2,计数值为,0,。每收到一位,该计数器加,1,;,含有计数去除端,CLR,、,计数值输出端,Q,3,Q,0,。,=8,判断逻辑,组合逻辑电路。接收,STOP,位后,,U2,计数值为,9,,所以本电路在接收,STOP,位后输出,ST=1,。,U3:9,位串行输入并行输出移位存放器,移位时钟脉冲取自,U1,进位脉冲,故能逐位移入接收到串行数据。按,照串行数据帧格式,,D,0,位最先移入。当移入,STOP,位时,,U3,输出端,Q,7,Q,0,=D,7,D,0,,,Q,8,为,STOP,位。,U4:8,位数据锁存器。,当,STOP,位正确抵达时,锁存,U3,输出数据,D,7,D,0,;,当控制端,OE=1,时,数据输出端为三态;,当要读出锁存数据时,向,OE,端发一个低电平读脉冲,RD,,,锁存数,据就能出现在输出端上。,17/32,各模块功效(续):,主控制单元。,本设计关键部分,要实现功效为:,检测,START,位;,检测,D,0,D,7,位和,STOP,位;,协调其它单元工作。,1.主控制单元描述,逐步建立主控单元状态图,(1)建立检测,START,位状态图。,S,0,:,等候,START,位到来,并不停发出对,U1,清零信号,CLR1。,一旦,RXD=0,,马上转到下一状态,S,1,。,S,1,:,对,RXD,进行采样,并撤除对,U1,清零,转而对计数器,U2,清零。,当,U1,计数值到达,14,时,进位,CO,1,=1,,,转到接收,D0,状态。,若发生,RXD=1,,则,START,位是错误,应马上回到,S,0,态,等候正确,START,。,18/32,(2)建立检测,D0D7,位和,STOP,位状态图,S,2,:,等候第7次采样点到来。,SAMP=0,:第7次采样点未到;,SAMP=1,:第7次采样点抵达,转,S,3,或,S,4,。,S,3,S,7,:,进行第,7,、,8,、,9,三次采样。,对串行输入量多数表决,在,S,6,和,S,7,态输出表决结果,若抵达,S,6,:,输出数据,1,若抵达,S,7,:,输出数据,0,等候第9次采样点到来,,转到,S0,态,19/32,(3)用,AHDL,状态机描述主控制单元,AHDL,状态机描述语句语法关键点:,定义状态机变量:,状态机名:,MACHINE WITH STATES(,状态名,状态名,状态名);,对状态机赋以状态值:,状态机名=状态名;,注意:状态名是常量,。,为状态机指定时钟信号源:,状态机名.,clk=,时钟信号源名称,;,控制状态机状态转移,:,方法一,用,CASE,语句(条件语句):,CSAE,条件表示式,IS,WHEN,条件表示式值1 =语句1;,WHEN,条件表示式值2 =语句2;,WHEN,条件表示式值,n =,语句,n;,END CASE;,方法二,用,TABLE,语句(真值表语句):,AHDLAltera,企业硬件描述语言,。,20/32,TABLE,输入变量,输入变量,=输出变量,输出变量2,;,输入值,输入值,=输出值,输出值,;,END TABLE;,方法二,用,TABLE,语句(真值表语句):,主控制单元描述:,SUBDESIGN exp6_1m,-,子设计段开始,。,(,clk,rxd :INPUT;,-,定义输入引脚,samp,co1,st :INPUT;,rxd,q8 :INPUT;,clr1,clr2 :OUTPUT;,-,定义输出引脚,d,we,int :OUTPUT;,),一个设计最少应有几个个子设计段和一个逻辑段。子设计假如作为主模块,段名应与工程名相同。不然,子设计可作为子模块,供主模块调用。,21/32,BEGIN,-,逻辑段开始,DEFAULTS,-,缺省电平值说明语句,clr1=VCC;,-,定义输出引脚缺省电平值,clr2=VCC;,d=GND;,we=GND;,int =GND;,END DEFAULTS;,m.CLK=clk;,-,为状态机工作所需时钟赋值,VARIABLE,-,变量说明段开始,m:MACHINE WITH STATES(s0,s1,s2,s3,s4,s5,s6,s7);,f:DFF;,CASE m IS,WHEN S0=,-,描述,S,0,态时行为,clr1=GND;,-u1,清0,IF !rxd THEN,m=s1;,-,状态机赋值语句,END IF;,22/32,WHEN S1=,-,描述,S,1,态时行为,clr2=GND;,-U2,计数器清0,TABLE,-,真值表语句开始,rxd,co1 =m;,0,0 =s1;,0,1 =s2;,1,0 =s0;,1,1 =s0;,END TABLE;,-,真值表语句结束,WHEN s2=,-,描述,S,2,态时行为,IF samp THEN,TABLE,rxd=m;,0 =s4;,1 =s3;,END TABLE;,END IF;,23/32,WHEN s3=,-,描述,S,3,态时行为,IF rxd THEN,m=s6;,ELSE,m=s5;,END IF;,WHEN s4=,-,描述,S,4,态时行为,IF rxd THEN,m=s5;,ELSE,m=s7;,END IF;,WHEN s5=,-,描述,S,5,态时行为,IF rxd THEN,m=s6;,ELSE,m=s7;,END IF;,24/32,WHEN s6=,-,描述,S,6,态时行为,d=VCC;,IF st THEN,we=q8;,END IF;,TABLE,st,co1=m;,0,0 =s6;,0,1 =s2;,1,0 =s0;,1,1 =s0;,END TABLE;,25/32,WHEN s7=,-,描述,S,6,态时行为,d=GND;,IF st THEN,we=q8;,END IF;,TABLE,st,co1=m;,0,0 =s7;,0,1 =s2;,1,0 =s0;,1,1 =s0;,END TABLE;,END CASE;,-,状态机描述结束(,CASE,语句结束),f.CLK=!we;,-,为,F,工作时钟端赋值,f.d=q8;,f.CLRN=rd;,int=f.q;,END;,-,逻辑段结束,26/32,2.,U1U4,描述,(1)用,AHDL,描述,U1,SUBDESIGN u1,-,子设计段,u1,(,clk,clr :INPUT=VCC;,co,samp :OUTPUT;,),VARIABLE,c3.0 :DFF;,BEGIN,DEFAULTS,co=GND;,samp=GND;,END DEFAULTS;,c3.0.CLK=clk;,c3.0.CLRN=clr;,c =c+1;,-,自加,1,,计数,27/32,IF c=B1110#c=B1111 THEN,co=VCC;,END IF;,IF C=7 THEN,samp=VCC;,END IF;,END;,(2)用,AHDL,描述,U2,SUBDESIGN u2,(,clk,clr :INPUT=VCC;,st :OUTPUT;,),VARIABLE,c3.0 :DFF;,28/32,BEGIN,DEFAULTS,st=GND;,END DEFAULTS;,c3.0.CLK=clk;,c3.0.clrn=clr;,c=c+1;,IF c=9 THEN,st=VCC;,END IF;,END;,(3)用,AHDL,描述,U3,SUBDESIGN u3,(,clk,d :INPUT;,q7.0 :OUTPUT;,q8 :OUTPUT;,),29/32,VARIABLE,sf8.0 :DFF;,BEGIN,sf.CLK=clk;,sf8.d=D;,-,数据从触发器组最高位进入,sf7.0.d=sf8.1.q;,-,向低位逐位移动,q7.0=sf7.0.q;,-,输出数据,q8=sf8.q;,-,输出最高位,END;,(4)用图形方式描述,U4,30/32,3.整体电路描述,以上描述各个模块,要存放在各自文件中,文件名就是子设计名;,生成各个模块逻辑符号;,编辑顶层设计文件。,31/32,4.,仿真,5.器件适配,选择适当器件;,观看或修改管脚分配。,6.器件适配,使用下载电缆将编程文件,.,pof,下载到,器件中。,32/32,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服