第8章可编程逻辑器件PPT讲稿.ppt

上传人:石*** 文档编号:50061693 上传时间:2022-10-12 格式:PPT 页数:103 大小:8.27MB
返回 下载 相关 举报
第8章可编程逻辑器件PPT讲稿.ppt_第1页
第1页 / 共103页
第8章可编程逻辑器件PPT讲稿.ppt_第2页
第2页 / 共103页
点击查看更多>>
资源描述

《第8章可编程逻辑器件PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第8章可编程逻辑器件PPT讲稿.ppt(103页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8章可编程逻辑器件章可编程逻辑器件第1页,共103页,编辑于2022年,星期二8.1可编程逻辑器件概述可编程逻辑器件概述PLD是可编程逻辑器件(是可编程逻辑器件(Programmable Logic Devices)的英文缩写,是)的英文缩写,是EDA得以实现的硬件基础,得以实现的硬件基础,通过编程,可灵活方便地构建和修改数字电子系统。通过编程,可灵活方便地构建和修改数字电子系统。可编程逻辑器件是集成电路技术发展的产物。自可编程逻辑器件是集成电路技术发展的产物。自20世纪世纪60年代以来,集成电路技术迅猛发展,数年代以来,集成电路技术迅猛发展,数字集成电路已经历了从字集成电路已经历了从SS

2、I、MSI、LSI到到VLSI的发展过程,促进了可编程逻辑器件的飞速发展。的发展过程,促进了可编程逻辑器件的飞速发展。第2页,共103页,编辑于2022年,星期二8.1.1 PLD的分类的分类根据其集成度和结构复杂度的不同,大致可分为根据其集成度和结构复杂度的不同,大致可分为3类:类:简单可编程逻辑器件(简单可编程逻辑器件(Simply Programmable Logic Device,SPLD)、)、复杂可编程逻辑器件(复杂可编程逻辑器件(Complex Programmable Device,CPLD)、)、现场可编程门阵列(现场可编程门阵列(Field Programmable Gat

3、e Array,FPGA)。)。第3页,共103页,编辑于2022年,星期二1.简单可编程逻辑器件简单可编程逻辑器件简单可编程逻辑器件简单可编程逻辑器件SPLD属于集成度和结构复杂度属于集成度和结构复杂度都比较小的可编程逻辑器件,共同的特点是都具有都比较小的可编程逻辑器件,共同的特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏可编程的与阵列、不可编程的或阵列、输出逻辑宏单元单元OLMC(Output Logic Macro Cell)和输入输)和输入输出逻辑单元出逻辑单元IOC(In Output Cell)。这类器件适合)。这类器件适合于规模较小的逻辑设计,典型器件有于规模较小的逻辑

4、设计,典型器件有Lattice生产的生产的GAL16V8、GAL22V10等。等。第4页,共103页,编辑于2022年,星期二2.复杂可编程逻辑器件复杂可编程逻辑器件复杂可编程逻辑器件复杂可编程逻辑器件CPLD是阵列型高密度是阵列型高密度PLD器器件,大多采用了乘积项、件,大多采用了乘积项、EEPROM(或或Flash)工艺工艺等技术,其集成度大于等技术,其集成度大于GAL22V10,具有高密度、,具有高密度、高速度和低功耗等特点。此类器件有更大的与阵高速度和低功耗等特点。此类器件有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增

5、多,多用于较大规模的逻辑触发器的数量明显增多,多用于较大规模的逻辑设计。典型器件有设计。典型器件有Xilinx公司的公司的XC9500系列,系列,Altera公司的公司的MAX7000系列,系列,Lattice生产的生产的ispLSI1000、2000、3000系列。系列。第5页,共103页,编辑于2022年,星期二3.现场可编程门阵列现场可编程门阵列现场可编程门阵列现场可编程门阵列FPGA是集成度和结构复杂度最是集成度和结构复杂度最高的可编程逻辑器件,大部分高的可编程逻辑器件,大部分FPGA采用的是基于采用的是基于SRAM的查找表的查找表LUT(Look Up Table)逻辑结构)逻辑结构

6、形式,且其内部采用矩阵式结构分布,并拥有更多形式,且其内部采用矩阵式结构分布,并拥有更多的触发器和布线资源,多用于的触发器和布线资源,多用于10,000门以上的大规门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。典型器件有和各种算法。典型器件有Xilinx公司的公司的XC4000系列、系列、SpartanII和和SpartanIII 等系列,等系列,Altera公司的公司的Flex10K、Flex20K、CycloneII 等系列,等系列,Lattice公公司的司的XFPGA等系列。等系列。第6页,共103页,编辑于2022年,星

