资源目录
压缩包内文档预览:(预览前20页/共32页)
编号:21835840
类型:共享资源
大小:19.66MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
数字
逻辑
基础
管庶安
课件
ppt
- 资源描述:
-
大学数字逻辑基础-管庶安-课件PPT,大学,数字,逻辑,基础,管庶安,课件,ppt
- 内容简介:
-
第6章 可编程逻辑器件及开发,6.1 可编程逻辑器件概述,6.2 逻辑可编程的基本原理,6.3 MAX7000系列CPLD的结构,6.4 PLD开发技术,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的结构及开发技术。,6.2 逻辑可编程的基本原理,6.2.1 组合逻辑可编程的基本原理 目的:用一种通用的电路结构,来实现任意组合逻辑函数,例: F=AB+AC+BC。最小项之和表示为:,用与阵列实现 F ,如图。 G1G3:能同时输出原变量和反变量的输入缓冲器; G4G7: 多输入端与门,分别产生F 的四个最小项。 : 表示竖线提供的变量参加“与”运算 。,PLD中的与运算表示法,PLD中的或运算的表示方法: 竖 线: 表示或门的多输入端; 横 线: 提供参加“或”运算的量; 交叉处: 可编程点。,如图,用与或阵列实现函数:,可编程点:横线与竖线交叉处为可编程点。 如果希望某逻辑量参加运算,则标上“”; 如果不让该逻辑量参加与运算,则不加任何标记, 如果器件制造时已被固定让对应的逻辑量参加运算,则标有实心点“”,用户不能对这样的点编程。,PLD中与或阵列的有两种简化画法,见下图。 (1)省略与门和非门符号,将与阵列画在左恻,或阵列画在右恻。 (2)省略与门和非门符号,将与阵列画在上面,或阵列画在下面。,(1),(2),图(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.2.3 时序逻辑可编程的基本原理,时序逻辑可编程:用户通过编程,使器件实现所需的时序逻辑功能。 构成:在与或阵列基础上增加触发器。 工作原理: 由图可得,触发器的激励为:,即:激励是各个输入变量和状态变量的函数。这正是时序逻辑。,在此基础上进一步完善功能,形成CPLD中的“宏单元”。,6.3 MAX7000系列CPLD的结构,各功能块介绍: 逻辑阵列块LAB。 每个LAB由16个宏单元组成,能满足需要16个触发器的逻辑功能。 可编程连线阵列PIA PIA:全局总线,汇集了全部 I/O、专用输入、宏单元的输出。 可编程:通过编程可以让其到达(或不让其到达)LAB中的指定位置。 输出、输入控制块IOB 对外引出各宏单元需要的输入、输出。如:触发器输出、使能端等; 按用户需要,将管脚配置为与各宏单元的某个输入或输出连接。 配置信息来自于用户的编程信息。 配置信息 要使CPLD实现用户希望的逻辑功能,需要大量的配置信息。 配置信息的内容取决于设计者所设计的逻辑功能。 利用设计工具完成设计,生成的编程文件中含有配置信息。 借助设计工具的编程功能,将这些信息下载到器件的可编程点中。,6.4 PLD开发技术,开发目的:将 PLD器件开发成满足设计要求、可投入实际运行的器件。 开发工具:软件工具。 本节介绍MAX+plus II开发PLD器件的全过程。,6.4.1 PLD器件的开发过程,输入设计源文件 编译 时序仿真 定时分析 器件编程,1. 输入设计源文件,设计源文件: 描述电路逻辑功能的文件、仿真通道文件。 设计源文件的形式: 图形方式电路原理图; 文本方式 硬件描述源程序(HDL) 。,编译之前对器件的一些设置: 选择器件系列与型号; 保密位设置; 管脚分配。 编译结果:主要生成如下文件 功能仿真网络表文件(.snf),用于软仿真; 编程目标文件(.pof),用于器件编程; 编译信息文件(.mtf),报告编译信息,如设计错误、器件适配等。,2.编译,3. 时序仿真与综合,时序仿真 定时分析 分析所设计的项目在工作速度上的有关参数 延迟矩阵分析(Delay Matrix): 分析信号源到指定节点的延迟时间; 建立保持矩阵分析(Setup/Hold Time Matrix): 分析从输入管脚到各触发器的信号至少应保持多长时间才能使电路 的状态可靠地完成转换; 时序逻辑电路的性能分析(Registered Performance): 分析时序逻辑电路的最小时钟周期、最高工作频率。,3 器件编程,通过下载电缆,将编程文件(.pof文件)包含的配置信息下载到CPLD器件中。 编程完成后,该器件即具有所设计的逻辑功能,可脱离开发环境,通电实际检验。,6.4.2 一个开发实例 异步串行数据接收器,异步串行通信: 通过一根信号线,将数据逐位地从发送方向接收方传输。 RXD:串行数据输出端; TXD:串行数据接收端。 特点: 线路成本低,但速率不高,适用于较远距离的数据传输。 无同步脉冲,接受方只能依据信号的特征确定各数据位到来的时刻。,数据格式(以8位串行数据为例): 一帧数据:起始位(STRAT)+ 8数据位+ 停止位(STOP); 每位经历的时间相等。 一个字节 5D H(H表示16进制)的传输波形(见下图): STRAT总是为0,是一帧数据开始的标志位; 接下来从最低位D0开始,逐位传送直到最高位D7; 最后传送一个停止位STOP,表示一帧数据传输结束。,一帧数据的接收: 接收电路对各位数据(包括START和STOP位)进行16次等间隔采样。 对于START位 连续15或16次采样结果均应为低电平,以确保准确地捕捉到D0位开 始的时刻; 对于后续各位: 仅由第7、8、9次采样判决该位是0或1,判决策略为多数表决。 判决结果逐位移入串入、并出移位寄存器。 在STOP位 若判决为1,则接收成功,发出一个高电平脉冲,将收到的数写入接 收缓冲器。,规划接收电路的功能模块图(见下图):,各模块功能如下: U1: 4位二进制同步计数器。 对各串行数据位进行16次采样的次数计数。 应具有计数清除端CLR、进位输出端CO、计数值输出端Q3Q0。 注意,CO在计数值为14和15时均输出高电平。,各模块功能(续): 7判断逻辑 组合逻辑电路。当U1的计数值7时,输出SAMP=1,否则SAMP=0。 SAMP的上升沿对应当前数据位的第7次采样。 U2: 4位二进制同步计数器 计数时钟脉冲取自U1的进位脉冲,故能对收到的串行数据位个数计数。 接收D0时,U2的计数值为0。每收到一位,该计数器加1; 具有计数清除端CLR、计数值输出端Q3Q0。 = 8判断逻辑 组合逻辑电路。接收STOP位后,U2的计数值为9,因此本电路在接收 STOP位后的输出ST=1。 U3 : 9位串行输入并行输出移位寄存器 移位时钟脉冲取自U1的进位脉冲,故能逐位移入接受到的串行数据。按 照串行数据帧的格式,D0位最先移入。当移入STOP位时,U3的输出端 Q7Q0=D7D0,Q8为STOP位。 U4: 8位数据锁存器。 当STOP位正确到达时,锁存U3输出的数据D7D0; 当控制端OE=1时,数据输出端为三态; 当要读出锁存的数据时,向OE端发一个低电平的读脉冲RD,锁存的数 据就能出现在输出端上。,各模块功能(续): 主控制单元。 本设计的核心部分,要实现的功能为: 检测START位; 检测D0D7位和STOP位; 协调其它单元的工作。,1. 主控制单元的描述,逐步建立主控单元的状态图 (1)建立检测START位的状态图。,S0:等待START位的到来,并不断发出对U1的清零信号CLR1。 一旦RXD=0,立即转到下一状态S1。 S1:对RXD进行采样,并撤除对U1清零,转而对计数器U2清零。 当U1的计数值达到14时,进位CO1=1,转到接收D0的状态。 若发生RXD=1,则START位是错误的,应立即回到S0态,等待正确 的START。,(2) 建立检测D0D7位和STOP位的状态图 S2: 等待第7次采样点的到来。 SAMP=0:第7次采样点未到; SAMP=1:第7次采样点到达,转S3或S4。 S3S7 : 进行第7、8、9三次采样。 对串行输入量多数表决,在S6和S7态输出表决结果 若到达S6:输出数据1 若到达S7:输出数据0,等待第9次采样点的到来,转到S0态,(3) 用AHDL的状态机描述主控制单元,AHDL的状态机描述语句语法要点: 定义状态机变量 : 状态机名: MACHINE WITH STATES (状态名,状态名,状态名); 对状态机赋以状态值: 状态机名=状态名; 注意:状态名是常量。 为状态机指定时钟信号源: 状态机名.clk = 时钟信号源名称; 控制状态机的状态转移: 方法一,用CASE语句(条件语句 ): CSAE 条件表达式 IS WHEN 条件表达式的值1 = 语句1; WHEN 条件表达式的值2 = 语句2; WHEN 条件表达式的值n = 语句n; END CASE; 方法二,用TABLE语句(真值表语句):,AHDLAltera公司的硬件描述语言。,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; ),一个设计至少应有几个个子设计段和一个逻辑段。子设计如果作为主模块,段名应与工程名相同。否则,子设计可作为子模块,供主模块调用。,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 = -描述S0态时的行为 clr1=GND; -u1清0 IF !rxd THEN m=s1; -状态机赋值语句 END IF;,WHEN S1 = -描述S1态时的行为 clr2=GND; -U2计数器清0 TABLE -真值表语句开始 rxd,co1 = m; 0 , 0 = s1; 0 , 1 = s2; 1 , 0 = s0; 1 , 1 = s0; END TABLE; -真值表语句结束 WHEN s2 = -描述S2态时的行为 IF samp THEN TABLE rxd = m; 0 = s4; 1 = s3; END TABLE; END IF;,WHEN s3 = -描述S3态时的行为 IF rxd THEN m = s6; ELSE m = s5; END IF; WHEN s4 = -描述S4态时的行为 IF rxd THEN m = s5; ELSE m = s7; END IF; WHEN s5 = -描述S5态时的行为 IF rxd THEN m = s6; ELSE m = s7; END IF;,WHEN s6 = -描述S6态时的行为 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;,WHEN s7 = -描述S6态时的行为 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; -逻辑段结束,2. U1U4的描述,(1) 用AHDL描述U1,SUBDESIGN u1 - 子设计段u1 ( clk,clr :INPUT = VCC; co,samp :OUTPUT; ) VARIABLE c30 : DFF; BEGIN DEFAULTS co = GND; samp = GND; END DEFAULTS; c30.CLK = clk; c30.CLRN = clr; c = c +1; -自加1,计数,IF c = =B“1
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。