29
PIC-CPLD PIC-CPLD 原原原原 原原 原原原原 原原

PIC-CPLD 原理和系统设计

  • Upload
    gordy

  • View
    186

  • Download
    0

Embed Size (px)

DESCRIPTION

PIC-CPLD 原理和系统设计. 第一篇 基础篇. PIC 与 CPLD 概述 新系列单片机 PIC16F8XX PIC 单片机指令系统 PIC 软件开发设计基础 CPLD 基础 VHDL 程序设计. 第 1 章 PIC 与 CPLD 概述. 1.1 单片计算机应用系统 1.2 PIC 单片机种类及性能 1.3 大规模可编程逻辑器件 FPGA 与 CPLD. - PowerPoint PPT Presentation

Citation preview

PIC-CPLDPIC-CPLD 原理和系统设原理和系统设计计

第一篇 基础篇第一篇 基础篇 PICPIC 与与 CPLDCPLD 概述概述 新系列单片机新系列单片机 PIC16F8XXPIC16F8XX PICPIC 单片机指令系统单片机指令系统 PICPIC 软件开发设计基础软件开发设计基础 CPLDCPLD 基础基础 VHDLVHDL 程序设计程序设计

第第 11 章 章 PICPIC 与与 CPLDCPLD 概述概述

1.1 1.1 单片计算机应用系统单片计算机应用系统

1.2 PIC1.2 PIC 单片机种类及性能单片机种类及性能

1.3 1.3 大规模可编程逻辑器件大规模可编程逻辑器件 FPGAFPGA 与与 CPLDCPLD

一个比较完整的单片机控制系统,一般包括控一个比较完整的单片机控制系统,一般包括控

制核心部分和外围电路部分,目前控制部分广泛采制核心部分和外围电路部分,目前控制部分广泛采用用 PICPIC 单片机进行设计,外围电路采用大规模可编单片机进行设计,外围电路采用大规模可编程器件技术进行设计,因此程器件技术进行设计,因此 PICPIC 与可编程器件技术与可编程器件技术是设计一个实用系统的必须掌握的基础知识。是设计一个实用系统的必须掌握的基础知识。

本章将简要介绍本章将简要介绍 PICPIC 及可编程技术的基础,从及可编程技术的基础,从单片机计算机系统的发展及优势、单片机计算机系统的发展及优势、 PICPIC 单片机的种单片机的种类及特点、可编程器件(包括类及特点、可编程器件(包括 CPLDCPLD 与与 FPGAFPGA )技)技术基础等方面进行阐述。 术基础等方面进行阐述。

1.1 1.1 单片计算机应用系统单片计算机应用系统1.1.1 PIC1.1.1 PIC 单片机发展历史单片机发展历史 单片机诞生于单片机诞生于 2020 世纪世纪 7070 年代末,经历了年代末,经历了 SCMSCM 、、 MCUMCU 、、 SoCSoC

三大阶段。三大阶段。11 .. SCMSCM 阶段阶段 SCMSCM (( Single Chip MicrocomputerSingle Chip Microcomputer )即单片微型计算机阶段,主要寻求)即单片微型计算机阶段,主要寻求

最佳的单片形态并构建嵌入式系统的最佳体系结构。 最佳的单片形态并构建嵌入式系统的最佳体系结构。 22 .. MCUMCU 阶段阶段 MCUMCU (( Micro Controller UnitMicro Controller Unit )即微控制器阶段,主要的技术发展方向是:)即微控制器阶段,主要的技术发展方向是:

在满足嵌入式应用和扩展需求时,对象系统要求的各种外围电路与接口电路在满足嵌入式应用和扩展需求时,对象系统要求的各种外围电路与接口电路突显其对象的智能化控制能力。 突显其对象的智能化控制能力。

33 .. SoCSoC 阶段阶段 SoCSoC (( System On a ChipSystem On a Chip )即单片电子系统,单片机是嵌入式系统的独)即单片电子系统,单片机是嵌入式系统的独

立发展之路,向立发展之路,向 MCUMCU 阶段发展的重要因素,就是寻求应用系统在芯片上的最阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决。因此,专用单片机的发展自然形成了大化解决。因此,专用单片机的发展自然形成了 SoCSoC 化趋势。 化趋势。

如果将如果将 88 位单片机的推出作为起点,那位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个么单片机的发展历史大致可分为以下几个阶段:阶段:

11 )第一阶段()第一阶段( 1976-19781976-1978 ),单片机的探索阶段。以),单片机的探索阶段。以 IntelIntel 公司的公司的 MCMCS-48S-48 为代表。为代表。

22 )第二阶段()第二阶段( 1978-19821978-1982 ),单片机的完善阶段。),单片机的完善阶段。 IntelIntel 公司在公司在 MCS–MCS–

48 48 基础上推出了完善的、典型的单片机系列基础上推出了完善的、典型的单片机系列 MCS-51MCS-51 。。