7、期二8.1.2 PLD的开发流程的开发流程设计输入设计输入(电路图、电路图、HDL等等)器件下载器件下载 设计实现设计实现 优化优化合并、映射合并、映射图图8-1 PLD的一般开发流程的一般开发流程功能仿真功能仿真时序仿真时序仿真器件测试器件测试第7页,共103页,编辑于2022年,星期二(1)设计输入设计输入设计输入是由设计者对器件所实现的数字系统的逻设计输入是由设计者对器件所实现的数字系统的逻辑功能进行描述。设计输入一般采用一种或几种设辑功能进行描述。设计输入一般采用一种或几种设计输入源文件来描述设计对象,以实现设计要求。计输入源文件来描述设计对象,以实现设计要求。常用的设计输入方法有原理

8、图输入、状态机输入、常用的设计输入方法有原理图输入、状态机输入、HDL(Hardware Description Language)等输入方)等输入方式。其中式。其中HDL是使用最为普遍的一种设计方法,具是使用最为普遍的一种设计方法,具有较好地可读性和可移植性。有较好地可读性和可移植性。在设计过程中,往往采用层次化设计方法,分模块、在设计过程中,往往采用层次化设计方法,分模块、分层次地进行设计描述,即采用自定向下的设计方法。分层次地进行设计描述,即采用自定向下的设计方法。第8页,共103页,编辑于2022年,星期二(2)功能仿真功能仿真功能仿真主要是对所设计的电路及所有输入的电路进功能仿真主要

9、是对所设计的电路及所有输入的电路进行功能验证,以便设计者及时修改设计中存在问题,行功能验证,以便设计者及时修改设计中存在问题,实现设计要求。一般可以利用波形编辑器对所需检验实现设计要求。一般可以利用波形编辑器对所需检验的单个功能模块或系统输入一些数字信号,通过仿真的单个功能模块或系统输入一些数字信号,通过仿真软件得到输出波形,从而可以检验设计的正确性。需软件得到输出波形,从而可以检验设计的正确性。需要指出的是功能仿真一般不包含设计器件的信息,是要指出的是功能仿真一般不包含设计器件的信息,是一种理想的仿真,只能验证设计的逻辑功能,与时序一种理想的仿真,只能验证设计的逻辑功能,与时序无关。无关。第

10、9页,共103页,编辑于2022年,星期二(3)设计实现设计实现设计实现是指从设计输入文件到熔丝图文件或位图设计实现是指从设计输入文件到熔丝图文件或位图文件的编译过程。设计实现阶段需要完成逻辑分割、文件的编译过程。设计实现阶段需要完成逻辑分割、器件布局和布线工作,这些一般是由可编程逻辑器器件布局和布线工作,这些一般是由可编程逻辑器件的开发系统自动完成的,而设计者可以根据设计件的开发系统自动完成的,而设计者可以根据设计需要用一些约束来进行干预,也可以使用编辑功能需要用一些约束来进行干预,也可以使用编辑功能直接修改设计布局、布线结构。直接修改设计布局、布线结构。第10页,共103页,编辑于2022

11、年,星期二(4)时序仿真时序仿真时序仿真是在完成布局、布线之后进行的,这时时序仿真是在完成布局、布线之后进行的,这时仿真工具会根据设计实现结果,给出设计中各个仿真工具会根据设计实现结果,给出设计中各个信号之间的逻辑功能和时序关系,以便设计者对信号之间的逻辑功能和时序关系,以便设计者对设计的可靠性和稳定性进行评价。一般情况下通设计的可靠性和稳定性进行评价。一般情况下通过时序仿真可以发现在功能仿真过程中不能发现过时序仿真可以发现在功能仿真过程中不能发现的问题,例如竞争的问题,例如竞争-冒险等问题。冒险等问题。第11页,共103页,编辑于2022年,星期二(5)器件下载器件下载器件下载是将设计实现所

12、给出的最终设计结果文器件下载是将设计实现所给出的最终设计结果文件,即编程和配置数据文件,写入或加载到设计件,即编程和配置数据文件,写入或加载到设计目标芯片的过程。目前主要下载方式是边界扫描目标芯片的过程。目前主要下载方式是边界扫描方式,即通过专用的下载电缆,将设计结果的数方式,即通过专用的下载电缆,将设计结果的数据文件写入到目标芯片。据文件写入到目标芯片。第12页,共103页,编辑于2022年,星期二(6)器件测试器件测试器件测试阶段主要任务是确定设计的目标芯片是否符器件测试阶段主要任务是确定设计的目标芯片是否符合设计要求,能否满足系统的工作需要。如果发现问合设计要求,能否满足系统的工作需要。

