来源:单片机与嵌入式系统应用•作者:王朔,李刚
可编程逻辑器件(PLD)是20世纪70年代在ASIC设计的基础上发展起来的一种划时代的新型逻辑器件。自PLD器件问世以来,制造工艺上采用TTL、CMOS、ECL及静态RAM技术,器件类型有PROM、EPROM、E2PROM、FPLA、PAL、GAL、PML及LCA等。PLD在性能和规模上的发展,主要依赖于制造工艺的不断改进,高密度PLD是VLSI集成工艺高度发展的产物。80年代末,美国ALTERA和XILINX公司采用EECMOS工艺,分别推出大规模和超大规模的复杂可编程逻辑器件(CPLD)和现场可编程逻辑门阵列器件(FPGA)。这种芯片在达到高集成度的同时,所具有的应用灵活性和多组态功能是以往的LSI/VLSI电路无法比拟的。自从跨入90年代以来,可编程逻辑器件CPLD/FPGA得到了飞速发展,向高集成度、高速度和低价位方向不断迈进;不仅具有电擦除特性,而且出现了边缘扫描及在线编程等高级特性;其应用领域不断扩大,可用于状态机、同步、译码、解码、计数、总线接口、串并转换等很多方面,而且在信号处理领域的应用也活跃起来。使用CPLD可以提高系统集成度、降低噪声、增强系统可靠性并降低成本。
本文主要介绍Atmel公司的CPLD芯片ATF1508AS的特点及应用。ATF1508AS是利用ATMEL成熟的电擦除技术实现的高性能、高密度的复杂可编程逻辑器件(CPLD),与ALTERA公司的EPM7000系列引脚完全兼容;可以将EPM7000的POF文件转换为适合ATF1508AS的工业标准JEDEC编程文件,下载到ATF1508AS芯片中。
1、 ATF1508AS的特点
ATF1508AS是利用ATMEL成熟的电擦除技术实现的高性能、高密度的复杂可编程逻辑器件(CPLD)。它有128个逻辑宏单元和最大100个输入,能很容易地集成一系列TTL、SSI、MSI、LSI和传统PLD的逻辑功能。ATF1508AS的增强型路由开关矩阵增加了可用的门数和设计改变时引脚锁定的成功率,这是非常重要的。ATF1508AS有96个双向I/O引脚和4个输入引脚。这4个输入引脚也可以用于全局控制信号、全局寄存器时钟、全局复位和全局输出允许。
128个宏单元中的每一个都产生一个隐藏的反馈回路到全局总线,每一个输入引脚、I/O引脚也都汇入全局总线。每个逻辑块的开关矩阵从全局总线中选择40个独立的信号,每一个宏单元也产生一个返送逻辑项到局部总线。宏单元之间的级联逻辑可以快速有效地实现复杂的逻辑功能。ATF1508AS包括八个这样的逻辑链,每一个都能通过扇入最多40个乘积项实现逻辑项求和。
ATF1508AS是在系统编程(ISP)器件。它用工业标准的4脚JTAG接口(IEEE标准1149.1),完全与JTAG的边界扫描描述语言(BSDL)兼容。ISP允许器件不用从印刷电路板上拿走就可编程;除简化生产流程外,ISP也允许通过软件进行设计修改。
ATF1508AS的引脚保持电路提供对所有输入和I/O引脚的设置。当任何引脚驱动到高电平或低电平,紧接着引脚被悬空时,引脚将保持先前的高电平或低电平状态。这种电路防止没有用到的输入和I/O线悬空而成为中间的电压值,这会导致不必要的功耗和系统噪声。引脚保持电路去除了对外部上拉电阻的需要和直流功耗。
ATF1508AS的加密特性可以保护ATF1508AS的设计内容。两个字节(16位)的用户信号可被用户存取,能存放工程名、部件号、版本或日期等,而且用户信号的存取不受加密熔丝的状态影响。
ATF1508AS具有上电复位特性。在上电期间,所有的I/O引脚将为三态,直到VCC到达上电电压,这样可防止在上电期间发生总线竞争。ATF1508AS的寄存器设计成在上电时复位,从VCC上升到VRST后的微小的延时,所有的寄存器将复位到低电平,输出状态要根据缓冲器的极性设置。这种特性对于状态机的初始化是比较关键的。
2 、ATF1508AS的宏单元
ATF1508AS的宏单元如图1所示。它的宏单元非常灵活,足以支持高复杂逻辑功能并且高速工作。宏单元包括五个部分:乘积项和乘积项选择多路复用器、或/异或/级联逻辑、触发器、输出选择和使能、逻辑阵列输入。没有用到的宏单元可由编译器禁止以降低功耗。
(1)乘积项和乘积项选择矩阵
每一个宏单元有5个乘积项,每个乘积项作为它的输入从全局总线和局部总线接收所有信号。乘积项选择矩阵(PTMUX)按需分配这5个乘积项到宏单元的逻辑门,也负责分配控制信号。乘积项选择矩阵的编程是由设计编译器决定的,编译器将选择优化的宏单元配置。
(2)或/异或/级联逻辑
ATF1508AS的逻辑结构是为有效地支持所有的逻辑而设计的。在一个宏单元内,所有的乘积项可以被布进或门,产生一个5输入的与/或求和项。通过邻近的宏单元扇入额外的乘积项,可以扩展到40个乘积项而只有很小的延时。宏单元的异或门允许有效地实现比较和算术功能,其中异或门的一个输入来自或运算的求和项,另一个输入可以是一个乘积项或一个固定的高电平或低电平。对于组合逻辑输出,固定电平允许极性选择;对于时序逻辑,固定电平允许利用反演规则(摩根定律的推论)化简乘积项。异或门也可以用于仿真T型和JK型触发器。
(3)触发器
ATF1508AS的触发器有非常灵活的数据和控制功能。触发器的输入可以来自于异或门、一个单独的乘积项或直接由I/O口输入。选择单独的乘积项允许在一个组合逻辑输出宏单元内生成一个隐藏的寄存器反馈(这个特性是由fitter软件自动实现的)。除D、T、JK和SR类型外,ATF1508AS的触发器还可配置为锁存器。在这种模式中,当时钟为高时,数据通过;当时钟为低时,数据锁存。
时钟信号可以是全局CLK信号(GCK)和一个单独的乘积项。触发器在时钟的上升沿改变状态。当GCK信号作为时钟信号时,宏单元的一个乘积项可以选择作为时钟允许信号。当使用时钟使能功能时,使能信号(乘积项)为低时,所有的时钟边沿将被忽略。触发器的异步复位信号(AR)可以是全局复位信号(GCLEAR)、一个乘积项或不使用。AR也可以是GCLEAR和一个乘积项的逻辑或输出。异步置位信号(AP)可以是一个乘积项或不使用。
(4)输出选择和使能
ATF1508AS宏单元的输出可以选择为寄存器型和组合型。隐藏的反馈信号可以是组合或寄存器信号而不管输出是组合型还是寄存器型。输出使能多路复用器(MOE)控制输出使能信号。如果是简单的输出操作,任何缓冲器都可以永久使能。如果引脚用作输入,缓冲器也可以永久禁止。在这种配置下,所有的宏单元资源仍然可用,包括隐藏的反馈信号、扩展器和级联逻辑。每一个宏单元的输出使能信号都可以选择一个全局输出使能信号。该器件有6个全局输出使能信号(OE)。
(5)逻辑阵列输入
逻辑阵列输入包括全局总线/开关矩阵和返送总线:
全局总线/开关矩阵
全局总线包括所有的输入和I/O引脚信号以及所有128个宏单元的隐藏反馈信号。每个逻辑块的开关矩阵将全局总线的所有信号作为其输入。在软件的控制下,这些信号中最多可以有40个被选择作为逻辑块的输入。
返送总线
每一个宏单元可以产生一个返送乘积项。这个信号连接到局部总线上,并且对16个宏单元有效,它是宏单元一个乘积项的反极性。每个局部总线的16个返送项允许产生高扇入求和项(最多21个乘积项),而只有很小的延时。
3 、设计软件支持
ATMEL公司提供了CPLD的设计软件,而且很多第三方的工具软件也支持ATF1508AS的设计,可以用多种高级描述语言和格式进行逻辑描述,如CUPL、ABEL、VHDL等。由于ATF1508AS与ALTERA公司的EPM7000系列是完全引脚兼容的,因此可以使用ALTERA公司的MAXPLUSII软件。它能进行VHDL语言的编译和综合,使用方便,功能强大。MAXPLUSII综合后产生适合ALTERA的CPLD编程的POF文件,使用POF2JED软件(ATMEL公司提供),就可将POF文件转换为适合ATF1508AS的工业标准JEDEC编程文件,下载到ATF1508AS芯片中。
4、 器件编程
ATF1508AS器件是利用4脚JTAG协议在系统编程(ISP)的。ATMEL提供了ISP硬件(下载电缆)和软件,以允许从PC对ATF1508AS进行编程。若要允许ISP编程支持“自动测试装置(ATE)”向量,必须通过ATMEL的ISP软件生成串行向量格式(SVF)文件,也可转换为除SVF外的其它ATE测试格式。ATF1508AS器件也可以用标准的第三方编程器来编程,这时JTAG ISP口可以被禁止从而允许这四个额外的I/O引脚用于逻辑功能。
ATF1508AS还有一个特性就是如果由于任何原因编程过程被中断,则器件将被锁定以防止输入和I/O引脚被驱动。在这种状态下,输入和I/O引脚缺省下为高阻状态。在编程器件时,输入和I/O引脚也将为高阻状态。此外,引脚保持电路设置在器件编程期间将保持以前的状态。ATF1508AS器件出厂时被初始化为已擦除状态,可以直接用来ISP编程。
结束语
CPLD器件的优势在于缩短开发生产周期,现场灵活性好,而且随着电子技术的发展,其集成度越来越高,速度越来越快,价格也逐渐降低,因此市场发展很快。ATMEL公司的ATF1508AS是高性能、高密度的复杂可编程逻辑器件,使用方便,具有很高的性价比,因此具有广阔的应用前景。