33 )第三阶段()第三阶段( 1982-19901982-1990 ),), 88 位单片机的巩固发展及位单片机的巩固发展及 1616 位单片机位单片机的推出阶段,也是单片机向微控制器发展的阶段。的推出阶段,也是单片机向微控制器发展的阶段。 IntelIntel 公司推出的公司推出的MCS-96MCS-96 系列单片机,将一些用于测控系统的模数转换器、程序运行系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入芯片之中,体现了单片机的微控制器特征。监视器、脉宽调制器等纳入芯片之中,体现了单片机的微控制器特征。

44 )第四阶段()第四阶段( 1990-1990- ),微控制器的全面发展阶段。随着单片机在各),微控制器的全面发展阶段。随着单片机在各

个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的力的 88 位位 /16/16 位位 /32/32 位通用型单片机,以及小型廉价的专用型单片机。位通用型单片机,以及小型廉价的专用型单片机。PICPIC 系列单片机应运而生,众多厂商参与了开发研究。 系列单片机应运而生,众多厂商参与了开发研究。

当今单片机总体可以分为集中指令集(当今单片机总体可以分为集中指令集( CISCCISC )结构和精简指令集()结构和精简指令集( RRISCISC )结构。)结构。

采用采用 CISCCISC 结构的单片机数据线和指令线分时复用,即所谓冯结构的单片机数据线和指令线分时复用,即所谓冯 .. 诺伊曼结诺伊曼结

构。其指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,构。其指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。价格亦高。

采用采用 RISCRISC 结构的单片机数据线和指令线分离,即所谓哈佛结构。这使结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,且由于一般指令线宽于数据线,使其指令得取指令和取数据可同时进行,且由于一般指令线宽于数据线,使其指令较同类较同类 CISCCISC 单片机指令包含更多的处理信息,执行效率更高,速度亦更单片机指令包含更多的处理信息,执行效率更高,速度亦更快。快。

CISCCISC 结构的单片机有结构的单片机有 Intel8051Intel8051 系列、系列、 MotorolaMotorola 的的 M68HCM68HC 系列、系列、 AAtmeltmel 的的 AT89AT89 系列、台湾华邦的系列、台湾华邦的 W78W78 系列、荷兰系列、荷兰 PilipsPilips 的的 PCF80C51PCF80C51 系系列等;列等; RISCRISC 结构的单片机有结构的单片机有 MicrochipMicrochip 公司的公司的 PICPIC 系列、系列、 ZilogZilog 的的 Z86Z86系列、系列、 AtmelAtmel 的的 AT90SAT90S 系列、韩国三星的系列、韩国三星的 KS57CKS57C 系列系列 44 位单片机、台湾位单片机、台湾义隆的义隆的 EM-78EM-78 系列等。一般而言,控制关系较简单的小家电,可以采用系列等。一般而言,控制关系较简单的小家电,可以采用 RRISCISC 型单片机;控制关系较复杂的场合,如通讯产品、工业控制系统应则型单片机;控制关系较复杂的场合,如通讯产品、工业控制系统应则采用采用 CISCCISC 单片机。 单片机。

PICPIC 系列的微控制器在市场上极具强劲的竞争系列的微控制器在市场上极具强劲的竞争力,在全球,力,在全球, PICPIC 微控制器在从办公自动化设备、微控制器在从办公自动化设备、消费电子产品、电讯通信、智能仪器仪表到汽车消费电子产品、电讯通信、智能仪器仪表到汽车电子、金融电子、工业控制等不同领域都有着广电子、金融电子、工业控制等不同领域都有着广泛应用。泛应用。 PICPIC 系列微控制器在世界微控制器市场系列微控制器在世界微控制器市场份额排名中逐年提前,以至成为一种新的份额排名中逐年提前,以至成为一种新的 88 位微位微控制器的世界标准和最有影响力的主流嵌入式控控制器的世界标准和最有影响力的主流嵌入式控制器。制器。

1.1.2 PIC1.1.2 PIC 单片机优势单片机优势 PICPIC 单片机其相对于其他类型的单片机具有如下单片机其相对于其他类型的单片机具有如下 77

大特点:大特点: PICPIC 最大的特点是系列产品型号众多,涵盖各种层次的开发需要。用户可根据自身系统最大的特点是系列产品型号众多,涵盖各种层次的开发需要。用户可根据自身系统

设计要求选用设计要求选用 PICPIC 系列产品。系列产品。 PICPIC产品从设计伊始就一直遵循从实际出发的原则,不产品从设计伊始就一直遵循从实际出发的原则,不搞单纯的功能堆积,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用搞单纯的功能堆积,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。 要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。

