第10章可编程逻辑器件_第1页
第10章可编程逻辑器件_第2页
第10章可编程逻辑器件_第3页
第10章可编程逻辑器件_第4页
第10章可编程逻辑器件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、学习要点学习要点了解了解EDAEDA技术的发展概况技术的发展概况了解简单可编程逻辑器件的构造和工作原理了解简单可编程逻辑器件的构造和工作原理掌握用掌握用PROMPROM和和PLAPLA实现组合逻辑函数的方法实现组合逻辑函数的方法了解高密度可编程逻辑器件的构造及应用了解高密度可编程逻辑器件的构造及应用10.1 是指以计算机硬件和系统软件为基本工作平台,利用PLD器件和EDA开发工具,在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板(简称PCB)的自动设计。集成电路技术方面:1958年出现了第一块数字集成电路。20世纪60年代初出现了小规模集成电路和中规模集成电路。1967

2、年,数字集成电路跨入大规模集成电路时代,在一块芯片上集成1000个以上的晶体管。1977年出现了在一块芯片上集成13万个晶体管的集成电路,从而使数字集成电路进入了超大规模集成电路时代。1998年,数字集成电路达到了在一块芯片上集成超过一亿个晶体管或基本单元的规模。从20世纪70年代起,在集成电路版图设计方面,出现了基于门阵列和标准单元的计算机辅助设计工具;在系统设计方面,出现了计算机辅助电路分析工具和逻辑综合与优化工具,以及简单可编程逻辑器件。20世纪80年代出现了PCB自动布局布线工具,标准的硬件描述语言HDL及其仿真工具,以及复杂可编程逻辑器件。20世纪90年代出现了可编程模拟电路,以及标

3、准HDL的综合工具,电子设计才真正进入了自动化时期。进入21世纪,又出现了可编程片上系统。现代EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力。与这些基本特征有关的技术有自顶向下设计方法、硬件描述语言(HDL)、逻辑综合优化、开放性和标准化以及库的引入。 电子系统的仿真是用计算机模仿电子系统的实际工作情况。因此,仿真时要在计算机上建立电子元件和模块的功能模型,还要将系统(电路)的构成描述给计算机。此外,设计工程师还要为被仿真的电路设计适当的输入信号,在计算机模拟结果出来后要对其进行分析,从而判定电路正确与否。根据设计验证的不同层次和要求,仿真分为系统仿真、逻辑仿真、时序仿真、电

4、路仿真等。电子系统的综合是将较高层次的描述转换为由低层次便于实现的模块所装配成的统一实体。综合分高层综合、逻辑综合和版图综合。高层综合是从系统级(算法级)的行为(功能)描述产生功能级的结构描述。逻辑综合是将功能级描述转化为逻辑(门)级的描述。版图综合是在逻辑综合完成后,由门级和电路级向物理版图描述的转换,完成最终的布局布线。电子系统的实现方式通常有通用集成电路、可编程器件和定制集成电路3种方式。输入电路与门阵列或门阵列输入输出输入项与项或项输出电路1&1A B C DA B C DY=ACDY=A+B+CAAA (a) 缓冲器画法 (b) 与门画法 (c) 或门画法PLD的基本结构的基本结构P

5、LD内部电路的简化画法内部电路的简化画法11A BY1 Y211&11A BY1 Y211&A A B BY1 Y2与阵列或阵列SPLD的分类的分类分 类与 阵 列或 阵 列输 出 电 路 编 程 方 式PR O M固 定可 编 程固 定熔 丝PL A可 编 程可 编 程固 定熔 丝PA L可 编 程固 定固 定熔 丝G A L可 编 程固 定可 组 态电 可 擦 除111A2 A1 A0D2 D1 D0与阵列(固定)&1 1 1或阵列(可编程)例例用PROM实现下列一组函数ABCCABBCACBAYADACDCADABYACCBBAYABCDDABCABBAY4321用PROM实现组合逻辑函

6、数的方法与ROM相同,即首先列出要实现的逻辑函数的真值表,然后再根据真值表画出用PROM实现这些逻辑函数的阵列图。真真值值表表A B C DY1 Y2 Y3 Y40 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 10 0 0 00 0 0 00 0 0 10 0 0 10 1 0 00 1 0 00 1 0 10 1 0 11 0 0 01 0 1 01 1 1 01 1 1 11 1 1 11 1 1 11 1 1 11