13、如果发现问题,则需要重新回到设计输入修改设计,直到满足系题,则需要重新回到设计输入修改设计,直到满足系统要求。统要求。第13页,共103页,编辑于2022年,星期二8.1.3 PLD的逻辑表示的逻辑表示1.逻辑阵列交叉点的逻辑表示逻辑阵列交叉点的逻辑表示(a)实体连接 (b)可编程连接 (c)编程后熔丝烧断图8-2 阵列交叉点的PLD表示法第14页,共103页,编辑于2022年,星期二实体连接,即行线与列线相互连接在一起,是不可实体连接,即行线与列线相互连接在一起,是不可以编程的,用实点表示。图以编程的,用实点表示。图8-2(b)的行线与列线在交的行线与列线在交叉点处采用叉点处采用或连接,表示

14、该交叉点是个可编程点。或连接,表示该交叉点是个可编程点。若若PLD器件是采用熔丝工艺的,则器件出厂时,可器件是采用熔丝工艺的,则器件出厂时,可编程点处的熔丝都处于接通状态,因此在可编程点编程点处的熔丝都处于接通状态,因此在可编程点上处处都打上处处都打或。图或。图8-2(c)表示可编程点被用户编程表示可编程点被用户编程后,熔丝被烧断的情况。此时熔丝烧断的可编程点后,熔丝被烧断的情况。此时熔丝烧断的可编程点上的上的消失,行线和列线不相接。消失,行线和列线不相接。第15页,共103页,编辑于2022年,星期二2.逻辑阵列的逻辑阵列的PLD表示表示(a)可编程的与阵列可编程的与阵列PLD表示表示(b)

15、可编程的或阵列可编程的或阵列PLD表示表示图图8-3 可编程的与阵列和或阵列可编程的与阵列和或阵列PLD表示表示P1P2P3F(P1,P2,P3)=P1+P2+P3第16页,共103页,编辑于2022年,星期二PLD的逻辑阵列中通常包含与阵列和或阵列。图的逻辑阵列中通常包含与阵列和或阵列。图8-3(a)是一个可编程与阵列的一般表示形式。与阵列的是一个可编程与阵列的一般表示形式。与阵列的所有输入变量都称为输入项,并画成与行线垂直的所有输入变量都称为输入项,并画成与行线垂直的列线以表示与阵列的输入,与阵列的输出称为乘积列线以表示与阵列的输入,与阵列的输出称为乘积项。图项。图8-3(b)是一个可编程

16、或阵列的一般表示形式,是一个可编程或阵列的一般表示形式,同与阵列表示方法相似。或阵列的输入常常是与阵同与阵列表示方法相似。或阵列的输入常常是与阵列的乘积项输出,或阵列的输出是编程后保留熔丝列的乘积项输出,或阵列的输出是编程后保留熔丝各支路输入乘积项的逻辑或。各支路输入乘积项的逻辑或。第17页,共103页,编辑于2022年,星期二3.缓冲器的缓冲器的PLD表示表示图图8-4 缓冲器的缓冲器的PLD表示表示输入缓冲器和反馈缓冲器的输入缓冲器和反馈缓冲器的PLD表示如图表示如图8-4所所示。输入缓示。输入缓冲器和反馈缓冲器具有相同的电路构成,都采用了互补输冲器和反馈缓冲器具有相同的电路构成,都采用了

17、互补输出结构。它们是单输入、双输出的缓冲器单元,一个是同出结构。它们是单输入、双输出的缓冲器单元,一个是同极性输出,另一个是反极性输出。极性输出,另一个是反极性输出。第18页,共103页,编辑于2022年,星期二8.2 通用阵列逻辑通用阵列逻辑GAL8.2.1 GAL的结构及其工作原理的结构及其工作原理1.GAL的基本阵列结构的基本阵列结构通用阵列逻辑(通用阵列逻辑(General Array Logic,GAL)是)是Lattice公司于公司于1985年首先推出的可年首先推出的可编程逻辑器件。它采用了电擦除、电可编程编程逻辑器件。它采用了电擦除、电可编程的的E2CMOS工艺制作,保证了工艺制

18、作,保证了GAL的高速的高速度和低功耗,存取速度为度和低功耗,存取速度为1240 ns,可以用,可以用电信号擦除并反复编程上百次。电信号擦除并反复编程上百次。第19页,共103页,编辑于2022年,星期二GAL器件是由可编程的与阵列、不可编程的或阵器件是由可编程的与阵列、不可编程的或阵列、可编程的输出逻辑宏单元列、可编程的输出逻辑宏单元(OLMC)3部分主要电部分主要电路构成。路构成。GAL器件可以实现老一代器件所有的各器件可以实现老一代器件所有的各种输出电路工作模式,因此称为通用可编程逻辑种输出电路工作模式,因此称为通用可编程逻辑器件。器件。常用的常用的GAL器件有多种型号,这些器件的基本器

