单片机与cpld接口设计说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
分析了基于FPGA/CPLD的EDA技术的特点与由其构成数字系统的优越性,并将它与单片机系统进行了比较,指出EDA技术克服了单片机本身难以克服的缺陷,将成为今后电子系统设计的主流。

针对可编程ASIC和MCS51单片机的特点,对两者之间的接口方式进行了分析。

用VerilogHDL给出了几个实用的接口参考程序。

VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。

1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。

自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。

此后VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。

8051工作频率为11.0592MHZ CPLD(EPM7128SLC15)的工作频率为16.0000MHZ(有源晶振)进行接口连接,CPLD作为高速的地址缓存口,能够将数据地址部分进行暂时存储和译码,减少了多余的器件而使得设计布局更加合理。

关键词:EDA;CPLD/FPGA;单片机;VHDL
ABSTRACT
Based on the analysis of the FPGA / CPLD of EDA technologies and the characteristics of a digital system by the superiority,And SCM system with a relatively,EDA that the SCM technology to overcome the deficiencies in itself difficult to overcome, the future will become the mainstream of electronic system design.MCS51 for programmable ASIC and the characteristics of SCM, the interface between the way the analysis.
VHDL the English full name is Very-High-Speed Integrated Circuit HardwareDescription Language, was born in 1982. By the end of 1987, VHDL by the IEEE and the U.S. Department of Defense confirmed as the standard hardware description language. Since the publication of the IEEE VHDL version of the standard, IEEE-1076 (short version 87), the EDA companies have launched their own VHDL design environment, or to declare their own design tools and VHDL interface. Since then VHDL in the field of electronic design has been widely accepted and gradually replace the original non-standard hardware description language.
8051 operating frequency of 11.0592 MHZ CPLD (EPM7128SLC15) the operating frequency of 16.0000 MHZ (Active crystal) interface connector, CPLD's address as a high-speed cache I can address some of the data for temporary storage and decoding, a decrease of Redundant device design and make distribution more reasonable.
Keyword:EDA;SCM;CPLD/FPGA;VHDL;
目录
1 选题背景1
1.1 关于FPGA/CPLD和EDA技术1
1.2FPGA/CPLD与单片机2
1.2.1 单片机的学习效率较低2
1.2.2单片机本身的速度相对FPGA/CPLD来显得太慢2
2 硬件描述4
2.1单片机4
2.1.1单片机的特点4
2.1.2单片机的应用4
2.1.3单片机的基本组成4
2.1.4 MCS-51 的寻址方式5
2.1.5指令5
2.1.6计数初值的计算6
2.1.8串行口工作方式与帧格式7
2.2 FPGA/CPLD8
2.2.1 CPLD/FPGA特点8
2.2.2 CPLD10
2.2.3 FPGA11
2.2.4 VHDL语言描述13
2.3单片机与复杂可编程CPLD 器件的接口设计35
2.3.1总线方式35
3.3.2 独立方式37
2.3.3基于总线结构的接口设计38
2.3.4 实际电路连接39
2.3.5 地址锁存,译码与统一编址40
2.3.6 LCD 总线接口设计42
2.3.7 数码管接口设计43
3 软件程序设计46
3.1 软件程序简介46
3.1.1 Quartus II 图形用户界面的基本设计流程46
3.1.2 其它 EDA 工具与 Quartus II 软件配合使用时的基本设计流程47
3.1.3 cpld 与8051的总线接口方式设计流程图48
3.1.4 cpld 与8051的总线接口VHDL源码49
3.1.5 仿真步骤与其结果63
结论67
致68
参考文献69
附录69
1 选题背景
目前,单片机在我国电子系统的设计中已得到广泛的应用,使我国的电子系统智能化水平在广度和深度上发生了质的飞跃。

在基于单片机的数字系统设计中,用户能够通过编程方式改变器件逻辑功能只有两条途径:即对单片机的软件编程和特定器件的控制字配置。

如果想任意确定器件引脚功能的硬件方式是不可能的。

