首页 > 范文大全 > 正文

用CPLD进行设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇用CPLD进行设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:许多设计都需要少量的高速、瞬时可编程逻辑。这些设计推动了cpldL这个兴旺的市场。本文阐述了CPLD的定义、应用、设计方法以及选择CPLD时要考虑的各种因素。

关键词:CPLD;FPGA;ASIC;I/O扩展

CPLD是如何定义的?

有几个特性可定义器件是CPLD而不是FPGA。

大多数设计者同意CPLD器件必须有嵌入式非易失性存储器以提供加速的单片解决方案。此外点对点时序必须是快速的,需在5ns或更低的范围。还有其它的标准,通过考量实现CPLD的不同架构方法可以更好地理解这些标准。

传统上,通过许多宽(多输入)与(AND)项构成或(OR)功能来实现CPLD,这些与项通常称为乘积项(PT)。每个或功能和寄存器及寄存器组合相关,或门及其相关的PT通常称为宏单元。LatticeispMACH4000 CPLD采用的就是这种典型架构。这个特殊的架构提供了快速逻辑和简单的时序分析,此特性通常称为确定性。图1所示为基于PT的CPLD架构图。

在最近的几年,改进的硅处理技术和高级设计软件工具产生了新的基于查找表(LYT)的CPLD,如图2所示。基于LUT的器件能够提供速度和时序确定性,而在过去只有基于PT的架构具有这些特性。在基于LUT的器件中,典型的4输入LUT与寄存器组合在一起构成基本的逻辑单元。这种组合通常也称为LUT。这一架构的典型例子可以在LatticeMachXO中找到。

典型的CPLD应用

在大量应用中,CPLD器件可实现各种功能。可采用CPLD器件的4种最普通的应用如下:

复位逻辑

大多数系统有少量的逻辑,在接收到电源已准备好的信号之前保持各种数字器件处于复位状态。电源上电之后,这个逻辑用控制方式使各种器件不再处于复位状态。对此应用,上电后快速得到复位逻辑是很关键的。未能快速进行复位会导致系统不能正常工作、意外破坏数据并产生器件竞争。

FPGA与ASIC/ASSP配置

复位逻辑应用的扩展是FPGA和ASIC/ASSP的配置。在此应用中,系统启动之前必须配置一定的器件。典型的应用是数据必须从闪存载入FPGA或ASIC/ASSP器件中的特定寄存器。

电压变换

所有较新的CPLD系列器件均支持多种I/O标准。I/O的灵活性、小尺寸、高速和低成本使CPLD能较理想地为系统中不同的I/O接口提供电压。

I/O扩展

通常ASIC、微处理器或FPGA不能提供应用中所需数量的I/O。通过在CPLD和其它器件之间实现简单的串行总线,CPLD可用低成本的方法提供附加的、性能适中的I/O。

CPLD设计方法

用于CPLD的设计方法是多种多样的,这要取决于器件的架构,如图3所示。对基于PT的器件,设计者可选择简单的输入语言,如ABEL,或更复杂的语言VHDL和Verilog。有些设计者出于经验性或简单性的考虑,喜欢用ABEL进行基于PT的设计。然而VHDL和Verilog更流行,因为相对其它的架构和技术,它们更加灵活。为了使用宽与功能,且在时序方面有严格的控制,除去所选的特定语言,推荐用方程来描述逻辑。对于使用基于LUT架构的设计者,VHDL或Verilog专门用于新设计。有时候在设计的顶层用原理图编辑器提供图形视窗。

由于工艺方面的原因,设计方法方面的另一个差别是时序参数和布图规划的重要性。对于基于PT的架构,几乎不需要布图规划,因为连接器件的布线延时近似常数。只需要有限的时序参数,因为性能的确定主要是在实现功能的逻辑中。建立设计时,可以通过仔细地构建方程来控制。对基于LUT的器件,在布线延时方面有许多变化,且有多种变化方式来放置逻辑。在此情况下,参数和布图规划的使用成为非常重要的因素。

对于你的设计应该考虑哪些问题?

你的下一个设计需要瞬时上电的少量逻辑,需要选择最合适的部件。CPLD将承担这个任务,但应该是基于PT的器件还是基于LUT的器件?为了做出决定,要提出下面一些问题。

你需要多少逻辑? 作为经验法则,一个宏相当于两个LUT或25个ASIC门。对于128个宏单元或者近似3000个ASIC门以下的密度,目前没有基于LUT的CPLD。对大于128个宏单元的情况,基于LUT的方法通常每个逻辑单元的价格较便宜。

功能有多少?

通常基于PT的器件适合高速实现很宽范围的功能。例如用单一与项实现32位译码。基于LUT的方法可以较快地用于窄功能,但因为必须从多级LUT建立宽功能,因此会导致较慢的性能。

确定性时序有多重要?

有些设计需要紧凑的时序控制。例如,用来提供接口标准转换而无内部寄存器的器件也许需要在每一条路径上有很相近的延时。基于PT的架构很容易实现这些功能。作为备选方案,如果设计中全部是寄存器,而且你能熟练使用时序参数,那么可以采用基于LUT的器件。

在你的设计中寄存器对逻辑的比率是怎样的?

基于LUT的架构每个门的寄存器比基于PT的架构多两倍。如果设计要使用大量的寄存器,那么用基于L(JT的架构实现成本较低。

选择CPLD架构时,除了这些一般的考虑之外,还需要考虑特殊的封装、I/O标准、功耗和其它要求。