19、件有多种型号,这些器件的基本结构是相同的,只是内部可编程逻辑资源的多少结构是相同的,只是内部可编程逻辑资源的多少不同而已,下面以不同而已,下面以GAL16V8为例对其结构加以为例对其结构加以介绍。介绍。第20页,共103页,编辑于2022年,星期二图8-5 GAL16V8内部结构图第21页,共103页,编辑于2022年,星期二(1)GAL16V8的电路结构的电路结构 GAL16V8是一个是一个20引脚的双引脚的双列直插式(列直插式(Double In-line Package,DIP)大规模集成)大规模集成电路,它属于简单的可编程电路,它属于简单的可编程逻辑器件。其内部结构如图逻辑器件。其内部

20、结构如图8-5所示,引脚排列图如图所示,引脚排列图如图8-6所示。所示。图8-6 GAL16V8引脚图第22页,共103页,编辑于2022年,星期二GAL16V8的结构特点的结构特点 包含包含 8个输入缓冲器,个输入缓冲器,8个反馈缓冲器,个反馈缓冲器,8个输出个输出三态缓冲器。三态缓冲器。包含包含8个输出逻辑宏单元个输出逻辑宏单元(OLMC12OLMC19)。由由88 个与门构成的与阵列,共形成个与门构成的与阵列,共形成64 个乘积项,个乘积项,与阵列共分与阵列共分8个阵列块。每个阵列块有个阵列块。每个阵列块有8条行线,每条条行线,每条行线各接一个与门。与门的输出称为乘积项行线各接一个与门。

21、与门的输出称为乘积项(与项与项)。每一个阵列块中最上面一个与门的输出称为第一与项。每一个阵列块中最上面一个与门的输出称为第一与项。每个与门有每个与门有32个输入项,由个输入项,由8个输入的原变量、反变个输入的原变量、反变量和量和8个反馈信号的原变量、反变量组成,故可编程个反馈信号的原变量、反变量组成,故可编程与阵列共有与阵列共有3288=2048 个可编程单元。个可编程单元。第23页,共103页,编辑于2022年,星期二GAL16V8的结构特点的结构特点1号引脚号引脚(I/CLK)经一级缓冲器引至经一级缓冲器引至OLMC的的CLK端。端。8个个OLMC的内部电路结构完全相同,外部引线稍有不的内

22、部电路结构完全相同,外部引线稍有不同,同,2,3,4,5,6,7,8,9各引脚是专用输入引脚,各引脚是专用输入引脚,1,11,12,13,14,17,18,19各引脚可通过编程组态各引脚可通过编程组态为输入引脚。也就是说共有为输入引脚。也就是说共有16个引脚可设置为输入。而个引脚可设置为输入。而12,13,14,15,16,17,18,19共有共有8个引脚可做输出个引脚可做输出引脚。这也是引脚。这也是GAL16V8命名的由来。命名的由来。第24页,共103页,编辑于2022年,星期二GAL16V8的结构特点的结构特点GAL16V8具有具有82位的控制字,可以通过编程位的控制字,可以通过编程控制

23、控制OLMC的各种模式及输出组态,满足用户对的各种模式及输出组态,满足用户对各种输出电路形式的需要。这各种输出电路形式的需要。这82位控制字分别是:位控制字分别是:SYN:1位的同步控制字;位的同步控制字;AC0:1位的结构控制字;位的结构控制字;AC1(n):):8位的结构控制字;位的结构控制字;XOR(n):):8位的极性控制字;位的极性控制字;PTD:64位的乘积项禁止控制字。位的乘积项禁止控制字。第25页,共103页,编辑于2022年,星期二(2)OLMC的内部电路构成的内部电路构成OLMC内部含有内部含有1个或门、个或门、1个异或门、个异或门、1个个D触发器、触发器、2个控制门、个控

24、制门、4个多路开关。个多路开关。4个多路开关个多路开关(MUX)在结构在结构控制字段作用下设定输出逻辑宏单元的组态。控制字段作用下设定输出逻辑宏单元的组态。第26页,共103页,编辑于2022年,星期二OLMC的内部电路构成的内部电路构成图8-7 OLMC内部结构 第27页,共103页,编辑于2022年,星期二OLMC的内部电路构成的内部电路构成OLMC的或门有的或门有8个输入端,和来自与阵列的个输入端,和来自与阵列的8个乘积个乘积项相对应,其中项相对应,其中7个直接相连,第一乘积项经个直接相连,第一乘积项经PTMUX相连或门,输出为有关乘积项之和。相连或门,输出为有关乘积项之和。异或门的作用

25、是选择输出信号的极性。当异或门的作用是选择输出信号的极性。当XOR(n)为为1时,异或门起反相器作用,否则起同时,异或门起反相器作用,否则起同相器作用。相器作用。XOR(n)是控制字中的一位,是控制字中的一位,n为引脚为引脚号。号。D触发器触发器(寄存器寄存器)对异或门的输出状态起记忆对异或门的输出状态起记忆(存储存储)作用,使作用,使GAL适用于时序逻辑电路。适用于时序逻辑电路。第28页,共103页,编辑于2022年,星期二OLMC的内部电路构成的内部电路构成PTMUX是乘积项多路开关,在是乘积项多路开关,在(AC1(n)AC0)控控制下选择第一乘积项或地送至或门输入端;制下选择第一乘积项或

