MAXPLUS教程 - 第2章CPLD和FPGA

本文详细介绍了CPLD和FPGA,包括它们的优势、常见厂家及产品对比。ALTERA公司的MAX7000系列以其特性如高密度、高速度和灵活配置在市场中占有一席之地,而FLEX 8000和10K10系列则以在线可重配置和可预测延迟为特点。此外,还详细阐述了不同系列的配置方式,如主动串行配置、主动并行配置等。

第2章CPLD和FPGA

2.1 PLD介绍
可编程逻辑器件PLD(Programable Logic Device)是允许用户编程(配置)实现所需逻辑功能的电路, 它与分立元件相比,具有速度快、容量大、功耗小和可靠性高等优点。由于集成度高,设计方法先进、现场可编程,可以设计各种数字电路,因此,在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域内得到了广泛应用。不久的将来将全部取代分立数字元件,目前一些数字集成电路生产厂商已经停止了分立数字集成电路的生产。因此应该学会PLD的设计技术。
PLD电路早期代表产品由XLINX公司推出的门阵列,称为FPGA(Field Programable Gate Array),随后ALTERA公司推出以并行走线的PLD产品,称为CPLD(Complex Programable Logic Device),这些早期产品价格高达万元,其开发软件价格高达几十万元。但是随着生产技术水平的提高,现在PLD产品的价格已大大降低,一片5000门、具有5K X 8的SRAM电路作配置、84脚封装、速度达40—200MHz的PLD的价格已经下降到一百元以下。每一片这样的PLD可以设计成单片机、或者是CPU等,并且可以在外部接线完成以后还可以重新进行设计多次。
目前在我国常见的PLD生产厂家有XILINX、ALTERA、ACTEL、LATTIC、ATMEL、MICROCHIP和AMD等等,其中XILINX和ALTERA为两个主要生产厂,XILINX的产品为FPGA,ALTERA的产品称为CPLD,各有优缺点,
但比较起来ALTERA的产品略有长处:
1. 同样具有EPROM和SRAM的结构
2. 对于SRAM结构的产品,ALTERA公司PLD的输出电流可达25MA,而XILINX的FPGA只有16MA
3. ALTERA公司的PLD延时时间可预测,弥补了FPGA的缺点
4. XILINX公司的开发软件FOUNDATION 功能全,但是不如ALTERA公司的MAX+PLUS软件使用简单,特别是对于学校的学生学习VHDL语言和PLD设计。
5. ALTERA公司的产品价格稍微便宜
6. ALTERA公司新推出的FLEX 10K10E系列的产品具有更大的集成度
PLD的结构分为两类:
 逻辑单元阵列(LCA),包括逻辑快、互连阵列和I/O块
 复合PLD结构,包括逻辑块和互连矩阵开关
XLINIX、ACTEL公司的产品采用LCA结构,而ALTERA、AMD的MACH系列采用的是复合PLD结构。

2.2 ALTERA公司MAX7000系列
(1) 特点
 该系列是以第二代多阵列结构为基础,高性能的CMOS器件
 高密度,600—5000个可用门的EPLD系列
MAX7128E:提供5000个门,其中可用门数2500,128个宏单元,最大I/O引脚104,
 引脚到引脚的时延6ns,计数器工作频率151MHz
 可配置的扩展乘积项,允许向每个宏单元提供52个乘积项
 44到208个引脚的各种封装,引线塑料载体(PLCC)、针栅阵列(PGA)扁平封装(QFP)
 3.3V 或5V的电源电压
 可编程保密位
 ALTERA MAX+PLUS软件提供开发支持
该系列型号:EPM7032,EPM7032V,EPM7064,EPM7096,EPM7128E,EPM7160,EPM7192,EPM7256

(2)结构
MAX7000的结构图2.1.1,其中I/O为输入输出模块,FB为逻辑阵列模块(LAB),这些模块由可编程互连矩阵相互连接。

                              图2.1.1

 专用输入信号
包含4个专用输入信号,它们能用作专用输入或每一个宏单元和I/O引脚的全局控制信号: 时钟,清除和输出使能
 逻辑阵列块(LAB)
每个LAB由16个宏单元组成,多个LAB通过可编程连线阵列互连,每一个LAB有来自PIA的36个信号、用于寄存器辅助功能的控制信号和I/O引脚到寄存器的直接通道
 宏单元
宏单元可以单独配置为组合逻辑和时序逻辑工作方式,它由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器
 扩展乘积项
扩展乘积项可以使一个宏单元实现更复杂的逻辑函数,而不使使用两个宏单元
 可编程连线阵列
该阵列将各个LAB互连在一起,构成所需的逻辑功能
 I/O控制块
允许每个I/O引脚可以单独配置为输入、输出或是双向工作方式

2.3 FLEX 8000系列
FLEX是Flexible Logic Element Matrix的缩写,该系列采用0.8μm CMOS SRAM或0.65μm CMOS SRAM集成电路制造工艺制造。
(1) 特点
 最大门数32000,具有2500—16000个可用门和282—1500个触发器
 在线可重配置
 可预测在线时间延迟的布线结构
 实现加法器和计数器的专用进位通道
 3.3V和5V电源
 MAX+PLUS软件支持自动布线和布局
 84到304个引脚的各种封装