精简指令使其执行效率大为提高。精简指令使其执行效率大为提高。 PICPIC 系列系列 88 位位 CMOSCMOS 单片机具有独特的单片机具有独特的 RISCRISC 结构结构(数据总线和指令总线分离的哈佛总线结构),使指令具有单字长的特性,且允许指令(数据总线和指令总线分离的哈佛总线结构),使指令具有单字长的特性,且允许指令码的位数可多于码的位数可多于 88 位的数据位数,与传统位的数据位数,与传统 CISCCISC 结构的结构的 88 位单片机相比,可以达到位单片机相比,可以达到 2:12:1的代码压缩,速度提高的代码压缩,速度提高 44倍。 倍。

产品上市零等待。采用产品上市零等待。采用 PICPIC 的低价的低价 OTPOTP (一次性编程)型芯片,单片机在其应用程序(一次性编程)型芯片,单片机在其应用程序开发完成后产品就能上市。开发完成后产品就能上市。

PICPIC具备良好的开发环境。具备良好的开发环境。 OTPOTP 单片机开发系统的实时性是一个重要的指标,单片机开发系统的实时性是一个重要的指标,普通普通 5151 单片机的开发系统一般采用高档型号仿真低档型号,实时性不尽理想。单片机的开发系统一般采用高档型号仿真低档型号,实时性不尽理想。PICPIC 在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。 的仿真芯片支持,实时性非常好。

其引脚具有防瞬态能力,通过限流电阻可以接至其引脚具有防瞬态能力,通过限流电阻可以接至 220V220V 交流电源,可直接与继交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。 电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。

彻底的保密性。彻底的保密性。 PICPIC 以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,别人再也无法读出,除非恢复熔丝。目前, PICPIC 采用熔丝深埋工艺,恢复熔采用熔丝深埋工艺,恢复熔丝的可能性极小。丝的可能性极小。

自带看门狗定时器,可以用来提高程序运行的可靠性。自带看门狗定时器,可以用来提高程序运行的可靠性。

1.2 PIC1.2 PIC 单片机种类及性能单片机种类及性能 PIC (Peripheral Interface Controller) PIC (Peripheral Interface Controller) 被称为集演算处理电路、存储器电路和输入被称为集演算处理电路、存储器电路和输入输出接口电路于一体的输出接口电路于一体的 LSI LSI 微处理器,实物如图微处理器,实物如图 1.11.1所示。在国内也经常称之为微单所示。在国内也经常称之为微单片机。无论何种称谓,它是一种象人大脑一般、具有存储功能、运算功能及集输入输片机。无论何种称谓,它是一种象人大脑一般、具有存储功能、运算功能及集输入输出于一体的微控制出于一体的微控制 (Micro Controller)(Micro Controller) 集成芯片。其内部结构如图集成芯片。其内部结构如图 1.21.2所示。所示。

图 1.1 PIC 单片机实物图

图 1.2 PIC 单片机内部结构

1.2.1 PIC1.2.1 PIC 单片机特点单片机特点 PICPIC 系列系列 88 位位 CMOSCMOS 单片机具有实用、低价、易学、省电、高速和体积小等特点,特单片机具有实用、低价、易学、省电、高速和体积小等特点,特别是其独特的别是其独特的 RISC(RISC( 精简指令集精简指令集 ))及独立分开的数据总线和指令总线的哈佛总线结构,及独立分开的数据总线和指令总线的哈佛总线结构,使其指令具有单字长的特性,且允许其指令码的位数可多于使其指令具有单字长的特性,且允许其指令码的位数可多于 88 位的数据位数。这和传位的数据位数。这和传统的采用统的采用 CISCCISC (集中指令集)与冯(集中指令集)与冯 .. 诺伊曼结构的诺伊曼结构的 88 位单片机相比,可达到位单片机相比,可达到 2:12:1 的代的代码压缩和码压缩和 4:14:1 的速度提高。的速度提高。

PICPIC 系列单片机的另一特点是不搞单纯的功能堆积,而是靠发展多个系列产品型号来系列单片机的另一特点是不搞单纯的功能堆积,而是靠发展多个系列产品型号来满足不同层次用户之需要。满足不同层次用户之需要。 PICPIC 系列单片机可分为基本级、中级和高级三个系列产品。系列单片机可分为基本级、中级和高级三个系列产品。用户可以根据需要选择不同档次和不同功能的芯片,通常无需外扩程序存储器,数据用户可以根据需要选择不同档次和不同功能的芯片,通常无需外扩程序存储器,数据存储器和存储器和 A/DA/D 转换器等外部芯片,真正体现了单片机的“单片”特性,以避免用户投转换器等外部芯片,真正体现了单片机的“单片”特性,以避免用户投资的浪费。资的浪费。