26、地送至或门输入端;OMUX是输出多路开关,在是输出多路开关,在(AC1(n)+(AC0)控制下选择控制下选择组合型组合型(异或门输出异或门输出)或寄存型或寄存型(经经D触发器存储后触发器存储后输出输出)逻辑运算结果送到输出缓冲器;逻辑运算结果送到输出缓冲器;TSMUX是是三态多路开关,在三态多路开关,在AC1(n)和和AC0控制下从控制下从VCC、地、地、OE或第一乘积项中选择一个作为输出缓冲器的使或第一乘积项中选择一个作为输出缓冲器的使能信号;能信号;FMUX是反馈多路开关,在是反馈多路开关,在AC1(n)、AC0控制下选择控制下选择D触发器的触发器的Q、本级、本级OLMC输出、邻级输出、邻

27、级OLMC的输出或地电平作为反馈源,送回与阵列作为的输出或地电平作为反馈源,送回与阵列作为输入信号。输入信号。第29页,共103页,编辑于2022年,星期二OLMC的内部电路构成的内部电路构成由此可见,这些多路开关是由由此可见,这些多路开关是由AC0、AC1等结构控等结构控制字来控制的,而这些结构控制字的取值是由制字来控制的,而这些结构控制字的取值是由GAL器器件的设计开发软件自动配置的,件的设计开发软件自动配置的,GAL器件被编程后,器件被编程后,就会根据设计结果确定这些多路开关的数据选择端的就会根据设计结果确定这些多路开关的数据选择端的状态。状态。第30页,共103页,编辑于2022年,星

28、期二2.GAL的工作模式和逻辑组态的工作模式和逻辑组态GAL器件由于采用了器件由于采用了OLMC,所以使用更加灵活,所以使用更加灵活,只要写入不同的结构控制字,就可以得到不同类型只要写入不同的结构控制字,就可以得到不同类型的输出电路结构。通过编程软件所设置的的输出电路结构。通过编程软件所设置的4个结构控个结构控制字制字SYN、AC0、AC1(n)、)、XOR(n),可使),可使OLMC定义成多种工作模式和逻辑组态。定义成多种工作模式和逻辑组态。第31页,共103页,编辑于2022年,星期二2.GAL的工作模式和逻辑组态的工作模式和逻辑组态GAL16V8系列器件的系列器件的OLMC一共有一共有3

29、种工作模式,种工作模式,分为分为7种组态。三种工作模式是寄存器模式、复杂种组态。三种工作模式是寄存器模式、复杂模式、简单模式。寄存器模式根据不同需求可以模式、简单模式。寄存器模式根据不同需求可以配置为寄存器输出组态和组合输出组态;复杂模配置为寄存器输出组态和组合输出组态;复杂模式可以配置为有反馈组合输出和无反馈组合输出;式可以配置为有反馈组合输出和无反馈组合输出;简单模式可以配置为无反馈组合输出组态、本级简单模式可以配置为无反馈组合输出组态、本级组合输出邻级输入组态以及相邻输入组态。组合输出邻级输入组态以及相邻输入组态。第32页,共103页,编辑于2022年,星期二表表8-1 OLMC的工作模

30、式和逻辑组态的工作模式和逻辑组态OLMC的工作模式逻辑组态寄存器模式寄存器输出组态组合输出组态复杂模式有反馈组合输出无反馈组合输出简单模式无反馈组合输出组态本级组合输出邻级输入组态相邻输入组态第33页,共103页,编辑于2022年,星期二表表8-2 OLMC逻辑组态和有关控制位的关系逻辑组态和有关控制位的关系SYNAC0AC1(n)XOR(n)输出方式输出极性备注0100寄存输出低电平有效1脚接CLK,11脚接OE。1高电平有效0110组合和寄存器混合输出低电平有效1脚接CLK,11脚接 OE,至少另有一个OLMC为寄存器输出模式。1高电平有效1110复杂模式有、无反馈组合输出低电平有效1和1

31、1脚为数据输入,三态门选通信号是第一乘积项,反馈信号取自I/O端。1高电平有效1000简单模式专用组合输出低电平有效1和11脚为数据输入,三态门被选通。1高电平有效101简单模式专用输入方式输出三态门不通1和11脚为数据输入,三态门禁止第34页,共103页,编辑于2022年,星期二8.2.2 GAL的编程的编程厂家出厂的厂家出厂的GAL芯片不具任何逻辑功能,必须借芯片不具任何逻辑功能,必须借助助GAL的开发软件和硬件设备对其进行编程写入,的开发软件和硬件设备对其进行编程写入,才能使空白的才能使空白的GAL芯片具有预期的逻辑功能。对芯片具有预期的逻辑功能。对GAL器件进行编程时,硬件环境需要有一