在数字系统中,尽管采用了单片机和存储器,但仍需大量的中、小规模的数字集成电路来进行各种逻辑控制。

而对于系统构成的设计过程只能对器件功能和电路板图分别进行设计和确定,通过设计板来规划系统功能,花大量时间用于组件的选配和系统结构的可行性分析上。

这也暴露出基于单片机的数字系统设计上的一个不可逾越的困难。

随着集成技术的发展,FPGA/CPLD(现场可编程逻辑器件/复杂可编程逻辑器件)在EDA(电子设计自动化)基础上的广泛应用,在更高层次上包含了数字技术的优秀部分,向单片机系统进行了挑战。

1.1 关于FPGA/CPLD和EDA技术
FPGA/CPLD是一种新兴的高密度的可编程逻辑器件,它具有门阵列的高密度和PLD 器件的灵活性和易用性,目前已成为一类主要的可编程器件.可编程器件的最大特点是可通过软件编程对其器件的结构和工作方式进行重构,能随时进行设计调整而满足产品升级。

使得硬件的设计可以如软件设计一样方便快捷,从而改变了传统数字系统与用单片机构成的数字系统的设计方法、设计过程与设计观念,使电子设计的技术操作和系统构成在整体上发生了质的飞跃。

采用FPGA/CPLD可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现。

既定的系统功能,在设计过程中,可根据需要随时改变器件的部逻辑功能和管脚的信号方式,借助于大规模集成的FPGA/CPLD和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量的难度,同时,这种基于可编程芯
片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。

EDA技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段,完成的设计文件自动完成逻辑编译、逻辑化简、逻辑综合与优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。

设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效。

1.2 FPGA/CPLD与单片机
90年代以来,我国单片机的应用经历了一个辉煌的时代。

在电子设计数字化的今天,单片机几乎应用到电子设计的各个领域。

但随着应用围的推广,我们发现单片机并不是万能的,它本身还存在着一些缺陷,有些缺陷甚至是难以解决的。

下面我们从两个方面来看单片机和可编程器件FPGA/CPLD的对比:
1.2.1 单片机的学习效率较低
单片机为适应实时处理的快速要求,它是直接面对硬件的,属较低级的,大多数都使用汇编语言。

对每个厂家生产的单片机其汇编语言均不同。

所以,使用不同型号的单片机必须学会不同的汇编语言。

并且,编程还与硬件连接的方式有关。

而FPGA/CPLD 可使用标准硬件描述语言VHDL,只要学会一种语言,即可对所有型号的FPGA/CPLD编程。

同时,VHDL是一种行为描述语言,它可以不了解系统的硬件结构而编程,远离硬件,打破了软硬件之间的屏障,可做到几分钟设计出一个芯片,使学习和设计的效率大大提高。

1.2.2单片机本身的速度相对FPGA/CPLD来显得太慢
单片机是用指令排队形式来执行指令的,影响了速度的提高。

特别是用于高速采样系统,单片机往往无法胜任。

而FPGA/CPLD在实时处理时均为并行工作,速度快。

另外,单片机的各引脚功能均为确定,不象FPGA/CPLD那样可根据需要用软件改变各引脚的功能。

如需要的话,也可在FPGA/CPLD中设计出一个或多个CPU,达到控制的目的。

因此,FPGA/CPLD在EDA基础上的广泛应用,从某种意义上说,将是对单片机系统的一种背离。

高速发展的FPGA/CPLD不但包括了单片机的所有能力,并兼有串、并行工作方式和高速、高可靠性与宽口径适用性等多方面的特点。

目前我国FPGA/CPLD的应用虽还不平衡,但随着集成技术的飞跃发展;随着硬核FPGA、激光可编程门阵列(LPGA)等芯片的开发;软硬功能核库的建立,今后的电子系统设计,不分模拟还是数字电路,将总归于EDA。

人们只要有一台计算机、一套EDA软件和一片FPGA/CPLD芯片,就能在家完成大规模集成电路合适子系统的设计。

由此,EDA技术的高速发展,将为我们打开一个广阔的空间。