PICPIC 系列单片机还具有非常优秀的微处理特性,如各种复位方式,多种中断功能,低系列单片机还具有非常优秀的微处理特性,如各种复位方式,多种中断功能,低功耗睡眠功能,掉电复位锁定等。在功耗睡眠功能,掉电复位锁定等。在 PICPIC 单片机的内部还集成有上电复位电路单片机的内部还集成有上电复位电路 (POR)(POR),,看门狗看门狗 (WDT)(WDT)电路,电路, I/OI/O 口弱上拉等,可以大大减少外围器件,节省电路空间和使用口弱上拉等,可以大大减少外围器件,节省电路空间和使用成本。成本。

除此之外,除此之外, PICPIC 单片机还具有如下特点单片机还具有如下特点 ::

与与 TTLZ80TTLZ80 芯片很不相同, 低功耗。完全可用电池长时间供电,使芯片很不相同, 低功耗。完全可用电池长时间供电,使用目标比较明确,体积小。用目标比较明确,体积小。

存储器、输入输出电路都集成在一个存储器、输入输出电路都集成在一个 ICIC 芯片上,使用便利。如芯片上,使用便利。如 PIC1PIC16F846F84 ,存储器使用,存储器使用 EEPROMEEPROM , 这便于用户能即时写入和消去应用程, 这便于用户能即时写入和消去应用程序。序。

程式软件开发工具用可以免费获取。程式软件开发工具用可以免费获取。 ROMROM 写入器电路设计简单,一写入器电路设计简单,一般用户都能自己制作。般用户都能自己制作。

程式命令较少程式命令较少 (35(35 条左右指令条左右指令 )),容易记意。编程容易简单,便于用,容易记意。编程容易简单,便于用户迅速掌握。户迅速掌握。

1.2.2 PIC1.2.2 PIC 单片机种类及性能比较单片机种类及性能比较 PICPIC 单片机产品种类很多,其封装格式如图单片机产品种类很多,其封装格式如图 1.31.3所示。美国所示。美国 MicrochipMicrochip 公司是公司是 PICPIC 的的

技术革新者,能够提供完整的技术革新者,能够提供完整的 PICPIC 系列芯片,图系列芯片,图 1.41.4所示是其系列产品的功能定位分所示是其系列产品的功能定位分布图。布图。 PICPIC 单片机按按命令字节长度来区分可分为三大类,即单片机按按命令字节长度来区分可分为三大类,即 1212 位,位, 1414 位,位, 1616 位位系列。其中每种系列又根据它的内部功能,使用技术的不同又分为很多不同种类,如系列。其中每种系列又根据它的内部功能,使用技术的不同又分为很多不同种类,如根据存储器根据存储器可分为 ROM 、 EPROM 、 EEPROM 、 FLASHROM 等四种类型。

图 1.3 PIC 单片机系列及外形封装图 1.4 PIC 单片机分类与性能比较

既然既然 PICPIC有这么多分类,又有这么多不同型号,选择什么样的有这么多分类,又有这么多不同型号,选择什么样的 PICPIC 就是用户开发就是用户开发工作开始阶段最重要的任务。选择的标准主要是开发程序的大小,所要求输入输出工作开始阶段最重要的任务。选择的标准主要是开发程序的大小,所要求输入输出的引脚数,模拟信号输入输出有无,以及串行输入输出有无等指标,根据这些指标的引脚数,模拟信号输入输出有无,以及串行输入输出有无等指标,根据这些指标要求,综合考虑选择何种要求,综合考虑选择何种 PICPIC 。表。表 1.11.1 和表和表 1.21.2示出了常用的示出了常用的 PICPIC 的性能 的性能 ..

表 1.1 PIC 及 功能表

表 1.2 常用的 PIC及其性能

型 号 C

M T P A S P 封 价 (日元 )

PIC16C54 12 0.5/E 8x1 12 18 600

PIC16C54JW 12 0.5/E 8x1 12 18 2k

PIC16C55 12 0.5/E 8x1 20 28 600

PIC16C56 12 1/E 8x1 12 18 500

PIC16C56JW 12 1/U 8x1 12 18 2.5k

PIC16C57 12 2/E 8x1 20 28 500

PIC16C57JW 12 2/U 8x1 20 28 2.5k

PIC16C64A 14 2/E 16+8 1 1 33 40 800

PIC16C64AJW 14 2/E 16+8 1 1 33 40 2.5k

PIC16C71 14 1/E 8x1 4ch 13 18 1k

PIC16C711JW 14 1/E 8x1 4ch 13 18 2.5k

(E=EPROM EE=EEPROM U=UVPROM)(E=EPROM EE=EEPROM U=UVPROM) C C 命令命令 BitBit 数数 M M 存储器种类存储器种类 T T 定时计数器种类定时计数器种类 P PWN (Pulse Width ModulationP PWN (Pulse Width Modulation ,脉宽调制器,脉宽调制器 )) A A╱DA A╱D 模数转换模数转换 S SI S SI 串行接口串行接口 P P 输入输出口输入输出口 pinpin (引脚)数(引脚)数