32、台计算器件进行编程时,硬件环境需要有一台计算机,另外还要配置机,另外还要配置GAL编程写入器,通常称为编编程写入器,通常称为编程器。程器。第35页,共103页,编辑于2022年,星期二利用利用GAL器件进行逻辑设计时,一般要经过以下几步:器件进行逻辑设计时,一般要经过以下几步:按逻辑要求选择器件类型,主要考虑输入输出管脚数量。按逻辑要求选择器件类型,主要考虑输入输出管脚数量。选择一种合适的编程软件编制相应的源文件。选择一种合适的编程软件编制相应的源文件。经过相应的编译程序生成经过相应的编译程序生成.JED文件(熔丝图文件)。文件(熔丝图文件)。利用相应的编程方式对利用相应的编程方式对GAL进行

33、编程,并且可以进进行编程,并且可以进行检验及对行检验及对GAL进行加密。进行加密。第36页,共103页,编辑于2022年,星期二目前比较流行的目前比较流行的GAL的设计工具有的设计工具有DATA I/O 公司公司开发的开发的ABEL4.0系统和系统和Lattice公司开发的公司开发的ispDesign EXPERT 系统。系统。设计输入通常采用设计输入通常采用ABEL-HDL 和和VHDL这两种语言进行描述。这两种语言进行描述。第37页,共103页,编辑于2022年,星期二GAL器件的编程方式器件的编程方式GAL器件的编程主要有两种方式。一种是使用第三器件的编程主要有两种方式。一种是使用第三方

34、提供的通用编程器及相应的编程工具软件对器件方提供的通用编程器及相应的编程工具软件对器件进行编程。通过此种方法在完成对器件的编程操作进行编程。通过此种方法在完成对器件的编程操作的同时,还可以完成对器件的擦除、读回、加密等的同时,还可以完成对器件的擦除、读回、加密等辅助操作。辅助操作。GAL器件被加密后,如果对其进行读出器件被加密后,如果对其进行读出操作,器件将进行自我保护。操作,器件将进行自我保护。第38页,共103页,编辑于2022年,星期二GAL器件的编程方式器件的编程方式另一种编程方式是在系统编程(另一种编程方式是在系统编程(In System Programmable,ISP)。所谓在系

35、统编程就是可以)。所谓在系统编程就是可以将器件先焊接到目标系统中,只要提供四条专用的将器件先焊接到目标系统中,只要提供四条专用的编程引脚(编程引脚(MODE、SCLK、DIN、DOUT)就可以)就可以对器件进行编程了,这种编程方式不再需要编程器,对器件进行编程了,这种编程方式不再需要编程器,仅需要一条下载电缆就可以对器件进行编程,而且仅需要一条下载电缆就可以对器件进行编程,而且同样具有擦除、读回、加密等辅助功能。但是这种同样具有擦除、读回、加密等辅助功能。但是这种编程方式仅支持具有在系统编程功能的编程方式仅支持具有在系统编程功能的GAL器件,器件,例如例如ispGAL20V8,ispGAL22

36、V10等器件。等器件。第39页,共103页,编辑于2022年,星期二8.3 复杂可编程逻辑器件复杂可编程逻辑器件CPLD在可编程逻辑器件的分类中,在可编程逻辑器件的分类中,GAL器件通常被称为器件通常被称为简单可编程器件简单可编程器件SPLD,复杂可编程逻辑器件可以简,复杂可编程逻辑器件可以简单理解为规模更大、集成度更高的可编程逻辑器件。单理解为规模更大、集成度更高的可编程逻辑器件。但是但是CPLD并不是简单地把多个并不是简单地把多个GAL器件集成到一器件集成到一个芯片当中,而是根据芯片设计的实际应用需要和个芯片当中,而是根据芯片设计的实际应用需要和器件制造工艺的要求,不但增加了宏单元的数量和

37、器件制造工艺的要求,不但增加了宏单元的数量和输入乘积项的位数,还增加了可编程内部连线资源。输入乘积项的位数,还增加了可编程内部连线资源。第40页,共103页,编辑于2022年,星期二8.3.1 Altera MAX7000系列系列CPLD简介简介Altera公司的公司的CPLD器件系列主要有器件系列主要有FLASHlogic系列、系列、Classic系列和系列和MAX、MAX系列等。系列等。MAX系列包括系列包括MAX3000/5000/7000/9000等品种,等品种,集成度在几百门至数万门之间,采用集成度在几百门至数万门之间,采用EPROM和和EEPROM工艺。工艺。MAX7000系列具有