7、1 1 1阵阵列列图图Y1 Y2 Y3 Y4A A B B C C D D111I2 I1 I0O2 O1 O0与阵列(可编程)&1 1 1或阵列(可编程)用用PLA实现逻辑函数的基本原理是基于函实现逻辑函数的基本原理是基于函数的最简与或表达式,故数的最简与或表达式,故首先需要将逻辑首先需要将逻辑函数化为最简与或表达式,然后根据最简函数化为最简与或表达式,然后根据最简与或表达式画出与或表达式画出PLAPLA的阵列图。的阵列图。例例用PLA实现下列一组函数ABCCABBCACBAYADACDCADABYACCBBAYABCDDABCABBAY4321化化简简CAABYADACABYACBYAY4

8、321阵阵列列图图A A B B C C D DY1 Y2 Y3 Y4111I3 I2 I1 I0O3 O2 O1 O0与阵列(可编程)&1或阵列(固定)1&1 1 11I3O3&111I2I1I01111O2O1O0专专用用输输出出结结构构1I输入O&1可可编编程程I/I/O O结结构构1I输入、 反馈及 I/OI/O&11 1EN带反馈的寄存器结构带反馈的寄存器结构1I输入、 反馈及 I/OI/O&11 1EN D QCQ异或型输出结构异或型输出结构I/O&1I1输入、 反馈及 I/O1 1EN D QCQ =1例例 如图所示为用PAL实现的一组组合逻辑函数,试写出该组逻辑函数的表达式。1

9、AY3&111BCD1111Y2Y1Y0解解 根据如图所示PAL与阵列的编程情况可知,函数Y3是由4个与项相加组成的,这4个与项分别为ABC、BCD、ACD和ABD,所以函数Y3的表达式为:ABDACDBCDABCY3同理,函数Y2是由3个与项、和相加组成的,函数Y1是由2个与项和相加组成的,函数Y0是由个与项AB和相加组成的,所以:BAABYBABAYDCBBAY012111912&1OLMC 11813&1OLMC 11714&1OLMC 11615&1OLMC 11516&1OLMC 11417&1OLMC 11318&1OLMC 11219&1OLMC 11OEC04812162024

10、2811(19)(18)(17)(16)(15)(14)(13)(12)0871516232431323940474855566337111519232731GAL器件在制造工艺上采用了EECMOS工艺,可以反复编程,且集成度比PAL有了较大的提高,其与阵列的规模大大超过了PAL,每个或门的输入端数增加到810个,可实现较为复杂的逻辑函数。在结构上,GAL不但直接继承了PAL器件的由一个可编程与阵列驱动一个固定或阵列的结构,而且还具有可编程的输出逻辑宏单元(简称OLMC)。通过对OLMC编程,可实现多种形式的输出,使用起来比PAL更加灵活方便。11100100011=1DQQ011UCCAC0

11、AC1(m)AC1(n)I/O(n)接与阵列反馈COEOECPTMUXTSMUXOMUXFMUX1&XOR(n)接邻级输出(m)AC1(n)AC011100100GAL16V8GAL16V8中中OLMCOLMC的结构的结构 OLMC 输出状态与结构控制字 SYN、AC0、AC1(n)的关系 SYN AC0 AC1(n)功 能说 明 0 1 0寄存器输出纯时序输出 0 1 1组合与寄存器混合输出本单元组合输出,其他单元至少一个寄存器输出 1 0 0纯组合输出无内部反馈和使能控制 1 0 1纯输入方式输入为 I/O(m),三态门禁止 1 1 1组合输出组合 I/O 输出,第一乘积项控制输出使能CP