2硬件描述
2.1单片机
随着大规模集成电路的出现与其发展,将计算机的CPU 、RAM 、 ROM 、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。

2.1.1单片机的特点
1 、具有优异的性能价格比
2 、集成度高、体积小、可靠性高
3 、控制功能强
4 、低电压、低功耗
2.1.2单片机的应用
1 、在智能仪器仪表中的应用:在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。

2 、在机电一体化中的应用:机电一体化产品是指集机械、微电子技术、计算机技术于一本,具有智能化特征的电子产品。

3 、在实时过程控制中的应用:用单片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的质量。

4 、在人类生活中的应用:目前国外各种家用电器已普通采用单片机代替传统的控制电路。

5 、在其它方面的应用:单片机除以上各方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车与通信、计算机外部设备、模糊控制等各领域中。

2.1.3单片机的基本组成
它由 CPU 、存储器(包括 RAM 和 ROM )、 I/O 接口、定时 / 计数器、中断控
制功能等均集成在一块芯片上,片各功能通过部总线相互连接起来。

输入 / 输出引脚 P0 、 P1 、 P2 、 P3 的功能:P0.0~P0 。

7 : P0 口是一个 8 位漏极开路型双向 I/O 端口。

在访问片外存储器时,它分时作低 8 位地址和 8 位双向数据总线用。

在EPROM 编程时,由 P0 输入指令字节,而在验证程序时,则输出指令字节。

验证程序时,要求外接上拉电阻。

P0 能以吸收电流的方式驱动8个LSTTL 负载。

P1. 0 ~P1. 7 ( 1~8 脚): P1 是一上带部上拉电阻的 8 位双向 I/O 口。

在 EPROM 编程和验证程序时,由它输入低 8 位地址。

P1 能驱动 4 个 LSTTL 负载。

在 8032/8052 中, P1. 0 还相当于专用功能端 T2 ,即定时器的计数触发输入端; P1.
1 还相当于专用功能端T2EX ,即定时器 T
2 的外部控制端。

P2.0~P2.7 ( 21~28 脚):P2 也是一上带部上拉电阻的 8 位双向 I/O 口。

在访问外部存储器时,由它输出高 8 位地址。

在对 EPROM 编程和程序验证时,由它输入高 8 位地址。

P2 可以驱动 4 个LSTTL 负载。

P3. 0 ~P3. 7 ( 10~17 脚): P
3 也是一上带部上拉电阻的双向 I/O 口。

在 MCS-51 中,这 8 个引脚还用于专门的第二功能。

P3 能驱动
4 个 LSTTL 负载。

P3. 0 RXD (串行口输入)
P3. 1 TXD (串行口输出)
P3. 2 INT0 (外部中断 0 输入)
P3. 3 INT1 (外部中断 1 输入)
P3. 4 T0 (定时器 0 的外部输入)
P3. 5 T1 (定时器 1 的外部输入)
P3. 6 WR (片外数据存储器写选通)
P3. 7 RD (片外数据存储器读选通)
2.1.4MCS-51 的寻址方式
1 、立即寻址如: MOV A , #40H
2 、直接寻址如: MOV A , 3AH
3 、寄存器寻址如: MOV A , Rn
4 、寄存器间接寻址如: MOV A , Rn
5 、基址加变址寻址如: MOVC A , A+DPTR
6 、相对寻址如: SJMP 08H
7 、位寻址 MOV 20H , C
2.1.5指令
MOV :片 RAM 传送
MOVX :片外 RAM 传送
MOVC : ROM 传送
XCH :交换(和 A 交换)
SWAP : A 半字节交换
ADD :不带进位加
ADDC :带进位加
SUBB :带进位减
INC :加 1
DEC :减 1
MUL :乘法
DIV :除法
DAA :调整
2.1.6计数初值的计算
因为 MCS-51 的两个定时器均为加 1 计数器,当初到最大值( 00H 或 0000H )时产生溢出,将 TF 位置 1 ,可发出溢出中断,因此计数器初值 X 的计算式为: X=M- 计数值式中的 M 由操作模式确定,不同的操作模式计数器的长不一样,故M值也不一样。