38、相似的结构,系列具有相似的结构,但是外部输入输出引脚和内部逻辑宏单元数目不但是外部输入输出引脚和内部逻辑宏单元数目不同。这样丰富的器件型号可使用户更容易选择到同。这样丰富的器件型号可使用户更容易选择到最合适的器件。最合适的器件。第41页,共103页,编辑于2022年,星期二表表8-3 常用常用MAX7000系列器件特性系列器件特性 特性EPM7032EPM7064EPM7096EPM7128EPM7160EPM7192EPM7256可用门600125018002500320037505000宏单元326496128160192256逻辑矩阵块2468101216I/O引脚36687610010

39、4124164延时tpd/ns657.5667.57.5工作频率/MHz151.5178.6125151.5151.5125125第42页,共103页,编辑于2022年,星期二MAX7000系列器件的技术特点:系列器件的技术特点:(1)高密度、高速度。高密度、高速度。MAX7000系列器件的系统工作系列器件的系统工作速度达速度达180MHz,可用逻辑门最大为,可用逻辑门最大为5000门,宏单元门,宏单元可达可达256个。个。(2)在系统编程。在系统编程。MAX7000系列器件具有在系统可编系列器件具有在系统可编程能力。程能力。(3)边界扫描测试功能。边界扫描测试功能。MAX7000系列器件支持

40、系列器件支持IEEE.1149.1边界扫描测试标准。边界扫描测试标准。第43页,共103页,编辑于2022年,星期二表表8-4 MAX7000系列部分器件的封装形式和系列部分器件的封装形式和I/O数目数目封装形式EPM7032EPM7032SEPM7064SEPM7096EPM7128SEPM7160S 44引脚TQFP36363644引脚PLCC36363668引脚PLCC5284引脚PLCC68646864100引脚TQFP688484100引脚PQFP7684160引脚PQFP100104第44页,共103页,编辑于2022年,星期二MAX7000系列器件的内部结构系列器件的内部结构 图

41、8-8第45页,共103页,编辑于2022年,星期二在在MAX7000中主要的结构是逻辑阵列块(中主要的结构是逻辑阵列块(LAB)和可编程)和可编程连线阵列(连线阵列(PIA)。一个)。一个LAB包含包含16个宏单元,并且看起来个宏单元,并且看起来很像一个很像一个SPLD器件。每个宏单元由一个可编程的与器件。每个宏单元由一个可编程的与/或电或电路和一个可编程的寄存器(触发器)组成。路和一个可编程的寄存器(触发器)组成。第46页,共103页,编辑于2022年,星期二8.3.2 EPM7128SEMP7128S有有128个宏单元被安排在个宏单元被安排在8个个LAB中。逻辑信号中。逻辑信号经由经由P

42、IA在在LAB之间传输。之间传输。PIA是一个能连接任何信号源是一个能连接任何信号源和在设备中的任何目标全局总线。所有的到和在设备中的任何目标全局总线。所有的到MAX7000设设备的输入和所有的宏单元输出提供给备的输入和所有的宏单元输出提供给PIA。多达。多达36个信号个信号能从能从PIA提供给每个提供给每个LAB。第47页,共103页,编辑于2022年,星期二MAX7000系列的系列的I/O引脚被连接到特定的宏单元。给用户提供的可利用的引脚被连接到特定的宏单元。给用户提供的可利用的I/O引脚量依赖于器件封装形式。对于一个具有引脚量依赖于器件封装形式。对于一个具有160引脚的引脚的PQFP封装

43、的封装的EPM7128S器件,每个器件,每个LAB有有12个个I/O引脚及引脚及4个专用输入引脚,个专用输入引脚,I/O引脚的总引脚的总数为数为100个。对于个。对于84引脚的引脚的PLCC封装的封装的EPM7128S器件来说,它有器件来说,它有64个个I/O引脚和引脚和4个专用输入引脚,总数为个专用输入引脚,总数为68个个I/O引脚。引脚。EPM7128S是一个系统可编是一个系统可编程器件程器件(ISP)装置。由于要利用装置。由于要利用JTAG(Joint Test Action Group)接口对接口对EPM7128S进行编程,因此有进行编程,因此有4个在线编程端口不能作为用户个在线编程端

44、口不能作为用户I/O端口使用。端口使用。第48页,共103页,编辑于2022年,星期二图8-9 JTAG接口电路图 第49页,共103页,编辑于2022年,星期二对于对于EPM7128SLC84芯片来说,芯片来说,JTAG信号含有信号含有TDI(测(测试数据输入)、试数据输入)、RDO(测试数据输出)、(测试数据输出)、TMS(测试方(测试方式选择)及式选择)及TCK(测试时钟)管脚。因此提供给用户的(测试时钟)管脚。因此提供给用户的I/O端口总数降到端口总数降到64个端口。但如果是使用个端口。但如果是使用PLD编程器编编程器编程,则程,则68个引脚都可以为用户使用。个引脚都可以为用户使用。第