1.3 1.3 大规模可编程逻辑器件大规模可编程逻辑器件 FPGAFPGA 与与 CPLDCPLD1.3.1 1.3.1 可编程逻辑芯片发展历史可编程逻辑芯片发展历史

20 世纪末,电子设计技术获得了飞速的发展。在其影响下,现代电子产品及系统几乎渗透到社会的各个领域,产品及系统的性能进一步提高,产品更新换代的节奏也愈来愈快。系统设计分为模拟系统设计和数字系统设计,主要是数字系统设计,数字集成电路的应用最为广泛,集成电路的更新换代也极为迅速。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路 (VLSI ,几万门以上 )以及许多具有特定功能的专用集成电路( ASIC )。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更倾向于自己设计专用集成电路芯片,并且要求 ASIC 的设计周期尽可能短,最好是在实验室里就能设计出合适的 ASIC 芯片,并且设计完成后要求立即投入实际应用,基于这些需求出现了一种现场可编程逻辑器件 (FPLD),其中应用最广泛的当属现场可编程门阵列 (FPGA)和复杂可编程逻辑器件 (CPLD)。

其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件 PLD( Programmable Logic Device ),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以, PLD 能以乘积和的形式完成大量的组合逻辑功能。

这一阶段的产品主要有这一阶段的产品主要有 PAL(PAL(可编程阵列逻辑可编程阵列逻辑 ))和和 GAL(GAL( 通用阵列逻辑通用阵列逻辑 ))。。PALPAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。可以通过触发器有选择地被置为寄存状态。 PALPAL 器件是现场可编程的,它的器件是现场可编程的,它的实现工艺有反熔丝技术、实现工艺有反熔丝技术、 EPROMEPROM 技术和技术和 EEPROMEEPROM 技术。还有一类结构更为技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列灵活的逻辑器件是可编程逻辑阵列 (PLA)(PLA),它也由一个“与”平面和一个,它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。“或”平面构成,但是这两个平面的连接关系是可编程的。 PLAPLA 器件既有现器件既有现场可编程的,也有掩膜可编程的。在场可编程的,也有掩膜可编程的。在 PALPAL 的基础上,又发展了一种通用阵列的基础上,又发展了一种通用阵列逻辑逻辑 GAL (Generic Array Logic)GAL (Generic Array Logic),如,如 GAL16V8GAL16V8 ,, GAL22V10 GAL22V10 等。它采用了等。它采用了EEPROMEEPROM工艺,实现了电可按擦除、电可改写,其输出结构是可编程的逻辑工艺,实现了电可按擦除、电可改写,其输出结构是可编程的逻辑宏单元(宏单元( OLMCOLMC ),因而它的设计具有很强的灵活性),因而它的设计具有很强的灵活性 ..

在数字电路领域,存在三种基本的器件类型:存储器、微处理器和逻辑器在数字电路领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件(俗称三积木)。存储器用来存储随机信息,如数据表或数据库的内容。件(俗称三积木)。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字文处理程序或视频微处理器执行软件指令来完成范围广泛的任务,如运行字文处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其他功能。号处理、数据显示、定时和控制操作、以及系统运行所需要的所有其他功能。

1.3.2 1.3.2 固定逻辑与可编程逻辑固定逻辑与可编程逻辑 逻辑器件可分为两大类:固定逻辑器件和可编程逻辑器件。一如其名,固定逻辑逻辑器件可分为两大类:固定逻辑器件和可编程逻辑器件。一如其名,固定逻辑

器件中的电路是永久性的,它们完成一种或一组功能,一旦制造完成,就无法改变。器件中的电路是永久性的,它们完成一种或一组功能,一旦制造完成,就无法改变。另一方面,可编程逻辑器件另一方面,可编程逻辑器件 PLDPLD 能够为客户提供范围广泛的多种逻辑容量、特性、能够为客户提供范围广泛的多种逻辑容量、特性、速度和电压参数的标准成品部件,而且此类器件可在任何时间改变,从而完成许多速度和电压参数的标准成品部件,而且此类器件可在任何时间改变,从而完成许多种不同的功能。 种不同的功能。

对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行测试。原型中使用的进行测试。原型中使用的 PLDPLD 器件与正式生产最终设备(如网络路由器、器件与正式生产最终设备(如网络路由器、 DSLDSL 调调制解调器、制解调器、 DVDDVD播放器、或汽车导航系统)时所使用的播放器、或汽车导航系统)时所使用的 PLDPLD 完全相同。这样就减完全相同。这样就减少了流片(少了流片( NRENRE)成本,最终的设计也比采用定制固定逻辑器件时完成得更快。)成本,最终的设计也比采用定制固定逻辑器件时完成得更快。