而式中的计数值与定时器的工作方式有关。

模式 0 : M=2 13 =8192
模式 1 : M=2 16 =65536
模式 2 : M=2 8 =256
模式 3 : M=256 ,定时器 T0 分成 2 个独立的 8 位计数器,所以 TH0 、 TL0 的 M 均为 256 。

1 、计数工作方式时
计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。

其计数初值: X=M- 计数值
例如:某工序要求对外部脉冲信号计 100 次, X=M-100
2 、定时工作方式时
定时工作方式时,因为计数脉冲由部供给,是对机器周期进行计数,故计数脉冲频率为f cont =f osc × 1/12 、计数周期 T=1/f cont =12/f osc 定时工作方式的计数初值
X 等于:
X=M-计数值 =M-t/T=M-( f osc × t ) /12
式中: f osc 为振荡器的振荡频率, t 为要求定时的时间。

定时器有两种工作方式:即定时和计数工作方式。

由 TMOD 的 D6 位和 D2 位选择,其中 D6 位选择 T1 的工作方式, D2 位选择 T0 的工作方式。

=0 工作在定时方式, =1 工作在计数方式。

并有四种操作模式:
1 、模式 0 : 13 位计数器, TLi 只用低 5 位。

2 、模式 1 : 16 位计数器。

3 、模式 2 : 8 位自动重装计数器, THi 的值在计数中不变, TLi 溢出时, THi 中的值自动装入 TLi 中。

4 、模式 3 : T0 分成 2 个独立的 8 位计数器, T1 停止计数。

MCS-51 有 5 个中断源,可分为 2 个中断优先级,即高优先级和低优先级,中断自然优先级:
外部中断 0 ;定时器 0 中断;外部中断 1 ;定时器 1 中断;
串行口中断;定时器 2 中断
2.1.7中断响应条件
( 1 )同级或高优先级的中断正在进行中;
( 2 )现在的机器周期还不是执行指令的最后一上机器周期,即正在执行的指令还没完成前不响应任何中断;
( 3 )正在执行的是中断返回指令 RET1 或是访问专用寄存器 IE 或 IP 的指令,换而言之,在 RETI 或者读写 IE 或 IP 之后,不会马上响应中断请求,至少要在执行其它一要指令之扣才会响应。

CPU 响应中断的条件有:
( 1 )有中断源发出中断请求;
( 2 )中断总允许位 EA=1 ,即 CPU 开中断;
( 3 )申请中断的中断源的中断允许位为 1 ,即没有被屏蔽。

2.1.8串行口工作方式与帧格式
MCS-51 单片机串行口可以通过软件设置四种工作方式:
方式 0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同
步移位寄存器输出方式。

在这种方式下,数据从 RXD 端串行输出或输入,同步信号从TXD 端输出,波特率固定不变,为振荡率的 1/12 。

该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。

方式 1 :为8位uart工作方式,串行口为8位的异步通信接口,一信息为10位,即1位起始位(0),8位数据(低位在前)与1位停止位(1)。

Txd为发送端,rxd 为接收端,波特率可变。

方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余一样。

第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器 SCON 中的 SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。

方式 2 的波特率固定,只有两种选择,为振荡率的 1/64 或 1/32 ,可由 PCON 的最高位选择。

方式 3 :方式 3 与方式 2 完全类似,唯一的区别是方式 3 的小组特率是可变的。

而帧格式与方式 2- 样为 11 位一帧。

所以方式 3 也适合于多机通信。

随着大规模集成电路的出现与其发展,将计算机的CPU 、RAM 、 ROM 、定时/数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机。

2.2 FPGA/CPLD
2.2.1 CPLD/FPGA特点
尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA 结构上的差异,具有各自的特点:
CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。

换句话说,FPGA 更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。

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

③在编程上FPGA比CPLD具有更大的灵活性。

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

④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。

⑤CPLD比FPGA使用起来更方便。

CPLD的编程采用E2PROM或FASTFLASH技术,无需外
部存储器芯片,使用简单。