12、LD基本上沿用了GAL的阵列结构,在一个器件内集成了多个类似GAL的大模块,大模块之间通过一个可编程集中布线区连接起来。在GAL中只有一部分引脚是可编程的(OLMC),其他引脚都是固定的输入脚。而在CPLD中,所有的信号引脚都可编程,既可做输入,又可做输出,故称为I/O脚。如图所示给出了一个典型CPLD的内部结构框图。总布线区(GRP)是一个二维的开关阵列,负责将输入信号送入通用逻辑模块,并提供通用逻辑模块之间的连接通路。在GRP两侧各有一个巨模块,每个巨模块含8个通用逻辑模块(GLB)、一个输出布线区(ORP)、一组输入总线和16个输入/输出模块(IOC)。FPGA是由普通的门阵列(需在制造

13、厂加工,又称为掩膜门阵列)发展而来的,其结构与CPLD大不相同,其内部含有成千上万个较小的逻辑单元,所以在布局上呈二维分布。要将如此众多的逻辑单元连接起来,需要丰富的连线资源,其布线的难度和复杂性较高。Xilinx公司的XC系列FPGA器件由可编程输入/输出模块(简称IOB)、可编程逻辑模块(简称CLB)和可编程连线资源(简称PI)3种可编程逻辑单元组成。CLBI/OB可编程内部连线输入缓冲器OFFONMUX2DMUX1I/O输出三态控制ST输入输出缓冲器OEQI/O 时钟输入通道输出通道 XCXC系列系列FPGAFPGA的内部的内部结构框图结构框图可编程输入可编程输入/ /输出输出模块(模块

14、(I/OBI/OB)MUX1组合逻辑电路ABCD输入输出XYGFK时钟DSRQ存储电路XCXC系列系列FPGAFPGA的的CLBCLB结构结构开关矩阵开关矩阵CLBBCKADXYCLBCLBCLBCLBCLB直接连线垂直通用连线垂直长线水平通用连线水平长线XCXC系列系列FPGAFPGA的的PIPI连接方式连接方式:ISP技术采用EECMOS工艺,其编程数据存储在EEPROM中,通过电信号擦写,无需专用的编程器就可编程,可预先将器件安装在电路板上,预留编程口(插座),用微机通过编程电缆就可以在线对器件编程,使用非常方便。ISP技术采取了在信号引脚上增加三态门和增加编程接口与控制电路两项措施来实

15、现在系统编程。:ICR技术采用SRAM工艺,在线写入,无需专用的写入器。由于SRAM所存信息掉电时无法保存,因此每次通电都必须重新写入编程数据,这类FPGA的编程称为配置。由于SRAM的写入次数没有限制,因此可无穷多次的配置。FPGA有多种在线配置方式可分成被动配置和主动配置两类。:反熔丝开关是由在多晶硅与扩散层之间夹有特殊介质的可编程低阻元件构成的开关。未编程时多晶硅与扩散层呈高阻状态;在多晶硅和扩散层两端加上编程电压时介质击穿,多晶硅与扩散层导通。由于介质一旦被击穿就无法还原,所以这是一种一次性编程方法。:将所设计的电路以开发软件要求的某种形式表达出来,并输入到相应的软件中。主要包括原理图

16、输入方式、硬件描述语言输入方式、高级设计输入方式、波形设计输入方式、层次设计输入方式和底层设计输入方式,最常用的是原理图输入方式和硬件描述语言输入方式两种。:由EDA开发工具根据设计输入文件自动生成用于器件编程、波形仿真及延时分析等所需的数据文件。通常设计实现是由EDA开发工具自动完成的,设计者只能通过设置一些控制参数来控制设计实现过程。设计实现时主要完成优化和合并、映射、布局和布线以及生成编程文件4个任务。:包括功能仿真和时序仿真两部分,这一步通过功能仿真器和时序分析器来完成,利用编译器产生的数据文件自动完成逻辑功能仿真和时序特性仿真。在仿真文件中加载不同的激励,可以观察中间结果以及输出波形

17、。必要时,可以返回设计输入阶段,修改设计输入,最终达到设计要求。:将设计阶段生成的编程文件(熔丝图文件或位流文件)装入到可编程器件中。由于器件编程需要满足一定的条件,如编程电压、编程时序、编程算法等,因此,对于不能进行在系统编程(ISP)的CPLD器件和不能在线配置(ICR)的FPGA器件,需要编程专用设备(编程器)完成器件编程。:在管理器窗口的FileProject菜单中选择Name项打开Project Name对话框,从Project Name对话框中选择适当的驱动器和目录,键入项目名后点击OK。(1)打开原理图编辑器。在管理器窗口的File 菜单中选择New打开New列表框。从New列表

18、框中选择Graphic Editor File和.gdf项,然后点击OK。此时便会出现一个原理图编辑窗口。(2)输入元件和模块。在原理图编辑窗口空白处双击鼠标左键或在Symbol菜单中选择Enter Symbol,打开Enter Symbol对话框。从Enter Symbol对话框中选择适当的库及所需的器件(模块),然后点击OK。这样所选元件(模块)就会出现在编辑窗口。重复这一步,选择需要的所有模块。相同的模块可以采用复制的方法产生。用鼠标左键选中器件并按住左键拖动,可以将模块放到适当的位置。(3)放置输入、输出引脚。输入、输出引脚的处理方法与元件一样。在原理图编辑窗口空白处双击鼠标左键或在S

19、ymbol菜单中选择Enter Symbol便打开了Enter Symbol对话框。在Symbol Name框中键入input、output或bidir,分别代表输入、输出和双向I/O。点击OK。这样输入或输出引脚便会出现在编辑窗口中。重复这一步产生所有的输入和输出引脚,也可以通过复制的方法得到所有引脚。电源和地与输入、输出引脚类似,也作为特殊元件,采用上述方法在Symbol Name中键入VCC(电源)或GND(地),即可使它们出现在编辑窗口中。(4)连线。将电路图中的两个端口相连的方法:将鼠标指向一个端口,鼠标箭头会自动变成十字“+”。一直按住鼠标左键拖至另一端口。放开左键,则会在两个端口

20、间产生一根连线。连线时若需要转弯,则在转折处松一下左键,再按住继续移动。连线的粗细通过点鼠标右键弹出菜单中的Line Style来选择,粗线代表总线。(5)输入/输出引脚和内部连线命名。输入/输出引脚命名:在引脚的PIN-NAME位置双击鼠标左键,然后键入信号名。内部连线的命名方法是:选中连线,然后键入信号名。总线的信号名一般用Xn-1.0表示,其中的单个信号名为Xn-1、Xn-2、X0。(6)保存文件。在File菜单中选择Save As或Save,如是第一次保存,需输入文件名。(7)建立默认的符号文件。在层次化设计中,如果当前编辑的文件不是顶层文件,则往往需要为其产生一个符号,将其打包成一个

21、模块,以便在上层电路设计时加以引用。建立符号文件的方法是,在File菜单中选择Create Default Symbol项即可。(1)打开文本编辑器。在管理器窗口的File 菜单中选择New打开New列表框。选择Text Editor File, 此时便会出现一个文本编辑窗口。点击OK。(2)选择HDL种类。在File菜单中选择Save As或Save,或在工具栏点击按钮,打开Save As对话框,键入文件名并选择文件扩展名,MAX+plus支持3种HDL:VHDL、Verilog HDL和Altera HDL,对应的扩展名依次为vhd、v和tdf。这一步也可以等到HDL源码输入完以后再做,但

22、先确定HDL种类可以在键入HDL源码时自动检查并显示其中的语法错误。(3)输入HDL源码。(4)保存文件。在File菜单中选择Save,保存输入的HDL源码。(5)建立默认的符号文件。与由原理图生成符号文件的方法一样。运行编译器的方法:在MAX+plus菜单中选Compiler选项。启动编译器后首先进行编译与电路网络表提取工作。做完这一工作后编译器便停下来等待用户的指示。如果编译中未发现错误,则可以点击窗口中的Start,接着做设计实现的工作。编译器有很多参数设置,但并不是每一项都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等),而其他的设置往往有默认值。做好必要的设置后,在

23、编译器窗口中按Start就可以连续执行后续的设计步骤,产生的数据文件的扩展名会出现在各个执行框的下方。(1)打开波形图编辑器。在管理器窗口的File菜单中选择New打开New列表框。选择Waveform Editor File和.scf项,按OK。此时便会出现一个波形图编辑窗口。(2)设定时间参数。从File菜单中选择End Time项,键入仿真结束时间,按OK。在Options菜单中选择Grid Time项,键入显示网格间距的时间,按OK。(3)确定需观察的信号。在Node菜单中选择Enter Nodes From SNF(SNF指仿真网络表文件)项,打开Enter Nodes From SNF对话框。在Type框中选择信号类别,最常用的是Input和Output(输入、输出)。点List按钮,将所选类别的所有信号均列于Available Nodes & Groups框中。从

温馨提示

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

评论

0/150

提交评论