45、50页,共103页,编辑于2022年,星期二 1宏单元宏单元宏单元是宏单元是MAX7000系列器件的具体逻辑单元,用来实现各种具体系列器件的具体逻辑单元,用来实现各种具体的逻辑功能。宏单元的逻辑功能。宏单元 是由逻辑阵列、乘积项选择矩阵和可编程触是由逻辑阵列、乘积项选择矩阵和可编程触发器构成,其结构如图发器构成,其结构如图8-10所示。所示。第51页,共103页,编辑于2022年,星期二宏单元结构图宏单元结构图图8-10第52页,共103页,编辑于2022年,星期二逻辑阵列用来实现组合逻辑函数,每个宏单元提供逻辑阵列用来实现组合逻辑函数,每个宏单元提供5个乘积项。个乘积项。通过乘积项选择矩阵实

46、现这通过乘积项选择矩阵实现这5个乘积项的逻辑函数,或者使这个乘积项的逻辑函数,或者使这5个乘积项作为宏单元中触发器的辅助输入。每个宏单元的一个个乘积项作为宏单元中触发器的辅助输入。每个宏单元的一个乘积项还可以反馈到逻辑阵列。宏单元中的可编程触发器可以乘积项还可以反馈到逻辑阵列。宏单元中的可编程触发器可以被单独编程为被单独编程为D、T、JK或或SR触发器,可编程触发器还可以被触发器,可编程触发器还可以被旁路掉,用以实现纯组合逻辑工作方式。旁路掉,用以实现纯组合逻辑工作方式。第53页,共103页,编辑于2022年,星期二可编程触发器的控制方式可编程触发器的控制方式全局时钟全局时钟(Global C

47、lock)。这种方式能够实现最快的时钟。这种方式能够实现最快的时钟控制。控制。带高电平使能的全局时钟。这种方式能够实现具有使能控制带高电平使能的全局时钟。这种方式能够实现具有使能控制的触发器,并能够实现最快的时钟控制。的触发器,并能够实现最快的时钟控制。来自乘积项的时钟。这种方式下,触发器由来自隐含宏单元或来自乘积项的时钟。这种方式下,触发器由来自隐含宏单元或I/O引脚的信号进行时钟控制,一般具有较慢的时钟控制。引脚的信号进行时钟控制,一般具有较慢的时钟控制。第54页,共103页,编辑于2022年,星期二2扩展乘积项扩展乘积项 尽管大多数逻辑函数能够用每个宏单元中的尽管大多数逻辑函数能够用每个

48、宏单元中的5个乘积项实现,但个乘积项实现,但某些逻辑函数更为复杂,需要附加乘积项。为提供所需的逻辑资某些逻辑函数更为复杂,需要附加乘积项。为提供所需的逻辑资源,可以利用另一个宏单元内部的逻辑单元的逻辑资源,结构上源,可以利用另一个宏单元内部的逻辑单元的逻辑资源,结构上也允许利用共享和并联扩展乘积项也允许利用共享和并联扩展乘积项(扩展项扩展项)作为附加的乘积项,作为附加的乘积项,直接送到同一逻辑阵列块的任意宏单元中。利用扩展项可保证在直接送到同一逻辑阵列块的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的资源,实现尽可能快的工作速度。实现逻辑综合时,用尽可能少的资源,实现尽可能快的工

49、作速度。第55页,共103页,编辑于2022年,星期二(1)共享扩展项共享扩展项每个逻辑阵列块每个逻辑阵列块(LAB)有多达有多达16个共享扩展项。共享扩展项就是由个共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列块,便于集中使用。每个共享扩展乘积项可被逻辑阵到逻辑阵列块,便于集中使用。每个共享扩展乘积项可被逻辑阵列块列块LAB内任何一个宏单元或全部宏单元使用和共享,以实现更内任何一个宏单元或全部宏单元使用和共享,以实现更为复杂的逻辑函数。采用共享扩展项后会增加一个短的延时。为复杂的逻辑函数。

50、采用共享扩展项后会增加一个短的延时。第56页,共103页,编辑于2022年,星期二(1)共享扩展项共享扩展项 图8-11共享扩展项第57页,共103页,编辑于2022年,星期二(2)并联扩展项并联扩展项 并联扩展项是宏单元中没有使用的乘积项,并且这些乘积项可并联扩展项是宏单元中没有使用的乘积项,并且这些乘积项可分配到邻近的宏单元,去实现快速复杂的逻辑函数。并联扩展分配到邻近的宏单元,去实现快速复杂的逻辑函数。并联扩展项允许多达项允许多达20个乘积项直接馈送到宏单元的个乘积项直接馈送到宏单元的“或或”逻辑,其中逻辑,其中5个乘积项由宏单元本身提供,个乘积项由宏单元本身提供,15个并联扩展项由逻辑

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