采用采用 PLDPLD 的另一个突出优点是在设计阶段客户可根据需要修改电路,直到对设计的另一个突出优点是在设计阶段客户可根据需要修改电路,直到对设计工作感到满意为止。这是因为工作感到满意为止。这是因为 PLDPLD 基于可重写的存储器技术,要改变设计,只需基于可重写的存储器技术,要改变设计,只需要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需要利用要简单地对器件进行重新编程。一旦设计完成,客户可立即投入生产,只需要利用最终软件设计文件简单地编程所需要数量的最终软件设计文件简单地编程所需要数量的 PLDPLD 就可以了。就可以了。

1.3.3 CPLD1.3.3 CPLD 与与 FPGAFPGA

FPGA(FPGA(现场可编程门阵列现场可编程门阵列 ))与 与 CPLD(CPLD( 复杂可编程逻辑器件复杂可编程逻辑器件 )) 都是可编程都是可编程逻辑器件,它们是在逻辑器件,它们是在 PALPAL ,, GALGAL 等逻辑器件的基础之上发展起来的。同以等逻辑器件的基础之上发展起来的。同以往的往的 PALPAL ,, GALGAL 等相比较,等相比较, FPGAFPGA// CPLDCPLD 的规模比较大,可以替代几十的规模比较大,可以替代几十甚至几千块通用甚至几千块通用 ICIC 芯片。这样的芯片。这样的 FPGAFPGA// CPLDCPLD 实际上就是一个子系统部实际上就是一个子系统部件。这种芯片受到电子工程设计人员的广泛关注和普遍欢迎。经过了十几年件。这种芯片受到电子工程设计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是 XilinxXilinx公司的公司的 FPGAFPGA 器件系列和器件系列和 AlteraAltera 公司的公司的 CPLDCPLD 器件系列,它们开发较早,占器件系列,它们开发较早,占有了较大的有了较大的 PLDPLD 市场。通常来说,在欧洲用市场。通常来说,在欧洲用 XilinxXilinx的人多,在日本和亚太的人多,在日本和亚太地区用地区用 ALTERAALTERA 的人多,在美国则是平分秋色。全球的人多,在美国则是平分秋色。全球 PLD/FPGAPLD/FPGA产品产品 60%60%以上是由以上是由 AlteraAltera 和和 XilinxXilinx提供的。提供的。 AlteraAltera 和和 XilinxXilinx公司共同决定了公司共同决定了 PLDPLD 技技术的发展方向。当然在这领域其他公司的芯片在某些特定功能上具有优势,术的发展方向。当然在这领域其他公司的芯片在某些特定功能上具有优势,如:如: LatticeLattice 公司的公司的 ISPISP 技术,其他如技术,其他如 VantisVantis ,, ActelActel ,, QuicklogicQuicklogic ,, LucLucentent 等公司的芯片。等公司的芯片。

FPGAFPGA// CPLDCPLD 芯片都是特殊的芯片都是特殊的 ASICASIC 芯片,它们除了具有芯片,它们除了具有ASICASIC 的特点之外,还具有以下几个优点:的特点之外,还具有以下几个优点:

随着随着 VlSI(Very Large Scale ICVlSI(Very Large Scale IC ,超大规模集成电路,超大规模集成电路 )) 工艺的不断提工艺的不断提高单一芯片内部可以容纳上百万个晶体管, 高单一芯片内部可以容纳上百万个晶体管, FPGAFPGA// CPLDCPLD 芯片的规模芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。来越强,同时也可以实现系统集成。

FPGAFPGA// CPLDCPLD 芯片在出厂之前都做过百分之百的测试,不需要设计芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,相关的软硬件环境来完成芯片的最终功能设计。所以, FPGAFPGA// CPLDCPLD的资金投入小,节省了许多潜在的花费。的资金投入小,节省了许多潜在的花费。

用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。所以,用同软件就可实现不同的功能。所以,用 FPGAFPGA// PLD PLD 试制样片,能以试制样片,能以最快的速度占领市场。最快的速度占领市场。 FPGAFPGA// CPLDCPLD 软件包中有各种输入工具和仿真软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。当电路有少量改动时,更能显示出当电路有少量改动时,更能显示出 FPGAFPGA// CPLDCPLD 的优势。电路设计人的优势。电路设计人员使用员使用 FPGAFPGA// CPLDCPLD 进行电路设计时,不需要具备专门的进行电路设计时,不需要具备专门的 IC(IC( 集成电集成电路路 ))深层次的知识,深层次的知识, FPGAFPGA// CPLDCPLD 软件易学易用,可以使设计人员更软件易学易用,可以使设计人员更集中精力进行电路设计,快速将产品推向市场。集中精力进行电路设计,快速将产品推向市场。

尽管 FPGA 和 CPLD都是可编程 ASIC 器件,有着以上的共同特点,但由于 CPLD 和 FPGA 结构上的差异,也存在着明显的区别 :

CPLD更适合完成各种算法和组合逻辑, FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而 CPLD更适合于触发器有限而乘积项丰富的结构。