常用型号:EPF8282,EPF8452,EPF8636,EPF8820,EPF81188,EPF81500

2.4 FLEX 10K10系列
该系列采用0.5μm CMOS SRAM或0.25μm CMOS SRAM(10K10E系列)集成电路制造工艺制造。
(1)特点
 具有7000—31000个可用门、6144位RAM、720个触发器和最大I/O数150
 在线可重配置
 可预测在线时间延迟的布线结构
 实现加法器和计数器的专用进位通道
 3.3V和5V电源
 MAX+PLUS软件支持自动布线和布局
 84到562个引脚的各种封装
常用型号:EPF10K10,EPF10K20,EPF10K30,EPF10K40,EPF10K50,EPF10K70,EPF10K100等

2.5 PLD的配置
(1) MAX7000系列
由于MAX7000系列的配置程序是固化在芯片内的EEPROM中,所以该器件不需要专用的配置存储器,所有MAX7000系列产品都由ALTERA公司提供的编程硬件和软件进行编程。
编程硬件:编程卡、主编程部件(MPU—Master Programming Unit)和配套的编程适配器
编程软件:MAX+PLUSⅡ
(2) FLEX8000系列和FLEX10K10系列
该系列产品的配置信息是存放在芯片内的SRAM中,当掉电后,配置信息将全部丢失,所以这些配置信息需要存放在其它EPROM中,ALTERA公司提供了与该系列芯片配套使用的EPROM。所以对芯片的编程就是对EPROM的编程,
芯片开始工作时,进入命令状态,在该状态将配置信息从EPROM中读到自己的SRAM中,然后进入用户状态,在用户状态器件就可以按照配置的功能进行工作,整个配置过程全部自动进行,也可以靠外部逻辑控制进行,时钟可由器件自己提供,也可由外部时钟控制。
所以整个器件只要更换EPROM中的配置信息就可以更换功能,其灵活性是不言而喻的。
该器件有如下配置方式:
 主动串行配置(AS)
 主动并行升址和降址配置(APU/APD)
 被动并行同步配置(PPS)
 被动并行异步配置(PPA)
 被动串行配置(PS)

1) 主动串行配置(AS)
该配置使用ALTERA公司提供的配置EPROM(如EPC1213)作为器件的配置数据源,配置EPROM以串行位流(bit-stream)方式向器件提供数据,见典型电路图2.5.1.

                        图2.5.1

在图中,FLEX8000的nCONFIG 引脚接电源,使该器件有开机自动配置能力,
2)主动并行升址和降址配置(APU/APD)
在该方式,FLEX8000提供驱动外部PROM地址输入的连续地址,PROM则在数据引脚DATA[7。。。0]上送回相应的字节数据,FLEX8000器件产生连续地址直至加载完成。对于APU方式,计数顺序是上升的(00000H到3FFFFH)对于APD方式,计数顺序是下降的。
使用并行EPROM以APU或APD方式配置FLEX8000的一般电路图2.5.2.
图2.5.2

所有FLEX8000芯片通过自己的18条地址线向EPROM提供地址。

3) 被动串行配置(PS)
被动串行配置方式采用外部控制器,通过串行位(BIT)流来配置FLEX8000,FLEX8000以从设备的方式通过5条线与外部控制器连接。
外部控制器有如下几种:
 ALTERA公司的PL-MPU编程部件和FLEX卸栽电缆(DOWNLOAD CABLE)
 智能主机(微机或单片机)
 ALTERA公司的Bit Blaster电缆,该电缆与RS232接口兼容
使用ALTERA的FLEX卸栽电缆进行被动串行配置图2.5.3.

                           图2.5.3

FLEX的卸栽电缆一端接MPU主编程部件的EPROM适配器,另一端与要编程的目的板中待配置FLEX器件连接起来,向FLEX器件提供5个信号,配置数据取自MAX+PLUSⅡ软件编译形成的SRAM目标文件(*。SOF)

4) 在线重新配置
FLEX8000进入用户状态后,随时都可以置换器件内的配置数据,这个过程叫做在线重新配置,(in-circuit-configuration)或在系统编程(isp—in system programmable)

5) MAX+PLUSⅡ配置与编程支持
该软件可以产生4种不同的类型的编程文件:
 SRAM文件
该文件(SRAM Object File)(.SOF)用于被动串行配置,可使用MAX+PLUSⅡ编程器、FLEX卸栽电缆和ALTERA编程部件将数据直接装入系统中的FLEX8000,利用该文件可以生成POF、TTF和HEX文件
 编程目标文件
该文件(Programer Object File)(
.POF)用于主动串行配置(AS)ALTERA的配置EPROM,MAX+PLUSⅡ软件为每一个设计自动生成一个POF文件。
 十六进制文件(Inter格式文件)
该文件(Hexadecimal File)(.HEX)是Inter HEX格式的ASCⅡ文件,使用 APU或APD方式配置FLEX8000时需使用标准的并行EPROM,通用烧录器可以完成此项工作,
 列表文本文件
该文件(Tabular Text File)(
.TTF)是一个表格式的文件,它提供的是逗号分割开的文件,可以用于PPA、PPS和一位宽的PS方式配置数据。

6) 配置过程
见MAX+PLUSⅡ软件一章

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值