而FPGA的编程信息需存放在外部存储器上,使用方法复杂。

⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。

这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。

⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。

CPLD又可分为在编程器上编程和在系统编程两类。

FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。

其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。

⑧CPLD性好,FPGA性差。

⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。

随着复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。

许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。

现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。

CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。

因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。

CPLD 在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。

与FPGA相比,CPLD的I/O更多,尺寸更小。

如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。

CPLD可让设备做出相应的调整以支持多种协议,并随着标准和协议的演变而改变功能。

这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以着手进行硬件设计,然后再修改代码以满足最终标准的要求。

CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低于ASIC,更灵活,产品也可以更快入市。

CPLD可编程方案的优点如下:
●逻辑和存储器资源丰富(Cypress Delta39K200的RAM超过480 Kb)
●带冗余路由资源的灵活时序模型
●改变引脚输出很灵活
●可以装在系统上后重新编程
●I/O数目多
●具有可保证性能的集成存储器控制逻辑
●提供单片CPLD和可编程PHY方案
由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市
2.2.2 CPLD
CPLD是属于粗粒结构的可编程逻辑器件。

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

CPLD的路由是连接在一起的,而FPGA的路由是分割开的。

FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。

CPLD以群阵列(array of clusters)的形式排列,由水平和垂直路由通道连接起来。

这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD部的逻辑群连接起来。

CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。

CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。

CPLD的功能块
CPLD最基本的单元是宏单元。

一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)与其它有用特性。

因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。

这就是为何CPLD被认为是“逻辑丰富”型的。

宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。

宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。

每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。

每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。

前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。

CPLD有什么好处?
I/O数量多
CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。

时序模型简单
CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。

这种简单的时序模型主要应归功于CPLD的粗粒度特性。

CPLD可在给定的时间提供较宽的相等状态,而与路由无关。

这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。

粗粒CPLD结构的优点
CPLD是粗粒结构,这意味着进出器件的路径经过较少的开关,相应地延迟也小。

因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。

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

灵活的输出引脚
CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。

新的CPLD封装
CPLD有多种密度和封装类型,包括单芯片自引导方案。

自引导方案在单个封装集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。

在给定的封装尺寸,有更高的器件密度共享引脚输出。

这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。

CPLD的功耗
与同样密度的FPGA相比,CPLD的待机功耗更低。

CPLD FPGA (待机电流(在Vcc 为1.8V时))
50K 300μA 200mA
100K 600μA 200mA
200K 1.25mA 300mA
CPLD特别适合那些要求低功耗和低温度的电池供电应用,像手持设备。

许多设计人员都熟悉传统的PLD,并喜欢这种结构所固有的灵活性和易用性。

CPLD 为ASIC和FPGA设计人员提供了一种很好的替代方案,可让他们以更简单、方便易用的结构实现其设计。

CPLD现已达到数十万门的密度,并可提供当今通信设计所需的高性能。

大于50万门的设计仍需ASIC和FPGA,但对于小型设计,CPLD不失为一个高性价比的替代方案。

2.2.3 FPGA
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)
和部连线(Interconnect)三个部分。

FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX 系列等。

FPGA是由存放在片RAM中的程序来设置其工作状态的,因此,工作时需要对片的RAM 进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA 作为微处理器的外设,由微处理器对其编程。

细粒FPGA结构的优点
FPGA是细粒结构,这意味着每个单元间存在细粒延迟。

如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。

然而,随着设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。

CPLD的粗粒结构却能很好地适应这一设计布局的改变。

为什么CPLD和FPGA需要不同的逻辑设计技巧?
FPGA是细粒器件,其基本单元和路由结构都比CPLD的小。

FPGA是“寄存器丰富”型的(即其寄存器与逻辑门的比例高),而CPLD正好相反,它是“逻辑丰富”型的。

很多设计人员偏爱CPLD是因为它简单易用和高速的优点。

CPLD更适合逻辑密集型应用,如状态机和地址解码器逻辑等。

而FPGA则更适用于CPU和DSP等寄存器密集型设计。

相关文档
最新文档