CPLD 的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而 FPGA 的分段式布线结构决定了其延迟的不可预测性。

在编程上 FPGA 比 CPLD具有更大的灵活性。 CPLD通过修改具有固定内连电路的逻辑功能来编程, FPGA 主要通过改变内部连线的布线来编程; FPGA 可在逻辑门下编程,而 CPLD 是在逻辑块下编程。

FPGA 的集成度比 CPLD 高,具有更复杂的布线结构和逻辑实现。不过 CPLD 比 FPGA使用起来更方便。 CPLD 的编程采用 EEPROM或 FASTFLASH技术,无需外部存储器芯片,使用简单。而 FPGA 的编程信息需存放在外部存储器上,使用方法复杂。

CPLD 的速度比 FPGA快,并且具有较大的时间可预测性。这是由于 FPGA 是门级编程,而 CPLD 是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

CPLD保密性好, FPGA保密性差。 一般情况下, CPLD 的功耗要比 FPGA 大,且集成度越高越明显。

1.3.4 CPLD1.3.4 CPLD 性能及系列产品简述性能及系列产品简述

CPLDCPLD 即复杂可编程逻辑器件。早期即复杂可编程逻辑器件。早期 CPLDCPLD 是从是从 GALGAL 的结构发展而来,但的结构发展而来,但针对针对 GALGAL 的缺点进行了改进,如的缺点进行了改进,如 XilinXXilinX 的的 XC9500XC9500 系列器件、系列器件、 LatticeLattice 的的 ispispLSI1032LSI1032 器件、器件、 AlteraAltera 的的 MAX7000SMAX7000S 系列器件等。系列器件等。

随着复杂可编程逻辑器件密度的提高,数字器件设计人员在进行大型设计随着复杂可编程逻辑器件密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLDCPLD 容易使用、时序可预测和速度高等优点,然而,在过去由于受到容易使用、时序可预测和速度高等优点,然而,在过去由于受到 CPLDCPLD密度的限制,他们只好转向密度的限制,他们只好转向 FPGAFPGA 和和 ASICASIC 。 。。 。 CPLDCPLD 结构在一个逻辑路径上结构在一个逻辑路径上采用采用 11 至至 1616 个乘积项,因而大型复杂设计的运行速度可以预测。因此,设计个乘积项,因而大型复杂设计的运行速度可以预测。因此,设计的运行可以预测,也很可靠,而且修改设计也很容易。的运行可以预测,也很可靠,而且修改设计也很容易。 CPLDCPLD 在本质上很灵在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与不变。与 FPGAFPGA相比,相比, CPLDCPLD 的的 I/OI/O 更多,尺寸更小。如今,通信系统使用很更多,尺寸更小。如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。多标准,必须根据客户的需要配置设备以支持不同的标准。 CPLDCPLD 可让设备可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以着手进行硬件设计,然后再修改代码以满足最终标准的要求。着手进行硬件设计,然后再修改代码以满足最终标准的要求。 CPLDCPLD 的速度的速度和延迟特性比纯软件方案更好,其成本低于和延迟特性比纯软件方案更好,其成本低于 ASICASIC ,更灵活,产品也可以更快,更灵活,产品也可以更快入市。入市。

CPLDCPLD 可编程方案的优点如下:可编程方案的优点如下:

逻辑和存储器资源丰富逻辑和存储器资源丰富 带冗余路由资源的灵活时序模型 带冗余路由资源的灵活时序模型 改变引脚输出很灵活 改变引脚输出很灵活 可以装在系统上后重新编程 可以装在系统上后重新编程 I/OI/O 数目多 数目多 具有可保证性能的集成存储器控制逻辑 具有可保证性能的集成存储器控制逻辑 提供单片提供单片 CPLDCPLD 和可编程物理方案 和可编程物理方案

和其它器件比较,其性能如下:和其它器件比较,其性能如下:

CPLDCPLD 设计建模成本低,可在设计过程的任一阶段添加设计或改变引设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市。脚输出,可以很快上市。 CPLDCPLD 是属于粗粒结构的可编程逻辑器件。是属于粗粒结构的可编程逻辑器件。

CPLDCPLD 具有丰富的逻辑资源,即逻辑门与寄存器的比例高和高度灵活具有丰富的逻辑资源,即逻辑门与寄存器的比例高和高度灵活的路由资源。的路由资源。

CPLDCPLD 以群阵列(以群阵列( array of clustersarray of clusters )的形式排列,由水平和垂直路)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把并且把 CPLDCPLD 内部的逻辑群连接起来。 内部的逻辑群连接起来。

CPLDCPLD 的另一个好处是其软件编译快,因为其易于路由的结构使得设的另一个好处是其软件编译快,因为其易于路由的结构使得设计任务更加容易执行。 计任务更加容易执行。

CPLDCPLD 有多种密度和封装类型,包括单芯片自引导方案。自引导方案有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了在单个封装内集成了 FLASHFLASH 存储器和存储器和 CPLDCPLD ,无须外部引导单元,,无须外部引导单元,从而可降低设计复杂性并节省板空间 从而可降低设计复杂性并节省板空间 ..

CPLDCPLD 和固定逻辑器件相比有自己的优点。固定逻辑设计更适合大批和固定逻辑器件相比有自己的优点。固定逻辑设计更适合大批量应用,因为它们可更为经济地大批量生产。对有些需要极高性能的量应用,因为它们可更为经济地大批量生产。对有些需要极高性能的应用,固定逻辑也可能是最佳的选择。然而,可编程逻辑器件提供了应用,固定逻辑也可能是最佳的选择。然而,可编程逻辑器件提供了一些优于固定逻辑器件的重要优点,包括:一些优于固定逻辑器件的重要优点,包括: CPLDCPLD 在设计过程中为客在设计过程中为客户提供了更大的灵活性,户提供了更大的灵活性, ..

CPLDCPLD 不需要客户支付高昂的不需要客户支付高昂的 NRENRE成本和购买昂贵的掩膜组,成本和购买昂贵的掩膜组, CPLCPLDD 供应商在设计其可编程器件时已经支付了这些成本,并且可通过供应商在设计其可编程器件时已经支付了这些成本,并且可通过 PPLDLD 产品线延续多年的生命期来分摊这些成本。 产品线延续多年的生命期来分摊这些成本。

CPLD允许客户在需要时仅订购所需要的数量,从而使客户可控制库存。采用固定逻辑器件的客户经常会面临需要废弃的过量库存,而当对其产品的需求高涨时,他们又可能为器件供货不足所苦,并且不得不面对生产延迟的现实。

CPLD甚至在设备付运到客户那儿以后还可以重新编程。事实上,由于有了可编程逻辑器件,一些设备制造商现在正在尝试为已经安装在现场的产品增加新功能或者进行升级。要实现这一点,只需要通过因特网将新的编程文件上载到 PLD 就可以在系统中创建出新的硬件逻辑。

XILINXXILINX的的 CPLDCPLD 系列系列 :: 当今,世界上很多大公司都能提供可编程器件,如当今,世界上很多大公司都能提供可编程器件,如 XILINXXILINX ,, ALTERAALTERA 和和 LALATTICETTICE 都能提供成系列的都能提供成系列的 CPLD CPLD 产品。如何获得产品。如何获得 PLDPLD 开发软件软件呢?许多开发软件软件呢?许多PLDPLD 公司都提供免费试用版或演示版公司都提供免费试用版或演示版 (( 当然商业版大都是收费的),例如:当然商业版大都是收费的),例如:可以免费从可以免费从 www.altera.com www.altera.com 上下载上下载 AlteraAltera 公司的 公司的 Maxplus2 Maxplus2 (( BaselineBaseline版或版或 E+MAXE+MAX 版),或向其代理商索取这套软件。想更多的了解这套软件的使版),或向其代理商索取这套软件。想更多的了解这套软件的使用,请点击此处。用,请点击此处。 Xilinx Xilinx 公司也提供免费软件:公司也提供免费软件: WebPackWebPack,这套可以从,这套可以从 xilixilinxnx 网站下载。网站下载。 LatticeLattice ,, ActelActel 等公司也都有类似的免费软件提供。以上免费等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请软件都需要在网上注册申请 LicenseLicense 文件,如果对文件,如果对 LicenseLicense 的安装还有不清的安装还有不清楚,可仔细阅读相关网页上的说明,也可以下载这篇文档:楚,可仔细阅读相关网页上的说明,也可以下载这篇文档: EDAEDA软件的软件的 licenlicensese 管理与安装。通常这些免费软件已经能够满足一般设计的需要,当然,要管理与安装。通常这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买商业版软件。想软件功能更强大一些,只能购买商业版软件。

关于关于 XilinxXilinx公司,目前公司,目前 XilinxXilinx采用先进的采用先进的 0.13um 0.13um 低低 KK 铜金属工艺生产可编铜金属工艺生产可编程逻辑器件,这也是业界最好的工艺之一。本书后续章节将介绍该公司的程逻辑器件,这也是业界最好的工艺之一。本书后续章节将介绍该公司的 XCXC95009500 系列系列 CPLDCPLD 器件。器件。 XC9500XC9500 系列也有很多种类,如系列也有很多种类,如 XC9536-PC44XC9536-PC44 , , XCXC9572-PC449572-PC44 , , XC9572-PC84XC9572-PC84 和和 XC95108-PC84XC95108-PC84 等。其外封装式样如图等。其外封装式样如图 1.51.5所示。其所示。其 XC9500XC9500 系列性能特征及价格如表系列性能特征及价格如表 1.31.3 所示。所示。

表 1.4 XC9500 系列

图 1.5 CPLD 可编程器件